¿Se puede usar el carácter de dos puntos (":") en los nombres de campo de shapefile?

16

Estoy tratando de averiguar si el :carácter está permitido en el nombre del campo de archivo de forma de ESRI.

Busqué en Google, pero no pude encontrar una respuesta. Aquí hay una cita interesante del artículo de las preguntas frecuentes de ESRI que dice:

Elimine los caracteres que no sean caracteres alfanuméricos o un guión bajo.

¿Esto significa que el :personaje no está permitido? ¿O está permitido usarlo, pero se recomienda no usarlo? En caso afirmativo, ¿por qué?

marco
fuente

Respuestas:

22

Las restricciones de nombre de campo dentro de un shapefile están determinadas por las limitaciones de dBase. Hay cuatro reglas únicas:

  1. Hasta 10 caracteres máx.
  2. El primer carácter en el nombre del campo debe comenzar con una letra.
  3. Los nombres de campo son únicos.
  4. Y, de Understanding DBF Essentials

(...) pueden contener cualquier combinación de las letras de la A a la Z, los dígitos del 0 al 9, los dos puntos (:) (solo en los nombres de campo de dBASE II) y el guión bajo (_).

Shapefile de ESRI funciona con dBase III +.

aldo_tapia
fuente
1
¿Puedes subir una parte de tu .omsarchivo? Quiero verificar qué sucede o si hay una forma alternativa de exportar ese tipo de datos
aldo_tapia
1
Traté de Rusar osmary rgdalsin problemas, funciona perfecto. Verifico los nombres de los campos en QGIS y tengo razón. Un código básico y simple . Y resultados , compruébalos.
aldo_tapia
1
Debido a archivos de formas tienen el mismo campo que el archivo original: <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"/>. El carácter de columna no es un campo, es una etiqueta, como: <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"/> ...¿verdad?
aldo_tapia
1
Las etiquetas son como la descripción de los .kmlarchivos, en un campo puede tener muchas etiquetas, incluso los .osmarchivos tienen una estructura similar .kml. Si desea extraer etiquetas use ósmosis , no GDAL para crear nuevos campos basados ​​en esas etiquetas. ¿Estás tratando de obtener algo como esto ?
aldo_tapia
1
Un nombre de campo no puede contener dos puntos. Solución: abra su .osmarchivo con cualquier editor de texto y reemplace los dos puntos con subrayados, guárdelo y exporte a shapefile. .osmarchivo es un XML, puede administrar contenidos fácilmente.
aldo_tapia
5

Según el mismo artículo de Esri que usted cita:

Estos límites se imponen para que ArcGIS pueda funcionar con la cantidad máxima de tipos de datos.

En consecuencia, incluso si el software que está utilizando para crear archivos de forma no le impide usar los dos puntos en un nombre de campo, no será prudente usarlos con ArcGIS.

PolyGeo
fuente