postgisでSRID 27700を使用する次のレイヤーがあります。
それは英国のすべての行政区域であり、(色のグループからわかるように)それぞれには、彼らが属する郡を指定するテキストフィールドがあります。
私がやりたいのは、特定の郡の小さなポリゴンから大きな郡ポリゴンを作成することです。したがって、上の図のすべてのティールカラーポリゴンは、その中のすべてのポリゴンを含む単一の外側リングから1つの大きなポリゴンを形成します賢明なように、すべての紫、茶色、ピンク、灰色などの色はすべて1つの多角形を形成するはずです。
私はすでに次のことを試しました:
insert into parishesmerged (geometry)
select astext(multi(ST_Union(the_geom))) as the_geom from parishes
group by county_name
しかし、壊れたジオメトリが生成され続けるため、さらに処理する際に大きな問題が発生します。
主要な出力エリアを含む、より単純な郡レベルのマップを作成しようとしています。
いずれのソリューションもPostgisにある必要はありません。OS4Geoのフルスタックがインストールされており、QGisの最新バージョンと、棒を振るよりも多くのユーティリティがあります。
私が持っていないのは、ArcGisのような大きな男の子だけです(ただし、古いMapinfoがどこかにあるかもしれません)
記録のために、私が作成しようとしているデータセットは、.NETを使用してGISアプリケーションを記述したい.NETプログラマーを対象とした、執筆中のGISブックに付属しています。
以下の提案を試した後、最も効果があったのは「ポールラムジー」ソリューションでした。
これで、私の本にとっては十分に単純ですが、興味深い地理空間SQLを示すことができるほど複雑な、素敵な簡略化された郡と自治区のファイルができました。
ポールのソリューションは最終的には私にとっては有効なソリューションでしたが、ポリゴンマップの簡素化や複雑さの軽減など、他の回答も参考にしました。
しかし、これを行っている間に私が観察したことで、ST_Collectは実際にはST_Unionより高速ですが、実行のために実行することは、ジオメトリの破損の主な原因でもありました。私の推測では、コア関数の精度は低下しますが、速度の向上は得られます。
astext(multi())
部品なしでselectステートメントを試しましたか?他のPostGISディゾルブの例で見たものから外れています。