Пакет QGIS отбрасывает точки координат долготы и широты из таблицы Excel в слой

Для пакетного проецирования точек координат долготы и широты из таблицы Excel в слой и сохранения объектов в QGIS вы можете использовать для завершения программирование PyQGIS. Вот простой пример кода:


импортировать csv
из qgis.core импортировать QgsVectorLayer, QgsProject, QgsPointXY, QgsFields, QgsField, QgsFeature

# Установить путь к файлу Excel
excel_file = '/path/to/coordinates.xlsx'
# Установить путь к файлу выходного слоя
output_file = '/path/to/output_layer.shp'

# Использование Excel
с 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()

# Добавляем координатные точки в качестве объектов в слой
для i, координаты в enumerate(coordinates):
    feature = QgsFeature(layer.fields())
    feature.setGeometry(QgsPointXY(coordinate[0], координата[1]))
    feature.setAttribute( 'ID', i+1) # Установить значение пользовательского поля
    layer.dataProvider().addFeatures([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 была установлена ​​и настроена правильно, а необходимые библиотеки были импортированы. Пожалуйста, измените путь к файлу в коде в соответствии с реальной ситуацией.

Код использует библиотеку csv Python для чтения данных таблицы Excel и преобразует точки координат долготы и широты в объект QgsPointXY QGIS в качестве геометрического атрибута объекта.

Supongo que te gusta

Origin blog.csdn.net/weixin_58851039/article/details/131320521
Recomendado
Clasificación