Le caractère deux-points («:») peut-il être utilisé dans les noms de champ de fichier de formes?

16

J'essaie de savoir si le :caractère est autorisé dans le nom du champ de fichier de formes d'ESRI.

J'ai googlé, mais je n'ai pas trouvé de réponse. Voici une citation intéressante de l' article de la FAQ ESRI indiquant:

Éliminez tous les caractères qui ne sont pas des caractères alphanumériques ou un trait de soulignement.

Est-ce à dire que le :personnage n'est pas autorisé? Ou est-il autorisé à l'utiliser, mais il est recommandé de ne pas l'utiliser? Si oui, alors pourquoi?

marco
la source

Réponses:

22

Les restrictions de nom de champ à l'intérieur d'un fichier de formes sont déterminées par les limitations dBase. Il existe quatre règles uniques:

  1. Jusqu'à 10 caractères max.
  2. Le premier caractère du nom de champ doit commencer par une lettre.
  3. Les noms de champ sont uniques.
  4. Et, à partir de Comprendre DBF Essentials

(...) ils peuvent contenir n'importe quelle combinaison des lettres A à Z, des chiffres 0 à 9, des deux points (:) (dans les noms de champ dBASE II uniquement) et du trait de soulignement (_).

ESRI Shapefile fonctionne avec dBase III +.

aldo_tapia
la source
1
Pouvez-vous télécharger une partie de votre .omsfichier? Je veux vérifier ce qui se passe ou s'il existe un autre moyen d'exporter ce type de données
aldo_tapia
1
J'ai essayé en Rutilisant osmaret rgdalsans problème, fonctionne parfaitement. Je vérifie les noms de champs dans QGIS et j'ai raison. Un code basique et simple . Et les résultats , vérifiez-les.
aldo_tapia
1
Parce que shapefiles ont le même domaine que le fichier d' origine: <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"/>. Le caractère de colonne n'est pas un champ, est une balise, comme:, <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"/> ...non?
aldo_tapia
1
Les balises sont comme la description des .kmlfichiers, dans un champ, vous pouvez avoir beaucoup de balises, même les .osmfichiers ont une structure similaire à celle .kml. Si vous souhaitez extraire des balises, utilisez l' osmose , pas GDAL pour créer de nouveaux champs basés sur ces balises. Essayez-vous d'obtenir quelque chose comme ça ?
aldo_tapia
1
Un nom de champ ne peut pas contenir de deux-points. Solution: ouvrez votre .osmfichier avec n'importe quel éditeur de texte et remplacez les deux-points par des soulignements, enregistrez-le et exportez vers le fichier de formes. .osmest un fichier XML, vous pouvez gérer facilement le contenu.
aldo_tapia
5

Selon le même article d'Esri que vous citez:

Ces limites sont imposées pour qu'ArcGIS puisse fonctionner avec le nombre maximal de types de données.

Par conséquent, même si vous n'êtes pas empêché d'utiliser les deux-points dans un nom de champ par le logiciel que vous utilisez pour créer des fichiers de formes, il sera peu judicieux de les utiliser avec ArcGIS.

PolyGeo
la source