ES de investigación geográfica

Con el fin de facilitar el aprendizaje ES consulta de ubicación, aquí preparado unas coordenadas geográficas de los datos de prueba, cada uno de los datos contiene el nombre de la ciudad y las coordenadas geográficas de los dos campos. En primer lugar, guarde lo siguiente en el archivo geo.json:

{ "Índice": { "_ índice": "geo", "_ id": "1"}}

{ "Ciudad": "北京", "localtion": "40.019559,116.312282"}

{ "Índice": { "_ índice": "geo", "_ id": "2"}}

{ "Ciudad": "乌鲁木齐", "localtion": "43.863737,87.53891"}

{ "Índice": { "_ índice": "geo", "_ id": "3"}}

{ "Ciudad": "西安", "localtion": "34.43376,108.879774"}

{ "Índice": { "_ índice": "geo", "_ id": "4"}}

{ "Ciudad": "郑州", "localtion": "34.76845,113.589482"}

{ "Índice": { "_ índice": "geo", "_ id": "5"}}

{ "Ciudad": "杭州", "localtion": "30.345351,120.102125"}

{ "Índice": { "_ índice": "geo", "_ id": "6"}}

{ "Ciudad": "济南", "localtion": "36.688506,117.158558"}

{ "Índice": { "_ índice": "geo", "_ id": "7"}}

{ "Ciudad": "上海", "localtion": "31.298035,121.426731"}

{ "Índice": { "_ índice": "geo", "_ id": "8"}}

{ "Ciudad": "武汉", "localtion": "30.632158,114.28858"}

{ "Índice": { "_ índice": "geo", "_ id": "9"}}

{ "Ciudad": "广州", "localtion": "23.150725,113.221536"}

 

A continuación, crear un índice:

 

geo PUT

{

"configuración": {

"number_of_shards": "1",

"Number_of_replicas": "0"

},

"asignaciones": {

"propiedades": {

"Ciudad": {

"Type": "palabra clave"

},

"ubicación": {

"Type": "geo_point"

}

}

}

}

A continuación, ejecute:

 

$ Rizo -X POSTAL "localhost: 9200 / _bulk bonita?" -H 'Content-Type: application / json' --Hojas binario @ geo.json

1

1. consulta radio (consulta geo_distance)

consulta geo_distance puede encontrar el punto centro geográfico del documento dentro de un radio determinado. Como una consulta dentro de 500 km de la ciudad de Tianjin, los resultados de la búsqueda volverán a Beijing, Jinan, el comando es el siguiente:

 

{

"consulta":{

"Bool": {

"debe":{

"Match_all": {}

},

"filtrar":{

"Geo_distance": {

"Distancia": "500 kilometros",

"ubicación":{

"Lat": "38.993443",

"Lon": "117.158558"

}

}

}

}

}

}

Clasificar por distancia de Tianjin:

 

{

"consulta": {

"Bool": {

"debe": {

"Match_all": {}

},

"Filtro": {

"Geo_distance": {

"Distancia": "500 kilometros",

"ubicación": {

"Lat": "38.993443",

"Lon": "117.158558"

}

}

}

}

},

"Especie": [

{

"_Geo_distance": {

"ubicación": {

"Lat": "38.993443",

"Lon": "117.158558"

},

"Unidad": "km"

}

}

]

}

2. Especificar la consulta dentro de un rectángulo (consulta geo_bounding_box)

geo_bounding_box consulta configurados para consultar las coordenadas geográficas se encuentran dentro del rectángulo especificado. Consulta de un rectángulo definido por dos puntos, como se muestra en los puntos Yinchuan y Nanchang hechas tanto en vertical (longitud), y las líneas paralelas (dimensión), respectivamente, la línea de intersección se forma una zona rectangular, se puede consultar a Xi'an , Zhengzhou, Wuhan.

 

