【发布时间】:2017-02-17 23:16:12
【问题描述】:
我正在使用 PostGIS 使用 Postgres 9.6。我有一个非常大的表(大约 30GB):
Table "public.parcels"
Column | Type | Modifiers
--------------+-------------------------+------------------------------------------------------------------
ogc_fid | integer | not null default nextval('parcels_ogc_fid_seq'::regclass)
wkb_geometry | geometry(Polygon,4326) |
county | character varying |
我想创建一个新表,其中每个县包含一个多边形,该多边形是该县多边形的并集。我已将我的新表定义如下:
gid | integer | not null default nextval('newtable_gid_seq'::regclass)
the_geom | geometry(Polygon,4326) |
我知道如何一次将一个县从第一个表插入到第二个表中:
INSERT INTO by_county(the_geom) values
((SELECT ST_Union(wkb_geometry) FROM parcels where county='Warwick'));
但是我怎样才能以编程方式为所有县执行此操作?我目前的方法是使用 psycopg2 编写一个 Python 脚本,该脚本首先检索DISTINCT 县名,然后为每个县手动运行上述命令:但我想知道是否有更少手动的方法。
如前所述,这是一个大型数据集,我正在使用具有 16GB RAM 的机器。所以我的一次一个命令的方法可能是最好的吗?
【问题讨论】:
标签: postgresql postgis