MarkLogi c Геопространственное представление и последующий поиск - PullRequest
1 голос
/ 10 апреля 2020

У меня есть плоский файл, содержащий свойство / значение: "Geolocation": "(32.15672444830, -110.877085494)". Я полагаю, что для того, чтобы приспособиться к геополитическому поиску MarkLogi c, «геолокация» должна быть преобразована и соответствовать определенному формату. Могу ли я узнать, как выглядит этот формат?

Ответы [ 2 ]

0 голосов
/ 12 апреля 2020

Мой результат показывает, что "Geolocation": "(32.15672444830, -110.877085494)" является недопустимым представлением. Если свойство преобразовано и согласовано с помощью API, то геопространственный запрос возвращает ожидаемый результат:

{
"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
]
}
0 голосов
/ 11 апреля 2020

У вас есть геопространственные точечные индексы и геопространственные индексы регионов. Индексы точек либо принимают строковую версию cts.point, либо вы можете указать широту и долготу отдельно. Вы можете использовать cts.point непосредственно внутри JSON, чтобы получить строковое представление:

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!

...