2017-08-23 2 views
1

J'ai un fichier .shp qui contient les limites des océans et des mers. Mais, au lieu de tout les tracer, je ne m'intéresse qu'à 6. Geopandas crée quelque chose de similaire à un dataframe (appelons-le "df"), tout comme Pandas. Est-il possible de créer une nouvelle base de données ("df1") qui aurait juste ces zones sélectionnées de "df"?Sélectionnez des régions spécifiques du fichier .shp en utilisant Geopandas

from mpl_toolkits.basemap import Basemap 
import numpy as np 
import matplotlib.pyplot as plt 
import geopandas as gp 

tes = gp.read_file(r'your\path\World_Seas_IHO_v1\World_Seas.shp') 

tes1 = tes[(tes.NAME == "North Pacific Ocean"), 
      (tes.NAME == "South Pacific Ocean")] 

tes1.plot() 

plt.show() 
plt.ion() 

Quand je lance ce "TES1" une erreur:

"objets de la série sont mutable, ainsi ils ne peuvent pas être hachés."

Une idée?

Merci!

Répondre

2

(tes.NAME == "North Pacific Ocean"), (tes.NAME == "South Pacific Ocean") est une tuple de série booléenne. Vous ne pouvez pas passer cela comme un indexeur. Vous souhaitez utiliser bitwise ou | pour combiner les séries booléennes, puis utiliser le résultat pour découper la trame de données.

from mpl_toolkits.basemap import Basemap 
import numpy as np 
import matplotlib.pyplot as plt 
import geopandas as gp 

tes = gp.read_file(r'your\path\World_Seas_IHO_v1\World_Seas.shp') 

tes1 = tes[(tes.NAME == "North Pacific Ocean") | 
      (tes.NAME == "South Pacific Ocean")] 

tes1.plot() 

plt.show() 
plt.ion() 

Ou vous pouvez utiliser isin

tes = gp.read_file(r'your\path\World_Seas_IHO_v1\World_Seas.shp') 

tes1 = tes[tes.NAME.isin(['North Pacific Ocean', 'South Pacific Ocean'])] 

tes1.plot() 

plt.show() 
plt.ion() 

enter image description here

+0

Hey piRSquared. J'ai essayé et ce que je suis arrivé était: vides GeoDataFrame Colonnes: [Gazetteer_, ID, NOM, géométrie] Index = [] –

+0

J'ai besoin le fichier de forme réelle. Où peux-je le recevoir? – piRSquared

+0

http://www.marineregions.org/downloads.php> Zones maritimes de l'OHI> Version 1 (2005)> Fichier de données sur les zones maritimes (1,733kb) –