当前位置:   article > 正文

python+gdal+excel构建矢量图_gdal epsg表

gdal epsg表

本文介绍一个从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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

third:

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

注意在建立字段是设置的字段的类型,下图反映了字段类型常量和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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/530802
推荐阅读
相关标签
  

闽ICP备14008679号