أكثر

OL3 تحقق مما إذا كانت النقطة داخل مضلع


عندما أقوم بإضافة نقطة إلى خريطة الويب الخاصة بي ، أريد أن أعطيها حرفًا يمثل المنطقة التي توجد بها النقطة ، لذلك أحتاج إلى معرفة المنطقة التي توجد بها النقطة. في OpenLayers 2 قمت بذلك على النحو التالي:المناطق [i] .geometry.containsPoint (نقطة)---> يعود صحيحًا إذا حدث ذلك.

هل يوجد شيء من هذا القبيل في OL3؟

لقد بحثت في OL3 API ولكن لم أجدها.


يمكنك استخدامyourVectorLayer.getSource (). getFeaturesAtCoordinate (نقطة). والنتيجة هي مصفوفة ، إذا كان طولها> 0 تكون النقطة بداخلها ، وإلا فهي ليست كذلك.


لا يتم دعم هذا النوع من العمليات خارج الصندوق في ol3. (ربما في المستقبل).

لكن يمكنك استخدام مكتبة مثل http://turfjs.org ، في هذه الحالة ستحتاج https://github.com/Turfjs/turf-within أو https://github.com/Turfjs/turf-inside

يمكنك استخدام ol.format.GeoJSON للتحويل من هندسة ol3 و geojson للعشب والظهر.


أحدث إصدار حتى وقت الكتابة هو 3.16.0 ، يحتوي على واجهة برمجة التطبيقات:ol.extent.containsXY (مدى ، س ، ص)

اطلع على مزيد من المعلومات في أحدث مستندات API


شاهد الفيديو: المساحة الطبوغرافية. تصحيح المضلع المقفل Correction of Closed traverse.. محمد أشرف (شهر اكتوبر 2021).