Как скопировать в kml файл геометрию shp файла

Пытаюсь создать kml файл на основе shp файла. В shp файле есть 4 полигона и у каждого своя геометрия. Мне нужно, чтобы у kml файла в столбцах Name и description были те же значения, что и в столбце Class и Rate shp файла соответственно. Пытаюсь пройтись по shp файлу циклом. kml файл создается, но с неправильной геометрией и в программе Qgis не отображается

for classes, row in shp_file.iterrows():
    for poly in row['geometry'].geoms:
        poly_kml = kml.newpolygon(name=str(row['Class']),
                              description=int(row['Rate']))
        poly_kml.outerboundaryis = [(pt[0], pt[1]) for pt in poly.exterior.coords]

Ответы (1 шт):

Автор решения: Дмитрий Емельянов

Понял в чем ошибка. Система координат в shp файле была не WGS84. А для того, чтобы корректно отражался kml файл, ему нужно передавать геометрию в WGS84.

Код переделал так:

import geopandas as gpd
import simplekml

shape_file = 'shape_file.shp'

gdf = gpd.read_file(shape_file)

gdf = gdf.to_crs(epsg=4326)

kml = simplekml.Kml()

for classes, row in gdf.iterrows():
    for poly in row['geometry'].geoms:
        poly_kml = kml.newpolygon(name=str(class_name),
                              description=int(row['Rate']),
                              outerboundaryis=[(pt[0], pt[1]) for pt in poly.exterior.coords])

kml.save('kml_file.kml')
→ Ссылка