বহুভুজ লেবেল প্রতিটি টাইল জন্য পুনরাবৃত্তি


10

আমি একটি দূরবর্তী জিও সার্ভার থেকে টাইল পরিবেশন করতে স্ট্যান্ডেলোন জিওওয়েব ক্যাশে ব্যবহার করছি। আমার সমস্যাটি হল যে বহুভুজ সেন্ট্রয়েডে একবারে পরিবর্তে প্রদত্ত প্রতিটি টাইলের সাথে বহুভুজ লেবেল যুক্ত করা হয়।

আমি একটি পোস্ট পেয়েছি যা এই সমস্যাটি নিয়ে আলোচনা করেছে:
http://osgeo-org.1560.n6.nabble.com/polygon-label-repated-for-each-tile-td4995203.html

প্রথম উত্তরে একটি সম্ভাব্য সমাধান উল্লেখ করা হয়েছে:

"সর্বোপরি, আমি জিওসার্ভারের থেকে ছোট চিত্রের অনুরোধ করার পরিবর্তে টাইল রেন্ডারিং ইঞ্জিন (জিওওবিচাচি, ম্যাপপ্রোক্সি, টাইলক্যাচি) ব্যবহার করার পরামর্শ দিচ্ছি এবং টাইলের রেন্ডারিং ইঞ্জিনটি টাইলটি পরে টুকরো টুকরো করে ফেলতে হবে। আপনার কাছে জিও সার্ভারকে কম অনুরোধ পাঠানো হবে ( একাধিক ছোট চিত্রের পরিবর্তে 1 টি বড় চিত্র), সুতরাং এটি সামগ্রিক টাইল ক্যাশে তৈরির গতি বাড়িয়ে তোলে। "

সমস্যাটি হ'ল আমি জিওওবিচ ক্যাচ ডকুমেন্টেশনগুলিকে উল্লেখ করে এটি কীভাবে করব তা খুঁজে পেলাম না এবং উপরে বর্ণিত পোস্টটি এটি বাস্তবায়নের উপায় ব্যাখ্যা করে না।

আমি একটি উত্তর সহ একটি পোস্টও পেয়েছি যা জিওউব ক্যাশে "টাইল্ড" ডকুমেন্টেশনের সাথে লিঙ্ক করে তবে আমার কোড অলরেডি সমস্ত প্রয়োজনীয় বৈশিষ্ট্য ব্যবহার করে এবং তারপরেও লেবেল একাধিকবার প্রদর্শিত হয়:

var Layer_1874 = new OpenLayers.Layer.WMS(
    'Grundkort',
    '/wms10.ashx'
    , {
        format: 'image/png',
        srs: 'EPSG:25832',
        layers: 'ballerupkommune_grundkort_bk',
        tiled: true,
        tilesOrigin: '698804,6173460'
    }
    , {
        displayInLayerSwitcher: true,
        isBaseLayer: true,
        transitionEffect: 'resize',
        displayOutsideMaxExtent: true,
        visibility: false
    }
);

কারও ধারণা আছে?


আপনি যে এসএলডি ফাইলটি ব্যবহার করছেন তা কি আমাদের দেখাতে পারেন? এটি নিয়ন্ত্রণ করে যে কীভাবে কোনও ডাব্লুএমএস স্তরতে লেবেল প্রদর্শিত হয়।
কাতাহদিন

উত্তর:


16

নীচে একটি এসএলডি বিধি একটি উদাহরণ যা বৈশিষ্ট্যের জ্যামিতির কেন্দ্রে একটি লেবেল রাখে। এটি লেগটি রাখার জন্য "সেন্ট্রয়েড" নামে ফাংশন ব্যবহার করে। আপনি GeoServer মধ্যে sld ফাংশন সম্বন্ধে আরও পড়তে পারেন ডক্স , এবং কিছু উদাহরণ দেওয়া হয় এখানে

<sld:Rule>
      <MaxScaleDenominator>5000</MaxScaleDenominator>
      <sld:TextSymbolizer>
        <sld:Geometry>
          <ogc:Function name="centroid">
            <ogc:PropertyName>the_geom</ogc:PropertyName>
          </ogc:Function>
        </sld:Geometry>
        <sld:Label>
          <ogc:PropertyName>LOT_NAME</ogc:PropertyName>
        </sld:Label>
        <sld:Font>
          <sld:CssParameter name="font-family">Arial</sld:CssParameter>
          <sld:CssParameter name="font-size">11</sld:CssParameter>
          <sld:CssParameter name="font-style">normal</sld:CssParameter>
          <sld:CssParameter name="font-weight">bold</sld:CssParameter>
        </sld:Font>
        <sld:LabelPlacement>
          <sld:PointPlacement>
            <sld:AnchorPoint>
              <sld:AnchorPointX>
                <ogc:Literal>0.0</ogc:Literal>
              </sld:AnchorPointX>
              <sld:AnchorPointY>
                <ogc:Literal>0.5</ogc:Literal>
              </sld:AnchorPointY>
            </sld:AnchorPoint>
            <sld:Rotation>
              <ogc:Literal>0</ogc:Literal>
            </sld:Rotation>
          </sld:PointPlacement>
        </sld:LabelPlacement>
        <sld:Halo>
          <sld:Radius>
            <ogc:Literal>1.0</ogc:Literal>
          </sld:Radius>
          <sld:Fill>
            <sld:CssParameter name="fill">#FFFFFF</sld:CssParameter>
          </sld:Fill>
        </sld:Halo>
        <sld:VendorOption name="conflictResolution">true</sld:VendorOption>
        <sld:VendorOption name="goodnessOfFit">0</sld:VendorOption>
        <sld:VendorOption name="autoWrap">60</sld:VendorOption>
      </sld:TextSymbolizer>
    </sld:Rule>

