ESRIファイルジオデータベースからPostGISにデータをインポートするときのジオメトリエラー


8

次のコマンドを実行して、ESRI fgdbからpostgisにデータをインポートすると...

ogr2ogr -f "PostgreSQL" -a_srs "EPSG:28355" -t_srs "EPSG:3857" PG:"dbname=tp_test user=postgres port=54321 password=xxxxxxx host=localhost" -overwrite P:\2012\183_TownPlanning_Symbology\Working\QueryLayer\TP_Query_Final_28355.gdb

...私は...!

警告1:OrganizePolygons()が予期しないジオメトリを受け取りました。内部リングを持つポリゴン、または4ポイント未満のポリゴン、または非ポリゴンジオメトリのいずれか。引数をコレクションとして返します。警告1:ポリゴンのジオメトリはシンプルジオメトリに変換できません。すべてのポリゴンはマルチポリゴンに含まれます。

ESRIでジオメトリを確認したところ、エラーは報告されていません。これで問題が解決するかどうかを確認するために、マルチパートからシングルパートを実行していますが、これにより、アークマップ10.1がクラッシュし、ディゾルブが発生します。問題なくソートが実行され、データセットを開くことができます。

以前にデータセットを正常にインポートしましたが、ESRI Diceツールを実行して大きなポリゴンを15,000以下の頂点に分割し、処理を高速化する必要がありました。 ここに画像の説明を入力してください

私はpostgisが初めてです。

新しいgdbの問題を修正する方法、またはpostgis自体でポリゴンを分割する方法はありますか?

回答:


2

データが既にPostGISにある場合は、次を実行してみてください。

select * from table where ST_NPoints(the_geom) < 4

これにより、警告の原因となったすべての行が返されます。つまり、PostGISでデータエラーを追跡するのに役立ちます。


Diceを実行する前のpostgisにのみデータセットがあります。既存のpostgisデータセットを使用する場合、Diceと同様のツールを使用して、各ポリゴンを15,000未満の頂点に分割します。
GeorgeC

エラーがrunnis isValid()とST_NPoints()によってそのデータからデータに送られている場合に試すことができます
simplexio
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.