可以在shapefile字段名称中使用冒号(“:”)字符吗?


16

我试图找出:ESRI的shapefile字段名称中是否允许使用该字符。

我用谷歌搜索,但找不到答案。这是来自ESRI FAQ文章的有趣引述:

消除所有不是字母数字字符或下划线的字符。

这是否意味着:不允许使用该字符?还是允许使用它,但是建议不要使用它?如果是,那为什么呢?

Answers:


22

shapefile中的字段名称限制由dBase限制确定。有四个单一规则:

  1. 最多10个字符。
  2. 字段名称中的第一个字符必须以字母开头。
  3. 字段名称是唯一的。
  4. 并且,从了解DBF基础知识

(...),它们可以包含字母A到Z,数字0到9,冒号(:)(仅在dBASE II字段名称中)和下划线(_)的任意组合。

ESRI Shapefile可与dBase III +一起使用。


1
您可以上传.oms文件的一部分吗?我想检查发生了什么,或者是否可以导出这种数据的另一种方法
aldo_tapia

1
我尝试R使用osmarrgdal没有问题,效果完美。我检查QGIS中的字段名称,对。一个基本的和简单的代码和结果,检查它们。
aldo_tapia

1
因为shapefile与原始文件具有相同的字段:<node id="32633413" visible="true" version="6" changeset="13406299" timestamp="2012-10-07T23:36:07Z" user="Davlak" uid="217070" lat="41.8994226" lon="12.4969449"/>。列字符不是字段,而是标签,例如:<tag k="bus" v="yes"/> <tag k="highway" v="bus_stop"/> <tag k="internet_access" v="wlan"/> <tag k="internet_access:name" v="AtacWiFi"/> <tag k="internet_access:operator" v="RomaWireless"/> <tag k="name" v="Nazionale/Quattro Fontane"/> <tag k="operator" v="ATAC"/> ...,对吗?
aldo_tapia

1
标签就像.kml文件说明一样,在一个字段中您可以拥有很多标签,即使.osm文件的结构也与相似.kml。如果要提取标签,请使用osmosis,而不要使用GDAL来基于这些标签创建新字段。你们是不是要得到的东西像这样
aldo_tapia

1
字段名称不能包含冒号。解决方案:.osm使用任何文本编辑器打开文件,并用下划线替换冒号,将其保存并导出到shapefile。.osm文件是XML,可以轻松管理内容。
aldo_tapia

5

根据您引用的同一篇Esri文章:

施加这些限制是为了使ArcGIS能够使用最大数量的数据类型运行。

因此,即使使用任何用于创建shapefile的软件都不会阻止您在字段名称中使用冒号,将它们与ArcGIS配合使用也是不明智的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.