GraphDB GeoSPARQL 投影支持



我在将具有非默认投影的数据加载到 GraphDB 时遇到了一些问题。

使用文档网站中的示例文件,但将投影从 CRS84 更改为 CRS83,导致在运行示例 2(也来自网站(时找不到交集。GraphDB 是否支持加载具有不同投影的数据?如果是这样,我是否需要做一些额外的事情才能使其正常工作?

如果我将投影保留为 CRS84,则一切按预期工作。

这是我尝试执行的查询:

PREFIX my: <http://example.org/ApplicationSchema#>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
SELECT ?f
WHERE {
    ?f my:hasPointGeometry ?fGeom .
    ?fGeom geo:asWKT ?fWKT .
    FILTER (geof:sfWithin(?fWKT, '''
        <http://www.opengis.net/def/crs/OGC/1.3/CRS83>
        Polygon ((-83.4 34.0, -83.1 34.0, -83.1 34.2, -83.4 34.2, -83.4 34.0))
        '''^^geo:wktLiteral))
}

首先,作为一名地理学家,"将投影从CRS84更改为CRS83"可能是灾难性的。如果只是将字符"4"更改为"3",则数据现在已损坏。(也许我误解了"改变"对你意味着什么(。

从CRS到另一个CRS的转换是一个涉及重新投影的数学过程。不能通过简单地更改CRS的名称来完成。

以下是了解两个坐标系之间许多差异的链接:

最后,geof函数需要在同一CRS中表达主语和宾语。是你,意识到预测,保持连贯性。如果重新投影其中一个,则第二个也需要重新投影。这是为了保持数据/查询的一致性。

最新更新