微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将PostGIS与现有的具有十进制坐标的数据表一起使用

我有一个CSV格式的数据文件,它具有这样的一些数据:field id | 数据瓦片| 数据描述| 经度| 纬度

我已经安装了Postgresql和PostGIS,我希望使用PostGIS来创build一个查询,它将调出位于纬度/经度位置指定距离内的所有logging(来自上表)。

问题是我不知道如何开始。 我只是在Postgresql数据库中导入我的CSV文件,并且一旦将CSV文件转换成Postgresql表后,就开始使用Postgresql和PostGIS函数

是否有任何额外的步骤使表格与PostGISfunction一起工作?

如何用Python中的cmd.exe打开一个程序?

在Windows上使用osm2pgsql default.style文件

Nginx conf两个gunicorn应用程序(Django和Tilestache)

使用来自C#/。NET的GDAL的“No disk”错误

如何从batch file加载命令?

这将是什么正确的步骤呢? 我真的很感谢你的帮助!

为了使用PostGIS,您需要将这些脚本导入到您的工作数据库中。

完成此步骤后,设置您的表格并向其添加PostGIS列

SELECT AddGeometryColumn('yourtable','columnname',4269,'POINT',2 );

最后3个值是SRID,类型和维度。 我只是假设这是你想要的。 你可能需要调整SRID,但这应该没问题。

你可以设置你的导入/更新/无论你选择添加几何像

ST_Transform(ST_PointFromText('POINT(-85.45899 32.1337)',4326));

这个查询可以被写入你的UPDATE或INSERT脚本中。

我只需要解决相同的任务,并做了一些类似于DrColossos的解决方案…你现在可能已经完成了,但我只是想补充一点,以防有人用这个问题(像我这样做):没有必要要编写一个脚本来从lat / lon字段生成一个几何,你可以使用一个简单的连接字符串:

UPDATE mytable SET the_geom = ST_PointFromText('POINT(' || x ||' '|| y ||')',4326)

这是一个有趣的问题:-)

你知道经纬度坐标系吗?

我问这个问题,因为它与你如何存储数据有关。

除了包含一个POINT类型的PostGIS几何对象的CSV文件之外,您还需要创建一个列。

然后,我将CSV数据导入到表中的标准列中,然后运行sql更新以从每个记录构建POINT数据并将其存储在创建的几何列中。

在这一点上,您应该可以使用PostGIS函数访问和预测对数据的查询

这就是我上面所说的所有类型的元素,因为关于所使用的数据有复杂性。 您将需要知道最初与数据一起使用的空间参考系统。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