Я импортировал файл формы областей местного самоуправления Австралии (LGA) в google Colab и успешно прочитал геопанды.Последующий геоданный:
lga_df = gpd.read_file("LGA_2016_AUST.shp")
имеет поле геометрии со списком полигонов.Я пытаюсь найти точку центроида / широты и долготы, чтобы использовать имена LGA в качестве меток на карте, которую я создам.
Код, который я использую для создания поля центроида:
lga_df["center"] = lga_df["geometry"].centroid
lga_df_points = lga_df.copy()
lga_df_points.set_geometry("center", inplace = True)
Логика
Скопируйте исходный файл df_lga в новый файл df, а затем установите для столбца геометрии значениетолько что созданный столбец центральных точек, потому что GeoPandas df может иметь только один геометрический столбец)
Тем не менее, я получаю следующее сообщение
AttributeError: 'NoneType' object has no attribute 'centroid'.
Я также пробовал код, используя представитель_точки (), нолибо не работает
Мне кажется, я импортировал все необходимые зависимости - (см. ниже)
import geopandas as gpd
from geopandas import GeoDataFrame
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
from shapely.geometry import Point, LineString
import adjustText as aT
Я пробовал несколько часов, но все еще получаю ту же ошибку.Может кто-нибудь посоветовать, где я иду не так
Обновление - Эта проблема была решена - в поле геометрии были строки без координат многоугольника.Я удалил строки без координат многоугольника.Тем не менее, другая ошибка выбрасывается.«Ошибка атрибута - у Series нет атрибута« центр тяжести ». Я думаю, что по какой-то причине python не распознает мое поле геометрии как поле геометрии, а поле текста / строки. Как преобразовать поле геометрии, которое является строкой, вполе геометрии?