QGIS学习

QGIS 3 地理信息系统基础教程 — 首页 (osgeo.cn)

 Python与开源GIS:数据处理、空间分析与地图制图 — Python与开源GIS 文档 (osgeo.cn)

 向地图添加数据

Cartopy是一个Python包,用于地理空间数据处理,以便生成地图和其他地理空间数据分析。 Cartopy利用了强大的PROJ.4、NumPy和Shapely库,并在Matplotlib之上构建了一个编程接口,用于创建发布高质量的地图。

Cartopy的主要特点是面向对象的投影定义,以及在投影之间转换点、线、向量、多边形和图像的能力。

import cartopy.crs as ccrs
import matplotlib.pyplot as plt
   
ax = plt.axes(projection=ccrs.PlateCarree())
ax.stock_img()
   
ny_lon, ny_lat = -75, 43
delhi_lon, delhi_lat = 77.23, 28.61
   
plt.plot([ny_lon, delhi_lon], [ny_lat, delhi_lat],
         color='blue', linewidth=2, marker='o',
         transform=ccrs.Geodetic(),
         )
   
plt.plot([ny_lon, delhi_lon], [ny_lat, delhi_lat],
         color='gray', linestyle='--',
         transform=ccrs.PlateCarree(),
         )
   
plt.text(ny_lon - 3, ny_lat - 12, 'New York',
         horizontalalignment='right',
         transform=ccrs.Geodetic())
   
plt.text(delhi_lon + 3, delhi_lat - 12, 'Delhi',
         horizontalalignment='left',
         transform=ccrs.Geodetic())
   
plt.show()
View Code

 Natural Earth - Free vector and raster map data at 1:10m, 1:50m, and 1:110m scales (naturalearthdata.com)

import geopandas as gpd
from geopandas import GeoDataFrame
from shapely.geometry import Polygon
from geopandas import GeoSeries
import matplotlib.pyplot as plt
p1 = Polygon([(0, 0), (1, 0), (1, 1)])
p2 = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])
p3 = Polygon([(2, 0), (3, 0), (3, 1), (2, 1)])
g = GeoSeries([p1, p2, p3])
g.buffer(0.5)
print (g.area)
g.plot()
plt.show()
View Code

geopandas在shapely库中提供了所有几何操作的工具。

 

posted @ 2024-02-20 09:05  有翅膀的大象  阅读(2)  评论(0编辑  收藏  举报