J'exporte une géométrie avec des attributs de texte attachés depuis la base de données Oracle vers le format esri shapefile (.shp) avec les bibliothèques Java et Geotools.
Les colonnes d'attributs de notre base de données ont des noms de plus de 10 caractères, et Geotools oblige à les tronquer. Je comprends que cela est dû aux spécifications de fichiers .shp ou .dbf.
Je peux contourner ce problème en créant un fichier txt simple avec "shrtname" = "Le nom complet et long", mais il ne sera évidemment pas compris et importé par aucun autre logiciel que le nôtre.
Existe-t-il un moyen officiel de mapper des noms de champs courts à des noms de texte intégral longs?
Par exemple, fichier xml à côté de tous les autres fichiers .shp .dbf et .shx.
Il existe un moyen standard de gérer cela, bien que vos clients ne soient peut-être pas entièrement satisfaits: vous exportez deux fichiers, un fichier de formes et un fichier de données dans un format lisible par leur logiciel. Le fichier de formes n'a qu'un identifiant unique, [Id], pour les attributs. Le fichier de données a plusieurs attributs: [Id] pour correspondre à la forme, [Champ] pour fournir le nom du champ, [Type] pour indiquer son type et un attribut de chaque type de données possible pour stocker la valeur. Chaque champ du fichier d'origine est stocké en tant qu'enregistrement dans ce fichier de données.
Par exemple, une table source ressemblant à ceci:
aurait un fichier de données correspondant
Il devrait être évident de savoir comment utiliser ces données dans n’importe quel SGBDR et comment effectuer des conversions entre les deux formats.
la source
Si votre client utilise ArcGIS, vous pouvez fournir un script pour attribuer des alias de champs en bloc . Cela leur donnerait l'apparence de noms de champs longs lorsqu'ils utilisent les données.
Des scripts similaires peuvent également fournir des alias dans d'autres packages SIG.
la source
La solution la plus simple consiste à stocker UNIQUEMENT votre géométrie en tant que fichier de formes. Pour les excellentes fonctionnalités d’édition de géométrie existantes dans de nombreuses applications SIG, ENCORE, stockez toutes vos données de champ (ou la plupart d’entre elles) dans sqlite sous forme de tableaux. Rejoignez-les si nécessaire pour rechercher vos données de terrain.
MAIS SI vous devez modifier les tables en effectuant des requêtes spatiales ou en sélectionnant les fonctions de fichier de formes dans QGIS, vous devrez oublier l'option [les fichiers de formes joints à des tables sqlite] et au lieu de tout exporter vers Spatialite. Apprenez à utiliser Qspatialite et Spatialite_GUI (ils sont complémentaires l'un de l'autre avec de nombreuses fonctionnalités qui font défaut à l'autre - vous en aurez besoin et vous utiliserez les deux si vous faites beaucoup de choses avec SQLITE)
Il est important de garder à l’esprit que les tables (jointes au shapefile) ne seraient pas modifiables en même temps que la jointure. Ainsi, migrer vers Spatialite serait une excellente alternative aux fichiers de formes. Il conserve la simplicité et la portabilité des fichiers de formes tout en offrant la plupart des avantages d'une base de données SQL, sans la complexité de PostgreSQL.
la source
Un correctif temporaire peut être, en tant que fichier TAB, qui peut avoir des noms de colonne d’une longueur maximale de 31 caractères.
la source