首页 > 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 自动化测试元素定位的方法分享

精彩推荐

热门教程

网站地图 金巴黎彩票app下载登入 易博天下登入 新葡京彩票网址登入
沙龙娱乐官方网登陆 申博娱乐开户 申博在线娱乐 网络电子游戏
太阳城网上娱乐网址 鄱阳865棋牌群号 彩票2元网台湾宾果 恒彩彩票广西快3
七星彩开奖结果登入 澳彩网彩票网址登入 东方彩票网靠谱吗登入 金巴黎彩票官方网登入
金巴黎彩票到哪里注册登入 易博彩票官网登入 金巴黎怎么注册登入 易博娱乐平台登入
S618Y.COM 278sunbet.com 8BAS.COM 56jbs.com 958psb.com
XSB798.COM 8JZS.COM 368PT.COM XSB173.COM 508XTD.COM
135PT.COM 187sunbet.com 8NDS.COM 777sbib.com 585DC.COM
592ib.com 129SUN.COM 787sunbet.com 98csb.com 66sbsun.com