【问题标题】:Where Can I Find the Source Code of Spatial Relationships Functions?在哪里可以找到空间关系函数的源代码?
【发布时间】:2014-03-06 19:55:02
【问题描述】:

在哪里可以找到ST_Overlaps等空间关系函数的源码?

【问题讨论】:

标签: postgresql geospatial postgis spatial spatial-query


【解决方案1】:

PostGIS 的 git 镜像是 https://github.com/postgis/postgis 。主源在 svn 中。如果您在 Google 上搜索“postgis source”并找到the relevant page on the postgis site,您就会知道这一点。

ST_Overlapsdeclared 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)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-23
    相关资源
    最近更新 更多