質問
あなたはESRIシェイプに保存されている地理データを持っている場合は、
、あなたは、少なくとも3つのファイルがあります。ベクトル・データ、属性やインデックスを含む.SHXで終わるファイルを含む.DBFで終わるものを含む.SHPで終わるものを
私はSHXファイルに興味があります。それがどのように動作しますか?それはすべてのジオメトリのための「最初の行にDBFおよび第二幾何学マップで三行への最初の幾何学マップ」のような完全なマッピングを、含まれていますか?それとも、それは異なる動作しますか?
解決
の仕様によればSHXは続く100バイトのヘッダを含んする 8つのバイトのレコードの順序によって。各レコードは、オフセット4バイトとメイン.SHPデータファイル内のレコードのための4バイトのコンテンツ長を格納する。
+-----------------------------------------------+
| header (100 bytes) |
+-----------------+------------------+----------+
| offset(4 bytes) | length (4 bytes) |
+-----------------+------------------+
| offset(4 bytes) | length (4 bytes) |
+-----------------+------------------+
| offset(4 bytes) | length (4 bytes) |
+-----------------+------------------+
| offset(4 bytes) | length (4 bytes) |
+-----------------+------------------+
| .... |
+-----------------+------------------+
なお、16ビット・ワードで指定されたオフセットので(.SHPヘッダは100バイト、または50ワード、長いように)最初のレコードのオフセット50です。コンテンツの長さはまた、16ビット・ワードで指定されます。
だから、あなたは(index_file_length-100)/8
からレコードの数を把握し、ランダムにまたは順番に.SHPファイルに特定の形状のレコードにアクセスするためにインデックスを使用することができます。
他のヒント
ポール・ディクソンによってファイン答え。
私はあなたがそれをどうするつもりかと思ったけど!あなたはSHPファイルを読み書きするコードを記述するつもりなら、私は強く代わりにライブラリを使用することをお勧め -
所属していません StackOverflow