【发布时间】:2014-03-06 19:55:02
【问题描述】:
在哪里可以找到ST_Overlaps等空间关系函数的源码?
【问题讨论】:
-
您是否首先努力寻找来源? (-1)
标签: postgresql geospatial postgis spatial spatial-query
在哪里可以找到ST_Overlaps等空间关系函数的源码?
【问题讨论】:
标签: postgresql geospatial postgis spatial spatial-query
PostGIS 的 git 镜像是 https://github.com/postgis/postgis 。主源在 svn 中。如果您在 Google 上搜索“postgis source”并找到the relevant page on the postgis site,您就会知道这一点。
ST_Overlaps 是declared in SQL as:
CREATE OR REPLACE FUNCTION ST_Overlaps(geom1 geometry, geom2 geometry)
RETURNS boolean
AS 'SELECT $1 && $2 AND _ST_Overlaps($1,$2)'
又指:
CREATE OR REPLACE FUNCTION _ST_Overlaps(geom1 geometry, geom2 geometry)
RETURNS boolean
AS 'MODULE_PATHNAME','overlaps'
LANGUAGE 'c' IMMUTABLE STRICT
COST 100;
所以 C 实现是一个名为 overlaps 的函数,即 defined in postgis/lwgeom_geos.c(与 ctags -R 一起构建源索引,然后是 vim -t overlaps,但您可以使用任何您喜欢的 C 搜索工具,或者只是grep)。
【讨论】: