フロリダのドライクリーニング施設のシェープファイルがあります。shapefile.py を使用して Python でファイルを読み込んでいます。私の問題は、ファイルの最初の形状は正しく表示されますが、その後は 5 番目ごとの形状のみが正しいことです。連続する 4 つの形状が無効なタイプ コード (0 から 31 の間である必要があります) で抽出され、ポイント情報がありません。結果の一部を次に示します。
Site Name (.record[1]) .shapeType .points
------------------------------------ ----------- --------------------
Granda Dry Cleaners 21 [[783897.335, 215901.765]]
Scotch Dry Cleaners 1093131927 []
J C Cleaners -1191051264 []
Royal Palm Cleaners -1606317767 []
Moorings Plaza Dry Cleaners 1091081765 []
Classic Touch Cleaners 21 [[778662.429, 221265.968]]
The Drycleaner 1093095627 []
Randolphs Alterations & Dry Cleaner -1140719616 []
Pelican French Cleaners 1580547967 []
Town & Country Cleaners 1091080779 []
Discount Dryclean Outlet 21 [[768035.181, 188652.929]]
The Drycleaner Cleaners 1093104359 []
Sample Cleaners -1090387968 []
Parisian Cleaners -1468878813 []
Roberts Cleaners & Tailors 1091022843 []
(注:点の精度を少し下げて、線に収まるようにしました)。
パターンは規則的であるように見えます — 1 つの「有効な」レコードの後に、無効な shapeType 定数とポイントのない 4 つのレコードが続きます。
私はシェープファイル処理の初心者です。これらの結果は、私が間違っている可能性があることを示唆していますか?
アップデート
次のコードは問題を示しています (上記の shapeType と points の列を出力します)。
from shapefile import Reader)
rdr = Reader('drycleaner_list')
for s in rdr.shapes():
print s.shapeType, s.points