Ich versuche, die Projektionen einer Küste() Karte mit dem einer Shape-Datei zu synthetisieren, deren .prj Datei sagt:Wie passe ich die Projektion meiner Karteikarte mit der einer Shapefile an?
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",
SPHEROID["WGS_1984",6378137.0,298.257223563]],
PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]
Mein Versuch ist:
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
from cartopy.io import shapereader
# set up a map with coastlines around Auckland:
plt.figure(figsize=(10, 10))
platecarree = ccrs.PlateCarree(globe=ccrs.Globe(datum='WGS84'))
ax = plt.axes(projection=platecarree)
extent = [174.25, 175.25, -37.5, -36.5]
ax.set_extent(extent)
ax.coastlines('10m',color='red')
# read in shapefile and plot the polygons:
shp2 = shapereader.Reader('auckland_geology_wgs84gcs.shp')
formations = shp2.records()
for formation in formations:
# plot water blue, and all other rocks yellow
if formation.attributes['MAIN_ROCK'] == b' ':
ax.add_geometries(formation.geometry, ccrs.PlateCarree(),facecolor='blue',alpha=.1)
else:
ax.add_geometries(formation.geometry, ccrs.PlateCarree(), facecolor='yellow',alpha=.1)
plt.show()
Ich habe versucht, die Welt zu geben Parameter in meinem platecarree Definition der Radius und inverse Abflachung von der Prj-Datei, aber ich sah keine Änderung der Ausgabe, wenn ich diese Zahlen festlegen oder sogar variiert.
Zusätzlich mit der definierten "platcarree" Projektion (mit dem Aufruf an den Globus mit WGS84) als crs in den add_geometries-Aufrufe, ist meine Ausgabe leer.
Wie ist, sieht das Ergebnis für mich wie a projection mismatch