أكثر

OL3 GeoJSON مقابل العشب GeoJSON

OL3 GeoJSON مقابل العشب GeoJSON


أنا أستخدم OL3 وأحاول فحص ما إذا كان خطان يتقاطعان أو لا يستخدمان العشب. لقد استخدمت GeoJSON في OL3 وأدخلت الخطوط في التقاطع () في العشب ولكني أحصل على نوع GeoJSON غير معروف. هذا هو الكود الخاص بي:

lineStringdraw.on ('drawend'، function (e2) {var featureEnd = e2.feature؛ checkIntersection (featureEnd)؛})؛ function checkIntersection (currentFeature) {var features = vectorLayer.getSource (). getFeatures ()؛ var geoJSON = new ol.format.GeoJSON () ؛ geoJSON = geoJSON.writeFeature (currentFeature) ؛ لـ (i = 0؛ (features.length)> i؛ i ++) {var feature = features [i] ؛ geoJSON_i = geoJSON.writeFeature (ميزة) ؛ var intersectionStatus = turf.intersect (geoJSON ، geoJSON_i) ؛ $ ('# infoList'). append (intersectionStatus)؛ }}

هنا قطعة من OL3 GeoJSON:

{"النوع": "الميزة" ، "الهندسة": {"النوع": "LineString" ، "الإحداثيات": [[- 8236104.129670544،4977029.890789877] ، [- 8236634.411554272،4974407.145256842]]} ، "الخصائص": null}

هل يعرف أحد لماذا لا يعمل أو ما الذي أفتقده؟


يتبع العشب مواصفات GeoJSON. أحد جوانب هذه المواصفات هو أن الأشكال الهندسية يجب أن تستخدم إحداثيات WGS 84. يجب أن يبدو كل إحداثي كما يلي:[خط الطول ، خط العرض]. بيانات العينة غير صالحة WGS 84 lon / lat.

الحيلة التي أستخدمها مع مجموعات البيانات النموذجية هي نسخها ولصقها في http://geojson.io. إذا لم يتم عرض الميزة بشكل طبيعي (لا يتم عرضها مع بيانات العينة) ، فمن المحتمل أن تكون هناك مشكلة في البيانات.


تقاطع العشبيأخذ مضلعين ويجد تقاطعهما. (ليست سلاسل خطية) إذا كانا يتشاركان حدًا ، يتم إرجاع الحدود ؛ إذا لم تتقاطع ، يتم إرجاعها غير محددة. هنا تقاطع doc turf