目录
- ElasticSearch地理空间数据写入
- 思路介绍
- 实现(geo_point)
- 数据处理
- 创建点的mappings
- 使用Java将数据写入ES
- 配置maven依赖
- 项目配置ES
- 数据写入
- 查询数据
- 实现(geo_shape)
- 数据处理
- 创建geo_shape的mappings
- 使用Java将数据写入ES
- 数据写入
- 查询数据
ElasticSearch地理空间数据写入
申明:我将地理空间(GIS)数据写入ElasticSearch的方式仅代表我个人,如果有其他更好的方式可以告知我!
思路介绍
我习惯使用Java+PostgreSQL+PostGIS的方式处理地理数据。
这次的数据主要分两类:点(Point)的POI数据和Shape(点、线、面)混合数据。
接下来介绍我的数据处理思路:
- 原始数据使用arcmap处理成一个矢量 ,并且将坐标系转换设置为EPSG4326(WGS84经纬度坐标)
- 创建PostgreSQL数据库,并添加PostGIS扩展
- windows环境下,使用PostGIS自带的工具或QGIS将矢量导入pg数据库中
- ES数据库中根据数据字段创建对应的mappings
- 使用Java将pg数据库中的数据读出来批量写入es
实现(geo_point)
数据处理
这里我使用江苏的点数据为例,使用arcmap或QGIS将数据处理成一个WGS84经纬度坐标的标准geo_point点矢量,如图所示: