您的位置:首页 > 编程语言 > Python开发

Python将Excel生成SHP

2016-08-20 10:19 561 查看
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gdal
import xlrd
import shapefile

# open the excel file
excel_file = xlrd.open_workbook("../geodata/highest-mountains-europe.xlsx")

# get the first sheet
sh = excel_file.sheet_by_index(0)
w = shapefile.Writer(shapefile.POINT)

# fields available GeoNameId    Name    Country    Latitude    Longitude    Altitude (m)
w.field('GeoNameId','F')
w.field('Name', 'C')
w.field('Country', 'C')
w.field('Latitude', 'F')
w.field('Longitude', 'F')
w.field('Altitude', 'F')

# loop over each row in the excel sheet
for rownum in range(sh.nrows):
# skips over the first row since it is the header row
if rownum == 0:
continue
else:
x_coord = sh.cell_value(rowx=rownum, colx=4)
y_coord = sh.cell_value(rowx=rownum, colx=3)
w.point(x_coord, y_coord)

w.record(GeoNameId=sh.cell_value(rowx=rownum, colx=0), Name=sh.cell_value(rowx=rownum, colx=1),
Country=sh.cell_value(rowx=rownum, colx=2), Latitude=sh.cell_value(rowx=rownum, colx=3),
Longitude=sh.cell_value(rowx=rownum, colx=4),Altitude=sh.cell_value(rowx=rownum, colx=5))
print( "Adding row: " + str(rownum) + " creating mount: " + sh.cell_value(rowx=rownum, colx=1) )

w.save('../geodata/highest-mountains')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: