Punkte und Beschriftungen auf der Karte
Dieser Post setzt voraus dass Sie die Artikel ab einfache Karte mit geopandas gelesen haben.
import geopandas import matplotlib.pyplot as plt from shapely.geometry import Point # Read the shapefile and related data gdf = geopandas.read_file( "swissBOUNDARIES3D_1_3_TLM_KANTONSGEBIET.shp" ) # Plot the map ax = gdf.plot() # Definitions for the cities cities = geopandas.GeoDataFrame( { "name": ["Regensdorf", "Bern", "Basel", "Brig", "Zürich"], "position": [Point(2677911.365,1254622.585),Point(2599859.275,1199633.166), Point(2611328.186,1267660.365),Point(2642300.939,1129536.286), Point(2682771.071,1247998.554)], "tx": [2677849,2599858,2617802,2640000,2685000], "ty": [1259315,1190000,1257500,1120000,1236000] }, geometry="position" ) ; # Plot the points cities.plot( ax=ax, color="red", markersize=5 ) # Name the points cities.apply( lambda r: ax.annotate(r[0],xy=(r[2],r[3]),color="white",horizontalalignment="center"), axis=1 ) # Remove axes and margins ax.margins( 0 ) plt.axis( "off" ) # Save plot as SVG plt.savefig( "gpthird.svg", bbox_inches="tight", pad_inches=0.1 )
Um den Code zu vereinfachen habe ich die Koordinaten der Ortschaften in LV95 umgerechnet.
Wie Sie sehen ist ein DataFrame von Geopandas ein erweiterter Datenframe von Pandas. Der Parameter geometry gibt an in welcher Spalte sich die Geometrie befindet.
Weiter geht es mit der Choroplethen-Karte: Cororplethenkarte mit Geopandas