sql >> データベース >  >> RDS >> PostgreSQL

PostGIS-マルチポリゴンをシングルポリゴンに変換します

    ST_DUMP を使用しました PostgreSQLのマルチポリゴンジオメトリのテーブルを、ポリゴンジオメトリとその他のデータ列を含む新しいテーブルに変換します。

    CREATE TABLE poly AS                       --poly will be the new polygon table
    WITH dump AS (
        SELECT id, test,                       --columns from your multipolygon table 
          (ST_DUMP(geometry)).geom AS geometry 
        FROM multi                             --the name of your multipolygon table
    ) 
    SELECT id, test, 
      geometry::geometry(Polygon,4326)         --type cast using SRID from multipolygon
    FROM dump;
    

    更新: このクエリを使用すると、これをはるかに簡単に実行できると思います。

    CREATE TABLE polygon_table AS 
        SELECT id, example_column, (ST_DUMP(geom)).geom::geometry(Polygon,4326) AS geom FROM multipolygon_table
    


    1. 15便利なMySQL/MariaDBパフォーマンスのチューニングと最適化のヒント

    2. サブクエリが1行だけを返すように強制するにはどうすればよいですか?

    3. 特定の値の組み合わせを見つける

    4. PostgreSQLでGROUP_CONCAT関数を定義できますか?