png*_*anb 12 python gis geopandas
我试图从一些.GDB文件(文件夹?)看这里:。
我使用 GeoPandas 并执行以下操作:
# file from local path
mallard = gpd.read_file('./bird-species/E00039600_mallard.gdb/')
# geopandas included map, filtered to just this hemisphere
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
westhem = world[(world['continent'] == 'North America') |
(world['continent'] == 'South America')]
# making sure the coordinates line up:
mallard = mallard.to_crs(world.crs)
#establishing figure axes
base = westhem.plot(color='white', edgecolor='black',figsize=(11,11))
# cmap because I'd LIKE the multiple layers to exist
bbw_duck.plot(ax=base, cmap = 'Reds');
Run Code Online (Sandbox Code Playgroud)
输出如下所示:
有没有办法在 GeoPandas 或 Python(Jupyter Notebook)中查看所有层?
mar*_*eis 14
是的,GeoPandas 支持图层。由于您的图层名称非常长,我建议使用图层顺序。
mallard_0 = gpd.read_file('./bird-species/E00039600_mallard.gdb/', layer=0)
mallard_1 = gpd.read_file('./bird-species/E00039600_mallard.gdb/', layer=1)
# geopandas included map, filtered to just this hemisphere
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
westhem = world[(world['continent'] == 'North America') |
(world['continent'] == 'South America')]
# making sure the coordinates line up:
mallard_0 = mallard_0.to_crs(world.crs)
mallard_1 = mallard_1.to_crs(world.crs)
# establishing figure axes
base = westhem.plot(color='white', edgecolor='black', figsize=(11, 11))
# cmap because I'd LIKE the multiple layers to exist
mallard_0.plot(ax=base, color='red', alpha=.5)
mallard_1.plot(ax=base, color='blue', alpha=.5)
Run Code Online (Sandbox Code Playgroud)
编辑:Geopandas 在后台使用 Fiona 进行文件处理,因此如果您想查看图层列表,请使用
import fiona
fiona.listlayers('./bird-species/E00039600_mallard.gdb')
Run Code Online (Sandbox Code Playgroud)
Edit2: Loop over all layers 然后看起来像这样:
import fiona
# geopandas included map, filtered to just this hemisphere
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
westhem = world[(world['continent'] == 'North America') |
(world['continent'] == 'South America')]
base = westhem.plot(color='white', edgecolor='black', figsize=(11, 11))
layers = fiona.listlayers('./bird-species/E00039600_mallard.gdb')
for l in layers:
mallard = gpd.read_file('./bird-species/E00039600_mallard.gdb', layer=l)
mallard = mallard.to_crs(world.crs)
mallard.plot(ax=base, color='red', alpha=.1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4006 次 |
| 最近记录: |