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多线程用法实例详解
Jan 15 Python
在Python的Flask框架中实现全文搜索功能
Apr 20 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 Python
使用Python检测文章抄袭及去重算法原理解析
Jun 14 Python
Django配置MySQL数据库的完整步骤
Sep 07 Python
Python使用matplotlib 画矩形的三种方式分析
Oct 31 Python
windows环境中利用celery实现简单任务队列过程解析
Nov 29 Python
使用python实现哈希表、字典、集合操作
Dec 22 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
Mar 19 Python
Flask使用SQLAlchemy实现持久化数据
Jul 16 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
Mar 25 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
15种PHP Encoder的比较
2007/03/06 PHP
php实现的仿阿里巴巴实现同类产品翻页
2009/12/11 PHP
PHP 函数执行效率的小比较
2010/10/17 PHP
ajax 的post方法实例(带循环)
2011/07/04 PHP
给ECShop添加最新评论
2015/01/07 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
基于jquery的让页面控件不可用的实现代码
2010/04/27 Javascript
Ajax异步提交表单数据的说明及方法实例
2013/06/22 Javascript
邮箱下拉自动填充选择示例代码附图
2014/04/03 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
JavaScript实现在页面间传值的方法
2015/04/07 Javascript
快速使用Bootstrap搭建传送带
2016/05/06 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
js date 格式化
2017/02/15 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
Vue.js watch监视属性知识点总结
2019/11/11 Javascript
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
如何优雅地改进Django中的模板碎片缓存详解
2018/07/04 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
几个Linux面试题笔试题
2016/08/01 面试题
个人简历的自荐信
2013/10/23 职场文书
团员个人的自我评价
2013/12/02 职场文书
群众路线学习心得体会范文
2014/11/05 职场文书
离婚协议书范文
2015/01/26 职场文书
上课说话检讨书
2015/01/27 职场文书
指导教师推荐意见
2015/06/05 职场文书
公司车辆维修管理制度
2015/08/05 职场文书