如何将ESRI的GIS数据转换为Elasticsearch的NDJSON数据

Elasticsearch 7.4开始支持直角坐标系的Shape检索,大大方便了我们中国各地方城市坐标系的业务应用。但是Elasticsearch 7.4只支持GeoJSON、WKT两种格式的数据入库,如何将原始数据以易智瑞的产品编辑和保存的数据转换为Elasticsearch7.4能入库的数据。下面介绍一种利用现有工具经过简单加工,不需要编程即可完成的方法。

一、利用ARCMap将原始导出GeoJSON格式

1、在ARCMap或ARCCatalog中打开ArcToolbox
在这里插入图片描述
2、选择“转换工具(Conversion tools)->JSON->要素转JSON(features to JSON)”
在这里插入图片描述
3、或者是直接在搜索框中,输入JSON,找到“要素转JSON工具”。
在这里插入图片描述
4、在“要素转JSON”对话框中,在“输入要素”栏中输入要转换的要素,在输出JSON栏中,确定保存的路径。注意不要勾选“格式化JSON”,勾选“GeoJSON”选项。如果勾选了"格式化JSON",则会按照PJSON规范设置要素的格式,因为Elasticsearch7.4中要求每个文档(doc)内容必须在一行,所以不能以PJSON规范输出。如果未勾选“GeoJSON”,则会以EsriJSON的格式输出,不符合要求。
在这里插入图片描述
5、在结果提示窗中等待转换完成。
在这里插入图片描述

二、编辑GeoJSON文件

6、用NotePad++打开转换后的结果文件。转换后的结果文件以一行的形式输出,并且文件开头记录的要素的坐标参照信息是不需要的,同时需要将每一条记录单独一行保存。
在这里插入图片描述
7、删除文件开头的{"type":"FeatureCollection","crs":{"type":"name","properties":{"name":"EPSG:4548"}},"features":[,删除文件结尾的“]}
8、“ctrl+H”打开替换窗口,在查找目标中输入“,{"type":"Feature","id":”,在替换为中输入:\n{"layername":"设备","type":"Feature","id":。同时把查找模式更改为“扩展(x)(\n,\r,\t,\o,\x,…)”。最后点击“全部替换”。如果有多个文件可以点击“替换所有打开文件”。注意每个双引号不要出错了,本人就因为少了各双引号而走了不少弯路。同时在文件末尾加一空行
在这里插入图片描述
9、用“{"layername":"设备","type":"Feature","id":”替换第一条记录,最后的形式如下图所示。
在这里插入图片描述
10、还是通过查找替换的方法,在每条记录的前面插入Elasticsearch的操作标识{"index":{}}。标识每条记录插入的时候自动建立唯一ID值。
在这里插入图片描述

三、 导入结果数据

11、按照本人写的“批量导入GIS数据到Elasticsearch中”一文介绍的几种方法,选择一种导入到Elasticsearch中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值