MarkLogic 地理空间表示和后续搜索
MarkLogic Geospatial representation and subsequent search
我有一个包含 property/value 的平面文件:"Geolocation": "(32.15672444830, -110.877085494)"
。为了适应 MarkLogic 地理空间搜索,我认为 "Geolocation" 需要进行转换并符合特定格式。我可以知道那种格式是什么样的吗?
您有地理空间点索引和地理空间区域索引。点索引要么采用 cts.point 的字符串化版本,要么您可以分别指示纬度和经度。可以直接在JSON里面使用cts.point得到字符串表示:
let res = {
location: cts.point(1,2)
};
res;
区域索引只允许 cts.point、cts.linestring、cts.circle、cts.box 和 cts.polygon 的字符串化版本。这些也可以直接嵌入 JSON 中。另请参阅地理空间构造器帮助页面:
https://docs.marklogic.com/cts/geospatial-constructors
HTH!
我的结果表明 "Geolocation": "(32.15672444830, -110.877085494)"
是无效表示。如果属性是通过API转换和符合的,那么Geospatial查询returns预期结果:
{
"State": "IL",
"City": "Chicago",
"indexCancer": "5",
"Geolocation": [
41.84,
-87.69
]
}
{
"State": "PA",
"City": "Allentown",
"indexCancer": "6",
"Geolocation": "40.61, -75.48"
}
{
"State": "MA",
"City": "Boston",
"indexCancer": "4.8",
"Geolocation": [
42.32,
-71.10
]
}