[Imagen volcado fuera de la cadena falla, la estación de origen puede tener un mecanismo de cadena de seguridad, se recomienda guardar las fotos subidas directamente hacia abajo (img-ZiJZ1UCp-1578904421240) (D: \ work \ elasticsearch \ geo_bouding_box.png)]

Izquierda y derecha esquinas consulta

 

{

"consulta":{

"Bool": {

"debe":{

"Match_all": {}

},

"filtrar":{

"Geo_bounding_box": {

"ubicación":{

"arriba a la izquierda":{

"Lat": "38.532499",

"Lon": "106.193769"

},

"abajo a la derecha":{

"Lon": "115.907542"

}

}

}

}

}

}

}

La esquina inferior izquierda y superior derecha de la investigación

 

{

"consulta": {

"Bool": {

"debe": {

"Match_all": {}

},

"Filtro": {

"Geo_bounding_box": {

"ubicación": {

"parte superior derecha": {

"Lat": "40.807062",

"Lon": "119.108671"

},

"BOTTOM_LEFT": {

"Lat": "22.12604",

"Lon": "101.741623"

}

}

}

}

}

}

}

20

3. Consulta de datos (consulta geo_polygon) en un polígono designado

geo_polygon consulta utiliza para encontrar el punto geográfico dentro de un polígono dado. Por ejemplo, un triángulo Hohhot, Chongqing, Shanghai, los tres componen la consulta en el cambio de la posición del área triangular de la ciudad.

 

[Imagen volcado fuera de la cadena falla, la estación de origen puede tener un mecanismo de cadena de seguridad, se recomienda guardar las fotos subidas directamente hacia abajo (img-MXBETgbX-1578904421241) (D: \ work \ elasticsearch \ geo_polygon.png)]

 

{

"consulta":{

"Bool": {

"debe":{

"Match_all": {}

},

"filtrar":{

"Geo_polygon": {

"ubicación":{

"puntos":[

{ "Lat": "40.835015", "lon": "111.712958"},

{ "Lat": "29.640695", "lon": "106.561715"},

{ "Lat": "31.23482", "lon": "121.50032"}

]

}

}

}

}

}

4 tipos de geo_shape consulta de datos (query geo_shape)

geo_shapequery geo_shape consulta para el tipo de datos geográficos, que comprende la relación entre la forma geográfica que es: intersección, que comprende disjuntos tres. Crear un nuevo índice para la prueba, qué tipo de campo ubicación ajuste es de tipo geo_shape:

 

GeoShape PUT

{

"configuración": {

"number_of_shards": "1",

"Number_of_replicas": "0"

},

"asignaciones": {

"propiedades": {

"Ciudad": {

"Type": "palabra clave"

},

"ubicación": {

"Type": "geo_shape"

}

}

}

}

13

geo_point tipos de campos son: en primer lugar la latitud, la longitud, pero el punto es geo_shape tipos: en primer lugar la longitud, latitud después. Esto requiere una atención especial.

 

POSTAL GeoShape / _doc / 1

{

"City": "Xi'an - Zhengzhou"

"ubicación":{

"Type": "cadena de líneas",

"coordenadas": [

[108.953364,34.372762],

[113.626277,34.76845]

]

}

}

Consulta de los datos contenidos dentro de la forma rectangular Yinchuan geográfica composición Nanchang, ya que la composición lineal Xian y Zhengzhou que cae dentro del área rectangular, que se pueden consultar.

 

{

"consulta":{

"Bool": {

"debe":{

"Match_all": {}

},

"filtrar":{

"Geo_shape": {

"ubicación":{

"forma":{

"Type": "sobre",

"coordenadas": [

[106.230564,38.50359],

[115.870747,28.704175]

]

},

"Relación": "dentro"

}

}

}

}

}

}

Fuente: https://blog.csdn.net/dwjf321/article/details/103960280

 

Publicados 277 artículos originales · ganado elogios 65 · vistas 380 000 +

Supongo que te gusta

Origin blog.csdn.net/ailiandeziwei/article/details/104737068
Recomendado
Clasificación