2

在 GIS 方面,我几乎是一个初学者,但我想我了解基础知识——这似乎并不难。但是:所有这些首字母缩略词和不同的库,GEOS、GDAL、PROJ、PCL、Shaply、OpenGEO、OGR、OGC、OWS 等等,每一个似乎都依赖于任何数量的其他库,这让我有点不知所措。

这就是我想做的事情:给定一些点和一个线串,我想确定最接近某个点的线上的位置。换句话说,PostGIS 的 line_locate_point() 做了什么:

http://postgis.refractions.net/documentation/manual-1.3/ch06.html#line_locate_point

除了我想使用纯 Python。为了在 Python 中进行这些类型的空间计算,我应该看一下哪个或哪些库,是否有一个专门支持 line_locate_point() 等效项?

4

4 回答 4

2

为后代:

http://bitbucket.org/miracle2k/pyutils/changeset/156c60ec88f8/

于 2009-08-19T09:48:34.713 回答
2

在另一个论坛中,我建议使用Shapely在 Python 中重新实现(简单)PostGIS 算法。

于 2009-08-19T12:44:57.820 回答
2

对于后代,这些功能在 Shapely 1.2 中可用

于 2010-06-05T11:54:04.857 回答
0

您只需要 Shapely,如果您有用于点和线串的 shapefile,则 for 循环中的 line.distance(point) 就可以解决问题。有了它,您可以找到离线最近的点,反之亦然。确保检查 GDAL、Fiona、Shapely 以完成此操作。

于 2019-09-03T12:21:41.670 回答