Вращение полиплота Геоплот - PullRequest
0 голосов
/ 02 марта 2019

В настоящее время у меня есть функция:

def cross_country(contiguous_usa, full_geo_data):

    full_geo_data['Coordinates'] = full_geo_data[['longitude', 'latitude']].values.tolist()
    full_geo_data['Coordinates'] = full_geo_data['Coordinates'].apply(Point)
    full_geo_data = gpd.GeoDataFrame(full_geo_data, geometry='Coordinates')

    fig = plt.figure(figsize=(10,15))

    ax1 = plt.subplot(212, projection=gcrs.AlbersEqualArea(central_latitude=-98, central_longitude=39.5))

    gplt.kdeplot(full_geo_data[full_geo_data['speedkmh'] == 0],
             projection=gcrs.AlbersEqualArea(), cmap="cool", clip=contiguous_usa.geometry, ax=ax1)

    gplt.polyplot(contiguous_usa, projection=gcrs.AlbersEqualArea(), ax=ax1)
    plt.title("Test")
cross_country(contiguous_usa, full_geo_data)

Работает нормально, однако, когда я ее запускаю, карта выглядит так:

The orientation is not nominal

Я знаю, что спросить об этом тривиально, но я изучил документацию и не могу найти ничего, что связано с изменением базовой ориентации, для буквального поворота сюжета.

1 Ответ

0 голосов
/ 12 марта 2019

Самый простой ответ, вероятно, связан с проекцией или crs, которые вы используете.Однако, если вы не можете заставить это работать, вы можете использовать shapely для изменения отдельных строк геоданных.

def rotator(row):
    row['geometry'] = shapely.affinity.rotate(row['geometry'], -90)
    return row

full_geo_data = full_geo_data.apply(rotator, axis = 1)
...