Хтось знає, де я можу знайти зразок форм-файлу, який містить нульові записи в ньому (бажано, файл з форматом багатокутника)?
Я не впевнений, як створити його з нульовими записами.
Хтось знає, де я можу знайти зразок форм-файлу, який містить нульові записи в ньому (бажано, файл з форматом багатокутника)?
Я не впевнений, як створити його з нульовими записами.
Відповіді:
Попереджуйте, що багато програмного забезпечення для читання SHP-файлів не підтримують нульові значення для геометрії. Навіть старіші версії ArcView мали проблеми.
Я створив зразок тут: http://www.routeware.dk/temp/shp_null_sample.zip У ньому є 3 записи, у другого немає геометрії.
Я припускаю, що ви маєте на увазі нуль для стовпця геометрія / форма, тому що shapefiles не підтримують null для будь-якого типу поля, крім геометрії та (я чую) для полів дати.
Код нижче створює 1 форм-файл з 1 записом / ознакою, що має нульову поліметрію.
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()
Я запускаю його і отримую це, на що я б очікував
ПОПЕРЕДЖЕННЯ 000442: нульова геометрія при 0 в c: \ temp \ outfc.shp
Якщо ви працюєте над програмним забезпеченням ESRI, принаймні я можу говорити за ArcGIS 9.3, тоді shapefiles не підтримують нулі. Я зіткнувся з цією проблемою кілька тижнів тому і провів день, вивчаючи. Я вважав це посилання особливо яскравим http://forums.esri.com/Thread.asp?c=93&f=993&t=125464. Здається, єдиний спосіб підтримати нулі в ESRI formfiles - це використовувати бази даних геоданих (тоді файли shape стають класними класами. Я використовував файл бази даних геоданих). Щоб підтримати нулі, я в кінцевому підсумку створив базу даних геоданих та створив класи класів характеристик (інакше відомі як shapefiles) всередині файлу geodatabase (це буде підтримувати нулі) на відміну від створення файлу форм і потім імпортування його в базу даних геоданих (це не підтримує нулі) . Якщо я пам'ятаю правильно, ви також повинні чітко вказати у властивостях поля, що потрібно підтримувати нулі. Ось посилання, яке може допомогти Як створити клас функції у базі даних про геодані у ArcGIS 9.3 за допомогою Python?