পাইথন বা জাভাস্ক্রিপ্ট ব্যবহার করে জিওজসন অবজেক্টের বাউন্ডিং বক্স কীভাবে গণনা করব?


14

আমার সম্মুখভাগে লিফলেট সহ জ্যাঙ্গো অ্যাপ্লিকেশন রয়েছে এবং আমার একটি জিওজসন অবজেক্টের ববক্স গণনা করা দরকার যাতে আমি স্থানাঙ্কগুলি পাস করতে পারি map.fitBounds()

আমি getBoundsলিফলেটে কিছু নির্দিষ্ট পদার্থের পদ্ধতি চেষ্টা করার পাশাপাশি কিছু লিবস চেষ্টা করেছি FeatureGroup, তবে এটি অভিযোগ করেছে যে সীমাটি সংজ্ঞায়িত হয়নি।

কেউ কি আমাকে এর একটি সহজ সমাধানের দিকে নির্দেশ করতে পারেন?


1
সাধারণত, বৈশিষ্ট্যগ্রুপে ডেটা থাকা পর্যন্ত মানচিত্র.ফিটবাউন্ডস (ফিচারগ্রুপনেম.জেটবাউন্ডস) এর কাজ করা উচিত। আপনি যখন সীমানা পাওয়ার চেষ্টা করছেন তখন কি দেখতে দেখতে ফিচারগ্রুপটি পরীক্ষা করেছেন?
নাথানস্নাইডার

উত্তর:


26

আপনি যদি কোনও জিওএসএন-লেয়ারের সীমানা গণনা করতে চান তবে আপনি এটি করতে পারেন:

var geojsonLayer = L.geoJson(your_data).addTo(map);
map.fitBounds(geojsonLayer.getBounds());

উদাহরণ: http://jsfiddle.net/expedio/qgkbrjwt/

(স্তর সম্পূর্ণরূপে লোড হওয়ার পরে মানচিত্রটি স্তর পর্যায়ে জুম করে)।

আপনি যদি প্রতিটি একক বৈশিষ্ট্যের সীমানা গণনা করতে চান তবে নিম্নলিখিতগুলি করতে পারেন:

var myGeoJSON = L.geoJson(data, {
    onEachFeature: function (feature, layer) {
        // assign bounds to feature
        feature.properties.bounds_calculated = layer.getBounds();
    }
}).addTo(map);

// do whatever you want with
// feature.properties.bounds_calculated

উদাহরণ: http://jsfiddle.net/expedio/fxxguv0v/

(প্রতিটি পপআপে ফিচার ফাংশনটি জুম করুন)



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