1

我在将具有非默认投影的数据加载到 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))
}
4

1 回答 1

0

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

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

这是了解两个坐标系之间许多差异的链接:外部文档

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

于 2018-04-30T09:13:55.677 回答