首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GraphDB GeoSPARQL投影支持

GraphDB GeoSPARQL投影支持
EN

Stack Overflow用户
提问于 2018-03-10 08:32:37
回答 1查看 129关注 0票数 1

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

使用文档website中的示例文件,但将投影从CRS84更改为CRS83,会导致在运行示例2(也来自网站)时找不到交叉点。GraphDB是否支持使用不同的投影加载数据?如果是这样的话,我是否需要额外做些什么才能让它正常工作?

如果我将projection保留为CRS84,则一切都会按预期运行。

下面是我尝试执行的查询:

代码语言:javascript
复制
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))
}
EN

回答 1

Stack Overflow用户

发布于 2018-04-30 17:13:56

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

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

这里有一个链接来了解两个坐标系之间的许多差异:External documentation

最后,geof函数需要在同一个CRS中同时表示主体和对象。是你,意识到这些投影,保持连贯性。如果您重新投影其中一个,那么第二个也需要重新投影。这是为了保持数据/查询的一致性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49204132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档