ポリゴンとマルチポリゴンは右手のルールに従う必要があります


17

http://geojsonlint.com/エラーが表示されます

 Polygons and MultiPolygons should follow the right-hand rule

古いgeojsonファイルで問題なく過去3年間使用しました。今geojsonlintは、問題を修正する方法、右手のルールを実施します。

回答:


7

2016年8月現在 GeoJSONは正式なIETF仕様になっています。そして、いくつかの事柄が古い非公式の2008年仕様から変更されました。だからあなたのポリゴンが2016年スペックのために有効であるとしなければならない右手の傷も。

https://tools.ietf.org/html/rfc7946#section-3.1.6を参照してください

MUSTの使用は、仕様の絶対要件を示します。しかし、その後、他のワインディングを拒否しないという次の言語は奇妙であり、いくつかの議論に開かれています-おそらくパーサーは他のワインディングを受け入れて修正する必要があります。私は言葉を使用する(geojsonhintから)この何鉛geojsonlint考えるべきではなく、MUSTを彼らのフィードバックメッセージでを。

したがって、geojsonlint.comは、ページの最上部に2016仕様へのリンクを配置しているため、その位置に同意します。2016年の仕様では、ポリゴンが不良です。しかし、それでも2008年の非公式仕様では問題ありません。したがって、ポリゴンの巻き方を変更したくない場合は、使用するリンターまたはパーサーが古い2008仕様を尊重し、いつの日か突然新しい正式な仕様に移行しないようにする必要があります。

または、ポリゴンワインディングを変更することを検討してください。そうすると、仕様の両方に沿ったものになり、2008年の仕様が消えていくので、より良い位置に配置できます。

私にとって2016年の仕様の最大の変更点は、座標系のサポートがまったくなくなったことです。すべてのGeoJSONがNAD83にあり、すべてのGeoJSONがWGS84であるため、それを静かに削除する必要がありました。幸いなことに、Oracle Spatialから来た私にとって、すべてのポリゴンはすでに右巻きでした。


geojsonlintがワインディングテストをスキップするか、別の問題として報告するオプションを選択できれば、私にとっては良いことです。それは、仕様が何らかの形で同様に推奨していることです。
user30184


4

これを見つけ、それを修正するツールを探している人のために。GDALのogr2ogrは、「2008」仕様のGeoJSONを取り、「RFC7946」標準モードで書き出すことができます(ポリゴンは方向の右側の規則に従います)。

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

または、GeoJSONを文字列として入出力するスクリプトで使用する場合:

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



2

これは、Pythonを使用して非常に簡単に修正できますgeojson-rewind

from geojson_rewind import rewind

rewoundGeoJSON = rewind(geoJSONString)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.