我收到了
2FFF1FFFF
以下查询的 DE-9IM 结果:
var marklogicGeo = require('/MarkLogic/geospatial/geospatial');
relation = marklogicGeo.regionDe9im(
"POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))",
"POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))");
由于两个多边形完全相同,我期望得到一个可以解释为
TFFFTFFFT
的结果,这是等效的 DE-9IM 交叉模式(通过 GeoSPARQL 函数定义 geof:sfEquals
、geof:ehEquals
和 geof:rcc8eq
) )
我不清楚为什么最后一个路口,外部的路口,是
False
?
这是 MarkLogic 中的错误还是我遗漏了什么?
GeoSPARQL 规范和描述 EQUALS 谓词的 DE-9IM 论文之间似乎存在差异。
https://docs.ogc.org/is/22-047r1/22-047r1.html
与
https://giswiki.hsr.ch/images/3/3d/9dem_springer.pdf
OGC GeoSPARQL 规范似乎对相等关系更加严格。
TFFFTFFFT
与 T*F**FFF*
。
MarkLogic GeoSPARQL 功能扩展了第一篇论文的 DE-9IM 规范,因为原始地理空间功能是在 GeoSPARQL 功能之前构建的。
如果您在 MarkLogic 中运行以下命令,其计算结果为
true
。
var marklogicGeo = require('/MarkLogic/geospatial/geospatial');
relation = marklogicGeo.equals(
"POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))",
"POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))");
希望这有帮助。
纽伯格