জিওসিভারে এসএলডি ফাইলে সহজ গণিত ব্যবহার করছেন?


11

জিওসিভারে কোনও এসএলডি ফাইলে সাধারণ ম্যাথ ব্যবহার করা সম্ভব? ধরুন আমি কোনও ডাটাবেস থেকে একটি পাঠ্য আকারের সম্পত্তিটি পড়তে এবং এর মানটি বাড়িয়ে দিতে চাই, আমি কীভাবে এটি করতে পারি?

<sld:TextSymbolizer>
    ...
    <sld:CssParameter name="font-size">
        <ogc:PropertyName>text_size</ogc:PropertyName> * 2.1
    </sld:CssParameter>
    ...
</sld:TextSymbolizer>

এই সহজ পদ্ধতির স্পষ্টতই কাজ করে না, তাই আমি ভেবেছিলাম এটি অর্জনের কিছু উপায় থাকতে হবে।

উত্তর:


12

আপনি গণিত ফাংশনগুলি ব্যবহার করতে পারেন ওজি: মুল ওগ: ডিভ ওজিসি: যোগ করুন ও ওসিসি: বৈশিষ্ট্যে সাধারণ গণিত করার জন্য সাব।

সুতরাং আপনার উদাহরণ হয়ে উঠবে:

<sld:CssParameter name="font-size">
    <ogc:Mul>
       <ogc:PropertyName>text_size</ogc:PropertyName>
       <ogc:Literal>2.5</ogc:Literal>
    </ogc:Mul>
</sld:CssParameter>

একমাত্র সমস্যা হ'ল প্রযুক্তিগতভাবে এসএলডি স্পেসিফিকেশন আপনাকে কোনও সিএসপ্যারামিটারে কোনও ফাংশন ব্যবহার করতে দেয় না। তবে জিও সার্ভার অনেক বেশি ক্ষমাশীল এবং এটি এর অনুমতি দেবে।

আপনার যদি আরও জটিল ফাংশন প্রয়োজন হয় তবে রেফারেন্স পৃষ্ঠাটি দেখুন



আমি খুঁজে পেয়েছি যে <ogc:Mult>আমার জন্য কাজ করে না, কিন্তু <ogc:Mul>করে।
সাইমন ও'কিফ

1

যতদূর আমি জানি জিও সার্ভার এসএলডি এমবেড করা কোনও গণিত করতে পারে না।
তবে আপনি এসএলডিতে একটি বিধি তৈরি করতে পারেন <ogc:PropertyName>text_size</ogc:PropertyName>যা একটি ফিল্টার সহ পড়তে পারে এবং আপনার নিজের পাঠ্য আকারকে সংজ্ঞায়িত করতে পারে। GeoServer sld Cookbook কিছু আছে উদাহরণ ব্যবহারের
<ogc:Filter>


মনে হচ্ছে এটি এখন কাজ করছে। অনুগ্রহ করে 2.12.1 এবং তার বেশি সংস্করণগুলি দেখুন।
ragnvald
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.