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使用pil生成缩略图的方法
Mar 26 Python
python中 chr unichr ord函数的实例详解
Aug 06 Python
python OpenCV学习笔记直方图反向投影的实现
Feb 07 Python
Python之pandas读写文件乱码的解决方法
Apr 20 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
Jun 04 Python
python检测主机的连通性并记录到文件的实例
Jun 21 Python
pygame游戏之旅 游戏中添加显示文字
Nov 20 Python
python实现简单多人聊天室
Dec 11 Python
浅谈python中频繁的print到底能浪费多长时间
Feb 21 Python
Python发送手机动态验证码代码实例
Feb 28 Python
关于python scrapy中添加cookie踩坑记录
Nov 17 Python
python3 实现mysql数据库连接池的示例代码
Apr 17 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多维数组的深度的方法
2014/01/07 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
浅谈php(codeigniter)安全性注意事项
2017/04/06 PHP
基于jquery的cookie的用法
2011/01/10 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
javascript实现滑动解锁功能
2014/12/31 Javascript
jQuery中clone()方法用法实例
2015/01/16 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
2017/03/21 jQuery
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
利用pm2部署多个node.js项目的配置教程
2017/10/22 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
Vue中使用wangeditor富文本编辑的问题
2021/02/07 Vue.js
python标准日志模块logging的使用方法
2013/11/01 Python
python和shell变量互相传递的几种方法
2013/11/20 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
使用Python实现 学生学籍管理系统
2019/11/26 Python
Python多线程正确用法实例解析
2020/05/30 Python
Ralph Lauren意大利官方网站:时尚界最负盛名的品牌之一
2018/10/18 全球购物
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
C语言笔试题
2014/09/04 面试题
庆祝教师节标语
2014/10/09 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
公司职员入党自传书
2015/06/26 职场文书
HashMap实现保存两个key相同的数据
2021/06/30 Java/Android