我有两个包含两个多边形实际坐标的csv文件。我需要将csv文件的内容复制到名为'sample'的PostGIS表中。我需要找到两个多边形和相交区域的交集。 enter image description here将csv文件复制到PostGIS表中
我是PostGIS中的新成员。请帮帮我。
我有两个包含两个多边形实际坐标的csv文件。我需要将csv文件的内容复制到名为'sample'的PostGIS表中。我需要找到两个多边形和相交区域的交集。 enter image description here将csv文件复制到PostGIS表中
我是PostGIS中的新成员。请帮帮我。
假设WGS84:
第一创建表
create table sample (lat float, lon float);
然后将CSV到表(可能需要用定界符一些调整)。
copy sample from 'path_to_csv' delimiter ';' csv;
然后纬度经度转换为点(因此假设WGS84,SRID 4326):
alter table sample add column geom geometry(point, 4326)
using st_setsrid(st_makepoint(lon, lat),4326);
然后通过首先创建线串,则多边形创建从点表中的多边形。确保线串已关闭,这意味着第一个点必须等于最后一个点!
select st_makepolygon(st_makeline(geom)) geom
into polygon1
from sample;
为了让两个多边形的交集区域:
select filename, st_makepolygon(st_makeline(geom)) geom
into polygons
from sample
group by filename;
select st_area(st_intersection(a.geom,b.geom))
from polygons a, polygons b
where a.filename == 'part1' and b.filename == 'part2'
是一个很广泛的话题......你什么都已经尝试过?你读过这个了吗? https://www.postgresql.org/docs/9.6/static/sql-copy.html –