Я прочитал шейп в GeoDataFrame
и сделал некоторые изменения к нему:Использование GeoDataFrame как osgeo.ogr DataSource
import geopandas as gpd
# Read shapefile into geodataframe
geodf = gpd.read_file("shapefile.shp")
# Do some "pandas-like" modifications to shapefile
geodf = modify_geodf(geodf)
Однако, я также хотел бы применить некоторые функции osgeo.ogr
модуля на нем:
from osgeo import ogr
# Read shapefile into ogr DataSource
ds=ogr.Open("shapefile.shp")
# Do some "gdal/ogr-like" modifications to shapefile
ds = modify_ds(ds)
ВОПРОС: есть ли способ использовать или преобразовать шейп уже в памяти, в настоящее время в виде GeoDataFrame, как osgeo.ogr.DataSource
напрямую?
Способ, которым я делаю это до сих пор, заключается в том, чтобы сохранить GeoDataFrame в файл с to_file()
, а затем osgeo.ogr.Open()
это снова, но это кажется излишним для меня.
Зачем вам нужно использовать оба подхода, а не один из двух? – Benjamin
Это как раз то, как я решил некоторые отдельные задачи. Некоторые используют ogr, некоторые - с помощью геоданных. Последнее я нахожу гораздо более знакомым, так как оно близко к пандам. Ну, я дал ему шанс, спасибо за ответ! –