雨翔河
首页
列表
关于
elasticsearch的geo_point经纬度类型顺序问题
2023-12-26 12:27
> 在es里设置geo_point地理坐标经纬度类型会遇到很常见的问题,latitude 和 longitude 的值到底谁在前谁在后? 为某索引添加geo_point类型 ``` PUT /xxx_index/_mapping { "properties": { "geo_location": { "type": "geo_point" } } } ``` ### longitude:经度。 ### latitude:纬度。 在es中使用geo_point表示有6种方式: 1. Geopoint 表示为GeoJSON格式的对象,带有type和coordinates 2. 地理点表示 Well-Known Text 经纬度写法,格式如下:"POINT(lon lat)" 3. 地理点表示为一个对象,带有lat和lon,不需要考虑顺序问题。 4. 地理点表示为数组,格式为:[lon, lat] 5. 地理点表示为字符串,格式为:"lat,lon" 6. 地理点表示为 geohash,Geohashes是纬度和经度的base32编码字符串。 主要看4和5,这两个的顺序是相反的,一定要注意:字符串表示的经纬度的顺序为lat,lon,而数组经纬度、GeoJSON 和 WKT 的顺序相反:lon,lat。 造成这种情况的历史原因:地理学家传统上是先写纬度再写经度,而最近为地理数据指定的格式(如 GeoJSON 和 Well-Known Text)则是先写经度再写纬度(先写东经再写北纬),以符合数学中先写 x 再写 y 的习惯。 官方参考文档: https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html
类型:工作
标签:elasticsearch,geo_point,longitude,latitude
Copyright © 雨翔河
我与我周旋久
独孤影
开源实验室