首页 > Python教程 > Python应用 > python开发:矢量数据转栅格数据代码分享

python开发:矢量数据转栅格数据代码分享

时间:2019-09-30    作者:ninic   来源:互联网

这篇文章主要介绍了python 矢量数据转栅格数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

投影包osr与proj4的使用

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)
p1 = Proj(init='epsg:26915')
# projection 2: UTM zone 15, clrk66 ellipse, NAD27 datum
p2 = Proj(init='epsg:26715')
#点的转换(首先将地理坐标转换成p1投影坐标系下的平面直角坐标,再将x1,y1转换到p2投影坐标系下,最后将p2投影坐标系下的平面直角坐标转换成地理坐标)
x1,y1=p1(-92.199881,38.56694)
x2, y2 = transform(p1,p2,x1,y1)
print('%9.3f %11.3f' % (x1,y1))
print('%9.3f %11.3f' % (x2,y2))
print('%8.3f %5.3f' % p2(x2,y2,inverse=True))
#点数组的转换
lats = (38.83,39.32,38.75)
lons = (-92.22,-94.72,-90.37)
x1,y1=p1(lons,lats)
x2,y2=transform(p1,p2,x1,y1)
xy=x1+y1
print('%9.3f %9.3f %9.3f %11.3f %11.3f %11.3f' % xy)
xy=x2+y2
print('%9.3f %9.3f %9.3f %11.3f %11.3f %11.3f' % xy)
lons, lats = p2(x2,y2,inverse=True)
xy=lons+lats
print('%8.3f %8.3f %8.3f %5.3f %5.3f %5.3f' % xy)
p1 = Proj(proj='latlong',datum='WGS84')
x1 = -111.5; y1 = 45.25919444444
p2 = Proj(proj="utm",zone=10,datum='NAD27')
x2, y2 = transform(p1, p2, x1, y1)
print("%s %s" % (str(x2)[:9],str(y2)[:9]))

栅格数据投影转换

#栅格数据投影转换
from osgeo import gdal,osr
from osgeo.gdalconst import *
#源图像投影
source=osr.SpatialReference()
source.ImportFromEPSG(32650)
#目标图像投影
target=osr.SpatialReference()
target.ImportFromEPSG(3857)
coordTrans=osr.CoordinateTransformation(source,target)
#打开源图像文件
ds=gdal.Open("fdem.tif")
#仿射矩阵六参数
mat=ds.GetGeoTransform()
#源图像的左上角与右下角像素,在目标图像中的坐标
(ulx, uly, ulz)=coordTrans.TransformPoint(mat[0],mat[3])
(lrx, lry, lrz ) = coordTrans.TransformPoint(mat[0] + mat[1]*ds.RasterXSize, mat[3] + mat[5]* ds.RasterYSize )
#创建目标图像文件(空白图像),行列数、波段数以及数值类型仍等同原图像
driver=gdal.GetDriverByName("GTiff")
ts=driver.Create("fdem_lonlat.tif",ds.RasterXSize,ds.RasterYSize,1,GDT_UInt16)
#转换后图像的分辨率
resolution=(int)((lrx-ulx)/ds.RasterXSize)
#转换后图像的六个放射变换参数
mat2=[ulx, resolution,0,uly,0, -resolution]
ts.SetGeoTransform(mat2)
ts.SetProjection(target.ExportToWkt())
#投影转换后需要做重采样
gdal.ReprojectImage(ds, ts, source.ExportToWkt(), target.ExportToWkt(), gdal.GRA_Bilinear)
#关闭
ds = None
ts= None

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关推荐
幸运大转盘游戏规则直营网
用Python爬取B站5000 条视频,揭秘为何千万人为它流泪!
Python教程:如何用xlrd和xlwt库读和写Excel表格?
Python安装MySQL-python:EnvironmentError的解决办法
分享:Python2和Python3有那些差异?
Python 的内置对象都藏了哪些小秘密?
实战干货!用案例让你一文搞懂python网络爬虫
Python教程:图像处理模块ndimage用法实例分析
Python教程:代理IP爬虫的使用方法
Python教程:如何使用scipy模块实现一维卷积运算示例?
Python:关于内存分配时的那些小秘密分享
python技巧:global关键字的用法详解
Python教程:深入了解python在HDA中的应用
python技巧:SSLerror的requests证书问题解决方法
PyCharm教程:搭建Spark开发环境的几个步骤
Python开发技巧:openpyxl读取单元格字体颜色过程解析
Python教程:面向对象之Web静态服务器
Python教程:如何为终端提供持久性历史记录
Python技巧分享:自动登录淘宝并保存登录信息的方法
Python数据分析:利用Flask动态展示 Pyecharts 图表数据方法
python3教程:如何搭建微型的web服务器?
python技巧:xlwt如何设置单元格的自定义背景颜色
如何解决Python字符串和正则表达式中的反斜杠('\')问题?
Python开发技巧:编写一个简单登录功能过程解析
Python编程:postman传递当前时间戳实例详解
Python爬虫教程:使用beautifulSoup4爬取名言网案例代码分享
python开发:动态迁移solr数据过程分享
python数据分析:用线性回归预测股票价格的代码分析
Python教程:数据分析模块pandas用法详解
Python3教程:pandas.merge用法详解
Python爬虫案例:如何爬取豆瓣电影信息?附代码实例
python开发:如何编写简单端口扫描器?
Django框架教程:Pagination分页实现代码实例
python爬虫实例:猫眼电影和电影天堂数据csv和mysql存储过程
Python教程:实现TCP探测目标服务路由轨迹的原理与方法详解
基于python全局设置id 自动化测试元素定位的方法分享

精彩推荐

热门教程

网站地图 67彩注册直营网 云顶至尊彩票直营网 幸运彩票网直营网
申博在线充值 申博游戏娱乐 申博太阳城管理网 申博太阳城娱乐网33
五湖四海全讯网王 欧乐棋牌 新加坡金沙优惠代理最占成 新濠影汇网址
至尊彩票app下载直营网 幸运彩票网站直营网 至尊彩票官方网直营网 万家彩票网是传销吗直营网
至尊彩票平台直营网 九合至尊彩票直营网 568专业彩票官方网直营网 众彩app下载直营网
986XTD.COM 711PT.COM 898jbs.com XSB597.COM 388TGP.COM
1777DZ.COM 558jbs.com 8WJS.COM 578psb.com 688PT.COM
2222XSB.COM 617XTD.COM 304sun.com 388TGP.COM 761sj.com
XSB238.COM 44sbmsc.com 761sj.com 987XTD.COM 698DC.COM