При рисовании картографических карт я добавляю строки состояния с
ax.add_feature(cfeature.NaturalEarthFeature(
'cultural', 'admin_1_states_provinces_lines', resolution,
edgecolor='gray', facecolor='none'))
, где resolution
равно '110m'
, '50m'
или '10m'
.110-метровый набор данных содержит только штаты США, но другие содержат гораздо больше.
Я хотел бы нарисовать линии штатов только для выбранных стран (независимо от выбранного разрешения), например, только для США, Канады и Австралии.
Я нашел похожий вопрос в Drawкарта конкретной страны с картопами? и загруженный файл фигур США с gadm.org .Я добавил штаты, используя
us_shapes = list(shpreader.Reader('shapefiles/gadm36_USA_1.shp').geometries())
ax.add_geometries(us_shapes, ccrs.PlateCarree(), edgecolor='gray',
facecolor='none')
Но это создает для меня две проблемы:
- Фигуры также содержат саму границу страны (в данном случае США), которую я ранее имелобращается в черном.Конечно, я могу нарисовать границы страны после государственных границ, но это несколько излишне, поскольку большая часть береговой линии проходит дважды.Есть ли способ получить только строки состояния внутри страны (без границы страны)?
- Файл формы, кажется, содержит очень точное разрешение (возможно, 10 м?).Когда я рисую карту мира с разрешением 110 м, я предпочитаю получать линии состояния только на 110 м.В противном случае время рисования карты будет значительно больше, а формы страны / штата будут не совсем идеальными.Содержит ли файл формы также более низкие разрешения?
На следующем рисунке показана проблема: ![Cartopy World Map with added US states](https://i.stack.imgur.com/glXJF.png)