আমি লক্ষ্য করেছি যে আপনি ইতিমধ্যে একটি সমাধান খুঁজে পেয়েছেন যা আপনার জন্য কার্যকর, তবে আমি ভেবেছিলাম যে আমি বা অতিরিক্ত কিছু বিকল্প যুক্ত করতে পারি যা আপনি বা অন্যরা দরকারী বলে মনে করতে পারেন।
জিও সার্ভারে ভার্চুয়াল ওডব্লিউএস পরিষেবাদি হিসাবে পরিচিত একটি ক্ষমতা রয়েছে । ডাব্লুএমএস, ডাব্লুএফএস এবং ডাব্লুসিএস পরিষেবাদি সম্মিলিতভাবে ওডাব্লুএস পরিষেবা হিসাবে পরিচিত। আপনি যখন এই পরিষেবাদিগুলির একটিতে একটি অনুরোধ করেন যখন আপনি একটি বিশ্বব্যাপী অনুরোধ করছেন, সুতরাং সমস্ত নিবন্ধিত স্তরগুলি সক্ষমতার নথিতে ফিরে আসবে (যদি না আপনার কাছে ডেটা সুরক্ষা সেটিংস থাকে)। বিপরীতে, একটি ভার্চুয়াল পরিষেবা বিশ্বব্যাপী পরিষেবার একটি ফিল্টার করা ভিউ। ফিল্টারিংটি ওয়ার্কস্পেসে করা হয় এবং কিছুটা আলাদা ইউআরএল দিয়ে অ্যাক্সেস করা হয়।
একটি উদাহরণ নিতে দিন। মনে করুন আপনার কাছে মাইউজ নামে একটি কর্মক্ষেত্র রয়েছে এবং এটিই এই ওয়ার্কস্পেসটি যার জন্য আপনি স্তরগুলির তালিকা করতে চান। সেক্ষেত্রে আপনি url এ একটি অনুরোধ করতে পারেন:
http://www.yourgeoserver.com/geoserver/myws/ows?SERVICE=WFS&REQUEST=GetCapabilities
ফিরে আসা দক্ষতার নথিটি কেবল মিউজ ওয়ার্কস্পেসের বিপরীতে নিবন্ধিত স্তরগুলিকেই তালিকাভুক্ত করবে ।
এটি একটি পন্থা, তবে আপনি জাভাস্ক্রিপ্টের মাধ্যমে স্তর তালিকাটি অ্যাক্সেস করার বিষয়ে প্রাথমিকভাবে জিজ্ঞাসা করেছিলেন। সুখের বিষয় হল জিও সার্ভার REST এপিআই ব্যবহার করে এটি করার একটি উপায় রয়েছে। আপনি প্রদত্ত ওয়ার্কস্পেস এবং ডেটাস্টোরের জন্য এমন কিছু ব্যবহার করে বৈশিষ্ট্যগুলির একটি তালিকা পেতে পারেন:
http://www.yourgeoserver.com/geoserver/rest/workspaces/myws/featuretypes.json
এই আপনি একটি JSON বস্তু সব তালিকা ফিরে আসবে featuretypes কর্মক্ষেত্র মধ্যে, এছাড়াও আপনি .xml জন্য .json প্রতিস্থাপন বা সেইসব বিন্যাসে প্রতিক্রিয়া পেতে .html পারবেন না। সুতরাং, ওপেনলায়ার্সে এটি কীভাবে করবেন? ভাগ্যক্রমে ওপেনলায়ার্স বস্তুর আকারে এক্সএমএলএইচটিপিআরকোয়েস্ট অবজেক্টের একটি এনক্যাপসুলেশন সরবরাহ করে OpenLayers.Request
। উপরের আরএসটি ইউআরএলটি ব্যবহার করার একটি সাধারণ উদাহরণ হ'ল:
var request = OpenLayers.Request.GET({
url: "http://www.yourgeoserver.com/geoserver/rest/workspaces/myws/featuretypes.json",
callback: function(request) {
// Code here to handle the response, the request object contains the data
}
});
ওপেনলায়ার্স সহ এখানে দূরবর্তী ডেটা অনুরোধ করার জন্য একটি ভাল নথি রয়েছে ।
আশা করি এটি আপনাকে বিবেচনা করার জন্য কিছু অন্যান্য পদ্ধতির সুযোগ দেয়।