Как нормализовать данные, отображаемые в шейп-файле в геопандах, когда полигоны имеют разный размер
У меня есть шейп-файл, содержащий карту Милана, которая содержит квадратные многоугольники разного размера, я имею в виду маленькие, средние и большие квадраты, и у каждого квадрата есть идентификатор
{'init': 'epsg:32632'}
minx miny maxx maxy
0 504174.267327 5.003118e+06 508268.993890 5.008309e+06
1 508268.993890 5.003118e+06 510316.357171 5.005714e+06
2 511851.879632 5.005065e+06 512363.720452 5.005714e+06
3 511340.038812 5.005065e+06 511851.879632 5.005714e+06
4 510316.357171 5.004416e+06 511340.038812 5.005714e+06
5 510316.357171 5.005714e+06 512363.720452 5.008309e+06
6 508268.993890 5.005714e+06 510316.357171 5.008309e+06
7 508268.993890 5.008309e+06 510316.357171 5.010904e+06
8 510316.357171 5.008309e+06 512363.720452 5.010904e+06
9 510316.357171 5.010904e+06 512363.720452 5.013500e+06
10 508268.993890 5.010904e+06 510316.357171 5.013500e+06
Это границы квадратов, но вместо индексов 0,1,2 .. Мне нравится видеть квадратные идентификаторы, связанные с каждой строкой, а также у меня есть несколько файлов данных, подобных этой
3939_0_0 5.906552126050579 848.3214545643237
3939_0_1 5.82302081392767 1465.1476909159426
3939_0_2 11.465018361277856 742.8107082619533
3939_0_3_1 3.820090639450465 325.98139282061385
3939_0_3_3 5.1252845330079415 558.5800634528392
3939_1_0 4.5542081654193165 3750.9638149391335
3939_1_2_0 4.32896456387925 701.1305591522687
3939_1_2_1 4.525807078759208 914.4823701027614
3939_1_2_2_0 9.017755686881884 681.569104080947
3939_1_2_2_3_0 9.633342711012752 731.6789474565304
3939_1_2_3 7.107888904350883 1274.6849947508085
и я нанес эти данные на файл формы Милана, и я создал подобные тепловые карты, но, поскольку квадраты не имеют одинакового размера, данные должны быть нормализованы по каждой области многоугольника. Есть ли какие-либо предложения, как я могу нормализовать свои данные по каждой области многоугольника?
Вот часть кода, которую я использовал для создания моих тепловых карт,
import pandas as pd
import geopandas as gpd
from geopandas import GeoSeries, GeoDataFrame
mapDir = "/home/foroogh/PhD/milano-grid"
mapName = "intersection_Milano_W_GRIDIT_NEW.shp"
map_path = os.path.join(mapDir, mapName)
milano = gpd.read_file(map_path)
.
.
.
df1 = pd.read_csv(file_,sep='\t',index_col=None, header=None, names= ['squareid','nofcalls','callduration'])
df1 = milano.set_index("id").join(df1.set_index('squareid'))
fig = plt.figure()
df1.plot(column = "callduration", cmap = "jet", figsize = (20,20))
filename3 = str(file_.split("/")[-1])+'.png'
plt.savefig(os.path.join(root_path2, os.path.basename(file_)))
plt.savefig(os.path.join(root_path2,filename3))
plt.close(' ')