أكثر

كيف تحسب المربع المحيط لكائن جيوجسون باستخدام بايثون أو جافا سكريبت؟

كيف تحسب المربع المحيط لكائن جيوجسون باستخدام بايثون أو جافا سكريبت؟


لدي تطبيق django مع نشرة على الواجهة الأمامية وأحتاج إلى حساب bbox لكائن geojson حتى أتمكن من تمرير الإحداثيات إلىmap.fitBounds ()

لقد حاولت بعض libs وكذلك محاولةgetBoundsأساليب كائنات معينة في المنشور ، مثلFeatureGroupلكنها اشتكت من عدم تحديد الحدود.

هل يمكن لأي شخص أن يوجهني إلى حل بسيط لهذا؟


إذا كنت تريد حساب حدود طبقة GeoJSON ، فيمكنك القيام بما يلي:

var geojsonLayer = L.geoJson (your_data) .addTo (خريطة) ؛ map.fitBounds (geojsonLayer.getBounds ()) ،

مثال: http://jsfiddle.net/expedio/qgkbrjwt/

(يتم تكبير الخريطة إلى مدى الطبقة بعد تحميل الطبقة بالكامل).

إذا كنت تريد حساب حدود كل ميزة على حدة ، يمكنك القيام بما يلي:

var myGeoJSON = L.geoJson (البيانات ، {onEachFeature: function (feature، layer) {// تعيين حدود لميزة feature.properties.bounds_calculated = layer.getBounds () ؛}}). addTo (خريطة) ؛ // افعل ما تريد باستخدام // feature.properties.bounds_calculated

مثال: http://jsfiddle.net/expedio/fxxguv0v/

(تكبير لميزة الوظيفة في كل نافذة منبثقة)


استخدم geojson-bbox لحساب bbox لأي geojson

استعمال:

 var range = bbox (geojson) ؛ // المدى عبارة عن مصفوفة [يسار ، أسفل ، يمين ، أعلى]

توجد وحدة npm لـ geojson-bbox


شاهد الفيديو: تعلم البرمجة بلغة بايثون - Classes and Objects شرح الكلاس والاوبجكت - 21