Python 根据数据模板创建shapefile的实现


Posted in Python onNovember 26, 2019

废话不多说,我就直接上代码让大家看看吧!

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : copyShapefile.py
# @Author: huifer
# @Date : 2018-4-28
from os.path import exists

import gdal

from osgeo import ogr
from os import remove

gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES") # 路径中文
gdal.SetConfigOption("SHAPE_ENCODING", "GBK") # 属性中文
in_shapefile = "dataSample/wang_point.shp"# 数据模板
out_shapefile = "shapefileAa.shp" # 输出数据集
in_ds = ogr.Open(in_shapefile) # 读取模板数据
in_lyr = in_ds.GetLayerByIndex(0)
if exists(out_shapefile):
  remove(out_shapefile)
drv = ogr.GetDriverByName("ESRI Shapefile") # 指定数据驱动
out_ds = drv.CreateDataSource(out_shapefile) # 创建数据源
proj = in_lyr.GetSpatialRef() # 获取模板坐标系
out_lyr = out_ds.CreateLayer(out_shapefile.split(".")[0], proj, ogr.wkbPoint)
# copy the schema of the original shapefile to the destination shapefile
lyr_def = in_lyr.GetLayerDefn()
for i in range(lyr_def.GetFieldCount()): # 获取字段长度
  out_lyr.CreateField(lyr_def.GetFieldDefn(i)) # 创建字段
  feature = ogr.Feature(lyr_def)
  wkt = "POINT(88615.730000 75345.486000)"
  point = ogr.CreateGeometryFromWkt(wkt)
  feature.SetGeometry(point)
  # 添加点
  out_lyr.CreateFeature(feature)
  # 关闭 特征
  feature = None
  # 关闭数据
data_source = None

以上这篇Python 根据数据模板创建shapefile的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python创建系统目录的方法
Mar 11 Python
Go语言基于Socket编写服务器端与客户端通信的实例
Feb 19 Python
Python处理文本文件中控制字符的方法
Feb 07 Python
Python星号*与**用法分析
Feb 02 Python
利用Python将每日一句定时推送至微信的实现方法
Aug 13 Python
python dict 相同key 合并value的实例
Jan 21 Python
python游戏开发之视频转彩色字符动画
Apr 26 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
flask利用flask-wtf验证上传的文件的方法
Jan 17 Python
Python类的绑定方法和非绑定方法实例解析
Mar 04 Python
pandas数据处理之绘图的实现
Jun 15 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
Jun 18 Python
Python实现直播推流效果
Nov 26 #Python
Python利用matplotlib绘制约数个数统计图示例
Nov 26 #Python
创建Shapefile文件并写入数据的例子
Nov 26 #Python
python使用opencv在Windows下调用摄像头实现解析
Nov 26 #Python
使用Python实现 学生学籍管理系统
Nov 26 #Python
python redis 批量设置过期key过程解析
Nov 26 #Python
python3 tkinter实现添加图片和文本
Nov 26 #Python
You might like
一个很不错的PHP翻页类
2009/06/01 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
js DOM的学习笔记
2011/12/22 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
AngularJS表单基本操作
2017/01/09 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
讲解python参数和作用域的使用
2013/11/01 Python
pygame学习笔记(5):游戏精灵
2015/04/15 Python
python发送邮件脚本
2018/05/22 Python
利用Django-environ如何区分不同环境
2018/08/26 Python
python快排算法详解
2019/03/04 Python
Python求凸包及多边形面积教程
2020/04/12 Python
HTML5+CSS3应用详解
2014/02/24 HTML / CSS
财务总监岗位职责
2014/03/07 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
应届生求职信范文
2014/05/26 职场文书
贷款委托书
2014/08/01 职场文书
后勤个人工作总结
2015/02/28 职场文书
教师党员自我评价2015
2015/03/04 职场文书
运动会报道稿大全
2015/07/23 职场文书
安全生产会议制度
2015/08/06 职场文书