QGIS バッチは Excel テーブルの経度と緯度の座標点をレイヤーにキャストします

Excel テーブルの経度と緯度の座標点をレイヤーにバッチ投影し、フィーチャを QGIS に保存するには、PyQGIS プログラミングを使用して完了します。簡単なサンプルコードを次に示します。


qgis.core からcsv をインポート
import QgsVectorLayer、QgsProject、QgsPointXY、QgsFields、QgsField、QgsFeature

# Excel ファイルのパスを設定します
excel_file = '/path/to/coodys.xlsx'
# 出力レイヤーのファイル パスを設定します
output_file = '/path/to/output_layer.shp'

# 读取Excel表格データベース
with open(excel_file, 'r') as file:
    Reader = csv.DictReader(file)
    座標 = [(float(row['Longitude']), float(row['Latitude']))リーダーの行用]

# 要素を格納するためのレイヤーを作成します
layer_fields = QgsFields()
layer_fields.append(QgsField('ID', QVariant.Int)) #さまざまな要素を区別するためのカスタムフィールドを追加します
layer = QgsVectorLayer('Point?crs=epsg :4326', '出力レイヤー'、'メモリ')
layer.dataProvider().addAttributes(layer_fields)
layer.updateFields()

# 座標点をフィーチャとしてレイヤーに追加します。
for i, 座標 in enumerate(coodyss):
    feature = QgsFeature(layer.fields())
    feature.setGeometry(QgsPointXY(coodyne[0], 座標[1]))
    feature.setAttribute( 'ID', i+1) # カスタムフィールド値を設定します
    layer.dataProvider().add features([feature])

# 保存出力図层
QgsProject.instance().addMapLayer(layer)
layer.dataProvider().createSpatialIndex()
layer.dataProvider().commitChanges()
QgsVectorLayerExporter.exportLayer(layer, Output_file, 'utf-8',layer.crs ()、'ESRI シェープファイル'、onlySelected=False)

# 上記のコードは、QGIS Python 環境が正しくインストールおよび構成され、必要なライブラリがインポートされていることを確認する必要があることに注意してください。実際の状況に応じてコード内のファイルパスを変更してください。

このコードは、Python の `csv` ライブラリを使用して Excel テーブル データを読み取り、経度および緯度の座標点を地物の幾何学的属性として QGIS の `QgsPointXY` オブジェクトに変換します。

おすすめ

転載: blog.csdn.net/weixin_58851039/article/details/131320521