python+gdal+excel构建矢量图

5 篇文章 0 订阅
1 篇文章 0 订阅

本文介绍一个从excel中读取数据,从而构建点状矢量文件的方法(当然构建面状,线状也是类似的,如有需要可以留言),使用的python+gdal库+xlrd。当然本程序不一定是最简化的,各位读者可以自行优化。本文并不是附上所有的程序而是针对重要的代码段进行讲解。
first:

import xlrd  ###读取excel文件,比较简单,读取出每个点的
##信息比如经纬度,还有其他的属性。
file_path = r'C:\Users\Administrator\Desktop\AQ.xls'
data = xlrd.open_workbook(file_path)
table = data.sheet_by_name('Sheet1')
nrows = table.nrows
ncols = table.ncols
rowvalue = table.row_values(1)
col_values = table.col_values(1)
lon = table.cell(1,4).value
lat = table.cell(1,5).value

second:

import osgeo.ogr as ogr
import osgeo.osr as osr
##导入相应的gdal库然后设置好矢量驱动,矢量坐标系等一系列信息
driver = ogr.GetDriverByName("ESRI Shapefile")
data_source = driver.CreateDataSource("d:/test/shp/yanmu.shp")
srs = osr.SpatialReference()
srs.ImportFromEPSG(4326)
layer = data_source.CreateLayer("yanmu", srs, ogr.wkbPoint)

third:

##这一部分就是建立字段,并向字段内添加信息
layer.CreateField(ogr.FieldDefn("Latitude", ogr.OFTReal))
layer.CreateField(ogr.FieldDefn("Longitude", ogr.OFTReal))
feature.SetField("Latitude", lat)
feature.SetField("Longitude", lon)

注意在建立字段是设置的字段的类型,下图反映了字段类型常量和ogr类型之间的对应关系。
在这里插入图片描述

four:

##第四部分就是收尾,输入坐标,然后关闭图层和数据集
wkt = "POINT(%f %f)" %  (float(lon) , float(lat))
point = ogr.CreateGeometryFromWkt(wkt)
feature.SetGeometry(point)
layer.CreateFeature(feature)
feature = None
data_source = None

以上便是总结,如有疑问,欢迎留言。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值