回答:
SHPファイルを読み取るソフトウェアの多くは、ジオメトリのnull値をサポートしていないことに注意してください。古いバージョンのArcViewでも問題がありました。
ここでサンプルを作成しました:http : //www.routeware.dk/temp/shp_null_sample.zip これには3つのレコードがあり、2番目にはジオメトリがありません。
形状/形状列のnullを意味していると思います。形状ファイルは、形状と(私が聞いているように)日付フィールド以外のフィールドタイプではnullをサポートしていないためです。
以下のコードは、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:c:\ temp \ outfc.shpの0にあるヌルジオメトリ
ESRIソフトウェアで作業している場合、少なくともArcGIS 9.3について話すことができます。シェープファイルはnullをサポートしていません。数週間前にこの問題に遭遇し、調査に1日費やしました。私はこのリンクが特に明るいhttp://forums.esri.com/Thread.asp?c=93&f=993&t=125464を発見しました 。ESRIシェープファイル内でnullをサポートする唯一の方法は、ジオデータベースを使用することです(シェープファイルはフィーチャクラスになります。ジオデータベースのファイルを使用しました)。nullをサポートするために、シェープファイルを作成してジオデータベースにインポートする(これはnullをサポートしない)のではなく、ジオデータベースを作成し、ファイルジオデータベース内にフィーチャクラス(別名シェープファイル)を作成する(これはnullをサポートします)。 。私が正しく覚えている場合は、nullをサポートすることをフィールドプロパティに明示的に指定する必要もあります。Pythonを使用してArcGIS 9.3のファイルジオデータベースにフィーチャクラスを作成する方法に役立つリンクは次のとおりです。