এছাড়াও, এসএলডি কুকবুক একটি দুর্দান্ত রেফারেন্স। একটি জিনিস যা আপনাকে ট্রিপ করতে পারে তা হ'ল এসএলডি-তে ট্যাগ অর্ডার করা। উপরের টেক্সটসাইম্বোলাইজার নিয়মের জন্য আপনি স্কিমা সংজ্ঞাটি দেখে প্রয়োজনীয় ক্রম দেখতে পারেন। চিন্তা করবেন না, এটা খুব ভীতিজনক নয়! কেবলমাত্র .xsd ফাইলে "টেক্সটসিম্বোলাইজার" অনুসন্ধান করুন, আপনার সহজেই "সিকোয়েন্স" ট্যাগটি খুঁজে পাওয়া উচিত। সেখানে আপনি দেখতে পাবেন যে উপাদানটির উল্লেখগুলি আমার উদাহরণে ক্রমের সাথে মেলে। (দ্রষ্টব্য: আমি পাঠ্য প্রতীকীকরণের "ভরাট" বৈশিষ্ট্যটি ব্যবহার করি নি, আমার ফিলটি কেবলমাত্র হলোর ক্ষেত্রে প্রযোজ্য))


1

সংঘর্ষের রেজোলিউশনের সাথে লেবেলগুলির কম্পিউটিংয়ের জন্য (লেবেলগুলি সরানো বা নিম্ন অগ্রাধিকারগুলি সরিয়ে ফেলুন যাতে তারা ওভারল্যাপ না করে) আপনার আঁকা লেবেলের সাথে সংঘর্ষিত হতে পারে এমন প্রতিটি লেবেল, তাদের সাথে সংঘর্ষিত হতে পারে এমন প্রতিটি লেবেল সম্পর্কে জানতে হবে and । সুতরাং, সাধারণভাবে, আপনাকে প্রতিটি বৈশিষ্ট্যটি একবারে একবারে সমস্ত লেবেলগুলি গণনা করতে হবে বা প্রতিটি ব্লকের মধ্যে গণনা করা লেবেলগুলি সহ মানচিত্রটি ব্লকগুলিতে বিভক্ত করতে হবে।

ডিফল্টরূপে, জিওওয়েব ক্যাশে 4x4 টি টাইলস ব্যবহার করে যা "মেটাটাইল" বলে। আপনি যখন টাইলটি অনুরোধ করছেন যা ক্যাশে নেই, GWC ব্যাকএন্ড থেকে পুরো মেটাটিইলকে একটি বড় চিত্র হিসাবে অনুরোধ করবে এবং তারপরে এটি মেটাটাইলটিকে টাইলগুলিতে টুকরো টুকরো করবে। স্তর স্থাপনের সময় আপনি মেটাটাইল ফ্যাক্টরটি সামঞ্জস্য করতে পারেন। আরও বড় মেটাটিলেলগুলি আরও ভাল লেবেল দেয়, তবে ক্যাশে মিসের বিলম্ব বাড়ায়। যদি আপনি পিছনের প্রান্তে লেবেল সংঘর্ষের রেজোলিউশন ব্যবহার না করে থাকেন তবে আপনি মেটাটিয়ালিংটি 1x1 এ সেট করতে পারেন।

আপনি জিডাব্লুসিটিকে মেটাটাইলের চারপাশে একটি জলের যোগ করতে বলতে পারেন যা অতিরিক্ত জায়গা যা কেটে যাবে। এটির পক্ষে ঝুঁকিপূর্ণ যদি আপনার লেবেলের সংঘর্ষের রেজোলিউশন থাকে কারণ লেবেলটি আলাদাভাবে অবস্থান করতে পারে বা এমনকি পুরোপুরি मेटाটাইল সীমানার অন্যদিকে সরিয়ে দেওয়া যেতে পারে। আপনার যদি এমন লেবেল থাকে যা পুরোপুরি স্থিতিতে স্থির থাকে এবং সংঘর্ষ এড়াতে কখনই চাপ না পান তবে আপনি লেবেলগুলি টাইলের সীমানা অতিক্রম করার জন্য একটি প্রশস্ত জলের ব্যবহার করতে পারেন। এটির পারফরম্যান্স ব্যয় হবে কারণ জিও সার্ভারকে আরও বড় টাইল সরবরাহ করতে হবে।

আপনি স্তর কনফিগারেশনের টালি স্তর ট্যাবে মেটাটেলিং এবং গটার সেট করতে পারেন, বা নতুন স্তরগুলির জন্য ব্যবহৃত ডিফল্টটি ক্যাচিং ডিফল্ট পৃষ্ঠাতে সেট করা যেতে পারে।

বিরোধ নিষ্পত্তি নিষ্ক্রিয় করতে, আপনি conflictResolutionআপনার শৈলীতে বিক্রেতা বিকল্পটি ব্যবহার করতে পারেন ।

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