博客
关于我
ArcGIS数据编码
阅读量:153 次
发布时间:2019-02-28

本文共 976 字,大约阅读时间需要 3 分钟。

ArcGIS编码问题及解决方案

ArcGIS软件在处理数据时,文件编码的设置至关重要。不同版本的ArcGIS支持的编码格式不一,理解这些差异并正确配置文件编码是避免数据显示乱码的关键。

ArcGIS 10.2及之前版本支持的编码格式为936,而10.3及以后版本则改用UTF-8编码。CPG文件(Coverage Polygon file)是ArcGIS用于指定数据文件编码格式的重要文件。软件在创建数据时会自动生成CPG文件,填写数据文件的编码格式。如果未自动填写,可手动在CPG文件中指定。

正确配置的数据文件应与CPG文件中的编码格式一致。如果出现乱码,有两种可能原因:

第一种:数据本身是UTF-8编码,但CPG文件中指定的编码格式为936。这种情况下,文件编码与数据实际使用的编码不一致,导致显示乱码。解决方法:请确保CPG文件中指定的编码与实际数据一致,改为UTF-8。

第二种:数据本身是UTF-8编码,但CPG文件中错误地指定了936编码,并且误用了错误编码读取数据。此时,数据已被损坏,无法恢复。这种情况下,数据修复性丧失,需重新获取正确编码的数据。

测试与实际应用中需注意以下几点:

  • ArcGIS 10.2生成的文件在ArcGIS 10.6中显示正确,无需修改CPG文件即可正常显示。

  • ArcGIS 10.6生成的文件在ArcGIS 10.2中若指定错误编码,可能导致乱码。

  • ArcGIS版本间的文件编码转换需谨慎处理,确保CPG文件与实际数据编码保持一致。

  • 以下是具体操作建议:

    • 使用ArcGIS自带的工具进行数据导入导出时,确保CPG文件中的编码设置正确。
    • 对于跨版本的文件转换,建议先尝试在新版本中直接读取旧文件,并观察是否需要修改CPG文件。
    • 建议在实际工作中建立文件编码一致性的检查机制,避免文件编码不一致导致的数据错误。

    ArcGIS软件自带的DBF文件头信息通常包含文件编码设置,用户可以通过查看DBF文件头信息来确认编码配置是否正确。对于不明确编码格式的数据,建议使用ArcGIS自带的工具进行检测,确保数据编码与实际使用一致。

    参考资料:

  • ArcGIS官方文档
  • GIS编码与数据处理实践指南
  • 测试数据:链接:密码:ecqt链接:密码:it0k

    如需进一步了解ArcGIS编码问题或测试数据获取,请联系技术支持团队。

    转载地址:http://djad.baihongyu.com/

    你可能感兴趣的文章
    Pinia入门(快速上手)
    查看>>
    Pinia:$patch的使用场景
    查看>>
    Pinia:$subscribe()的使用场景
    查看>>
    Pinpoint对Kubernetes关键业务模块进行全链路监控
    查看>>
    Pinterest 大规模缓存集群的架构剖析
    查看>>
    pintos project (2) Project 1 Thread -Mission 1 Code
    查看>>
    PinYin4j库的使用
    查看>>
    PIP
    查看>>
    pip install goose-extractor // SyntaxError: Missing parentheses in call to 'print'
    查看>>
    pip install mysqlclient报错
    查看>>
    pip install 出现报asciii码错误的解决
    查看>>
    pip throws TypeError: parse() got an unexpected keyword argument ‘transport_encoding‘ 在尝试安装新软件包时
    查看>>
    pip 下载慢
    查看>>
    pip 升级报错AttributeError: ‘NoneType’ object has no attribute ‘bytes’
    查看>>
    pip 安装opencv-python卡死
    查看>>
    pip 安装出现异常
    查看>>
    Pip 安装失败:需要 SSL
    查看>>
    Pip 安装挂起
    查看>>
    pip 或 pip3 为 Python 3 安装包?
    查看>>
    pip 文件损坏导致 pip无法使用 报错 ImportError: cannot import name 'main' from 'pip._int
    查看>>