不足している.shxファイルを作成しますか?



Creating Missing Shx File



解決:

ESRIは、ESRI Webサイトで見つけることができる破損したシェープファイルを修復するためのガイドを提供します:https://support.esri.com/en/technical-article/000007161

自分のマシンをチェックできませんが、Shapefile RepairerUtilityまたはShapefileRepair Tool(ESRIヘルプページの下部にリンクされています)のいずれかで、.shxファイルを再構築できました。



Pythonでも実行できます。このリンクは、.shxファイルを再作成するための次のコードを提案しています。

#新しいshxインデックスファイルを作成します#Code by Joel Lawhead http://geospatialpython.com/2011/11/generate-shapefile-shx-files.html import shapefile#shpおよびdbfファイルオブジェクトに明示的に名前を付けます#pyshpが欠落しているものを無視するようにします/ corrupt shx myshp = open( 'myshape.shp'、 'rb')mydbf = open( 'myshape.dbf'、 'rb')r = shapefile.Reader(shp = myshp、shx = None、dbf = mydbf)w = shapefile.Writer(r.shapeType)#リーダーオブジェクトからライターオブジェクトにすべてをコピーしますw._shapes = r.shapes()w.records = r.records()w.fields = list(r.fields)#保存すると生成されますshx w.save( 'myshape')

そのコードを実行するには、Pythonシェープファイルライブラリ(pyshp)が必要ではありません。




OpenJumpでshxなしでShapefileを開き、新しいShapefileとして保存できます。次に、shxファイルが生成されます。

アップデート2020_03:QGIS 3.12以降、*。shxファイルを修復または作成するためのネイティブアルゴリズムがQGISにあります