質問

あなたは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ファイルを読み書きするコードを記述するつもりなら、私は強く代わりにライブラリを使用することをお勧め - GDAL の、また、いくつかの良好な商業的なもの。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top