Arcgis中json转要素注意事项及解决办法

Arcgis中经常要使用到利用json数据转要素层的办法,在10.5版本下对于导入的json数据要求比较苛刻,此文章主要解决10.5版本以下的geojson的导入问题。
由于Arcgis的debug机制较差,导致在转入错误时,无法定位错误产生的原因,笔者建议大家按照文章书写顺序进行逐一排查。

一、常规设置问题

1.字段长度

网上主要流行三种方式生成geojson,在线转换工具、java、python。笔者都尝试过,也都有转换的代码,如有需要可以私。此问题主要出现在后两种方法中,一般在线工具会根据内容进行字段长度设置,而利用java、python等方法需要自己设置字段长度。Arcgis中设置字段长度如下图所示,在一般的简易的计算中,汉字约等于两个字符长度。导入中若字段中内容超过设定长度,转换会失败。

在这里插入图片描述
在geojson中负责设置字段长度的部分如下图所示,设置名称、类型、长度。在日常的应用中设置为200足够,若遇到需要存储巨量字段信息的情况,可以设置为4000以上。

"fields": [
        {
            "name": "name",
            "type": "esriFieldTypeString",
            "alias": "name",
            "length": 50
        }]

2.图层要素

Arcgis中主要包含点线面三种类型的shp数据,在geojson中控制图层的部分主要是以下部分代码:下面代码依次为点线面的设置参数。导入之前检查此参数是否对应。

"geometryType": "esriGeometryPoint"
"geometryType": "esriGeometryPolyline"
"geometryType": "esriGeometryPolygon"

3.字段信息

字段设置完成后,需要输入字段的具体信息,此信息一般放置在geojson的以下部分,需要和字段设置进行对应。常见错误为漏写了一两个字段的信息,导致导入不成功。

"features": [
        {
            "attributes": {
                "name": "111",
                "id": "df_14",
            }
"fields": [
        {
            "name": "id",
            "type": "esriFieldTypeString",
            "alias": "ID",
            "length": 200
        },
        {
            "name": "name",
            "type": "esriFieldTypeString",
            "alias": "NAME",
            "length": 255
        },

4.空间信息格式

geojson中空间信息一般储存在geometry中,但点线面的储存格式不同,以下依次为点线面的储存格式。格式需要和图层要素设置中的类型对应。

"geometry": {
                "x": 120.3,
                "y": 31.6
            }
 "geometry": {
                "paths": [
                    [
                        [
                            120.2,
                            31.8
                        ],
                        [
                            120.2,
                            31.8
                        ],
                        [
                            120.2,
                            31.8
                        ]
                    ]
                ]
            }
 "geometry": {
        "rings": [
          [
            [
              117.1,
              34.2
            ],
            [
              117.1,
              34.2
            ],
            [
              117.1,
              34.2
            ],
            [
              117.1,
              34.2
            ]
          ]
        ]
      }

二、编码问题

在10.5以上基本修复了因为编码格式而导致的中文导入失败问题,在10.5以下需要对导入的编码格式进行修改。常用的工具有notepad++和vscode,本文使用vscode进行举例。
用vscode打开geojson文件,发现默认编码格式为utf-8,需要将此格式转换为gb2312,大部分10.2版本均只支持此种编码格式。
在这里插入图片描述

1.首先点击编码处

在这里插入图片描述

2.选择通过编码保存

在这里插入图片描述

3.输入需要编码的格式,2312,选择。然后另存为文件即可

在这里插入图片描述
在这里插入图片描述

如有遇到其他导入问题,欢迎进行交流。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值