python求投影距离_python地图投影转换

本文介绍了Python中进行地图投影转换的方法,包括使用osr和proj4库进行点的转换,以及pyproj库进行不同坐标系间的转换。此外,还展示了如何对栅格数据进行投影转换,使用gdal库实现从UTM到经纬度坐标的转换,并通过重采样保持图像分辨率不变。
摘要由CSDN通过智能技术生成

一、投影包osr与proj4的使用

1.osr投影转换示例

from osgeo import osr,ogr

#定义投影

#wgs84

source=osr.SpatialReference()

source.ImportFromEPSG(4326)

#google

target=osr.SpatialReference()

target.ImportFromEPSG(3857)

#简单投影转换

coordTrans=osr.CoordinateTransformation(source,target)

#点转换

coordTrans.TransformPoint(117,40)

#点数组转换

coordTrans.TransformPoints([(117,40),(117.5,39.5)])

#SF几何对象转换

g=ogr.CreateGeometryFromWkt("POINT(117 40)")

#转换前wgs84

print(g.ExportToWkt())

print(g.GetX(),g.GetY())

#转换后google

g.Transform(coordTrans)

print(g.ExportToWkt())

print(g.GetX(),g.GetY())

2.投影转换示例

from pyproj import Proj,Geod,transform

# projection 1: UTM zone 15, grs80 ellipse, NAD83 datum

# (defined by epsg code 26915)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中有多种库可以用于地图投影,其中最常用的是Basemap和Cartopy库。这些库可以帮助你将地理数据转换成平面坐标系,以便在地图上进行可视化和分析。 1. Basemap库:Basemap是一个Matplotlib的扩展库,用于绘制地理数据和制作地图。它支持多种地图投影方式,如经纬度投影、UTM投影等。你可以使用Basemap库来创建地图对象,并在该对象上绘制你想要的地理特征。以下是一个基本的示例代码: ```python from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt # 创建地图对象 map = Basemap(projection='ortho', lat_0=50, lon_0=-100, resolution='l') # 绘制海岸线 map.drawcoastlines() # 绘制国家边界线 map.drawcountries() # 添加标题 plt.title('Orthographic Projection') # 显示地图 plt.show() ``` 2. Cartopy库:Cartopy是一个相对较新的库,旨在更简单、更直观地处理地理数据。它支持多种地图投影方式,包括等距圆柱投影、兰伯特圆锥投影、麦卡托投影等。以下是一个基本的示例代码: ```python import cartopy.crs as ccrs import matplotlib.pyplot as plt # 创建地图对象 ax = plt.axes(projection=ccrs.PlateCarree()) # 绘制海岸线 ax.coastlines() # 绘制国家边界线 ax.add_feature(cartopy.feature.BORDERS) # 添加标题 plt.title('Plate Carree Projection') # 显示地图 plt.show() ``` 无论你选择使用Basemap还是Cartopy库,都可以根据自己的需选择合适的地图投影方式,并对地图进行定制化操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值