Çokgenler ve Çok Poligonlar sağ el kuralına uymalıdır


17

http://geojsonlint.com/ Hata alıyorum

 Polygons and MultiPolygons should follow the right-hand rule

Eski geojson dosyamda herhangi bir sorun olmadan son 3 yıldır kullandım. Şimdi geojsonlint sağ el kuralı, sorunun nasıl çözüleceğini uygular.

Yanıtlar:


7

Ağustos 2016 itibariyle GeoJSON artık resmi bir IETF spesifikasyonu . Ve bazı şeyler eski gayri resmi 2008 spesifikasyonundan değişti . 2016 spec çokgenler için çok geçerli olması GEREKİR sağ yara olacak.

Görmek Https://tools.ietf.org/html/rfc7946#section-3.1.6

ZORUNUN kullanımı şartnamenin mutlak bir gerekliliğini gösterir. Bununla birlikte, diğer sargıları reddetmemeyle ilgili sonraki dil gariptir ve bazı argümanlara açıktır - belki de ayrıştırıcılar diğer sargıları kabul etmeli ve düzeltmelidir. Ben geojsonlint (geojsonhint) kelimesini kullanmak için neden bu düşünüyorum gerekir yerine ZORUNLU onların geribildirim mesajında.

Bu yüzden katılıyorum , geojsonlint.com'un , sayfalarının en üstüne 2016 spesifikasyonunun bağlantısını yerleştirdikleri için . Çokgenleriniz 2016 spesifikasyonuna göre kötü. Ama yine de gayri resmi 2008 şartnamesine göre gayet iyi. Bu nedenle, çokgenlerinizin sargısını değiştirmek istemiyorsanız, eski 2008 spesifikasyonunu onurlandırdığınız ve bir gün yeni resmi spesifikasyona aniden geçmediğinden emin olmanız gerekir.

Ya da belki de çokgen sargınızı değiştirmeyi düşünmelisiniz, çünkü 2008 spesifikasyonları ortadan kalktıkça sizi hem spesifikasyonlara uygun hale getirecek hem de gelecek için daha iyi konumlandıracaktır.

Bana göre, 2016 spesifikasyonundaki en büyük değişiklik, koordinat sistemleri desteğinin tamamen düşmesi oldu. Ben tüm GeoJSON NAD83 vardı ve sonra şimdi tüm GeoJSON WGS84 olduğu gibi sessizce kaldırmak zorunda kaldı. Neyse ki Oracle Spatial'dan gelen tüm çokgenlerim zaten sağdan yaralandı.


Benim için geojsonlint'in sarım testini geçme veya ayrı bir sorun olarak bildirme seçeneği olsaydı iyi olurdu. Şartname bir şekilde de tavsiye edilen budur.
user30184

5

benim eski geojson google harita, broşür, openlayer, mapbox, bing harita, vb ile çalışır ancak geojsonlint.com doğrulamak başarısız oldu .

Doğrulamak için başka bir web sitesi kullanmam gerekiyor: http://geojson.io


4

Bunu bulup düzeltmek için bir araç arayan herkes için. GDAL ogr2ogr "2008" spec GeoJSON alabilir ve "RFC7946" standart modda (yönlendirme için sağ el kuralını takip eden çokgenler ile) yazabilir.

ogr2ogr -f GeoJSON -lco RFC7946=YES output.json input.json

veya GeoJSON'u bir dize olarak girmek ve çıkarmak istediğiniz komut dosyalarında kullanmak için:

echo 'Your GeoJSON' | ogr2ogr -f GeoJSON -lco RFC7946=YES /vsistdout/ /vsistdin/



2

Bu Python ile kolayca düzeltilebilir geojson-rewind.

from geojson_rewind import rewind

rewoundGeoJSON = rewind(geoJSONString)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.