Quelqu'un sait-il où je peux trouver un exemple de fichier de formes contenant des entrées nulles (de préférence un fichier de formes de polygones)?
Je ne sais pas comment en créer un avec des entrées nulles.
Quelqu'un sait-il où je peux trouver un exemple de fichier de formes contenant des entrées nulles (de préférence un fichier de formes de polygones)?
Je ne sais pas comment en créer un avec des entrées nulles.
Réponses:
Soyez averti que beaucoup de logiciels lisant des fichiers SHP ne prennent pas en charge les valeurs nulles pour la géométrie. Même les anciennes versions d'ArcView ont rencontré des problèmes.
J'ai créé un échantillon ici: http://www.routeware.dk/temp/shp_null_sample.zip Il a 3 enregistrements, le 2e n'a pas de géométrie.
Je suppose que vous voulez dire null pour la colonne géométrie / forme, car les fichiers de formes ne prennent en charge null pour aucun type de champ, sauf la géométrie et (j'entends) pour les champs de date.
Le code ci-dessous crée 1 fichier de formes avec 1 enregistrement / entité qui a une géométrie poly nulle.
import arcpy
import os
outfc = r'c:\temp\outfc.shp'
arcpy.env.workspace = os.path.dirname(outfc)
arcpy.CreateFeatureclass_management(arcpy.env.workspace,os.path.basename(outfc), 'polygon')
cur = arcpy.InsertCursor(outfc)
row = cur.newRow()
cur.insertRow(row)
del(row)
del(cur)
r = arcpy.CheckGeometry_management(outfc,'in_memory\\outtable')
print r.getMessages()
Je l'exécute et j'obtiens ce à quoi je m'attendais
AVERTISSEMENT 000442: géométrie nulle à 0 dans c: \ temp \ outfc.shp
Si vous travaillez sur un logiciel ESRI, au moins je peux parler d'ArcGIS 9.3, alors les fichiers de formes ne prennent pas en charge les valeurs NULL. J'ai rencontré ce problème il y a quelques semaines et j'ai passé une journée à enquêter. J'ai trouvé ce lien particulièrement éclairant http://forums.esri.com/Thread.asp?c=93&f=993&t=125464. Il semble que la seule façon de prendre en charge les valeurs NULL dans les fichiers de formes ESRI soit d'utiliser les géodatabases (puis les fichiers de formes deviennent des classes de caractères. J'ai utilisé le fichier une géodatabase). Pour prendre en charge les valeurs nulles, j'ai fini par créer une géodatabase et créer les classes de fonctions (autrement connues sous le nom de fichiers de formes) à l'intérieur de la géodatabase fichier (cela prendra en charge les valeurs nulles), par opposition à la création d'un fichier de formes et à l'importer dans la géodatabase (cela ne prend pas en charge les valeurs nulles) . Si je me souviens bien, vous devez également indiquer explicitement dans les propriétés du champ que vous souhaitez que les valeurs NULL soient prises en charge. Voici le lien qui pourrait vous aider Comment créer une classe d'entités dans une géodatabase fichier dans ArcGIS 9.3 avec Python?