Самый быстрый способ создать Shapely Polygon из DataFrame - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь создать геометрический столбец (полигоны) из DataFrame, который содержит следующие столбцы: xmin, xmax, ymin, ymax.

Вот так выглядит мой DataFrame (df):

        xmin           xmax          ymin          ymax
0 -715668.153951 -715418.153951  6.419357e+06  6.419607e+06
1 -715668.153951 -715418.153951  6.419357e+06  6.419607e+06
2 -715668.153951 -715418.153951  6.419357e+06  6.419607e+06
3 -715668.153951 -715418.153951  6.419357e+06  6.419607e+06
4 -715668.153951 -715418.153951  6.419357e+06  6.419607e+06

Мне удалось сделать то, что я хочу, с помощью следующего кода:

def polygonise_2Dcells(df_row): 
    return Polygon([(df_row.xmin, df_row.ymin), (df_row.xmax, df_row.ymin),(df_row.xmax, df_row.ymax), (df_row.xmin, df_row.ymax)])

и затем:

polys = df.apply(polygonise_2Dcells, axis=1)

Хотя приведенный выше код работает нормально, 'применить »довольно медленно для моих нужд (очень большой набор данных).Таким образом, я ищу более быстрый способ достижения желаемого результата.

...