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中Collection的使用小技巧
Aug 18 Python
python实现斐波那契递归函数的方法
Sep 08 Python
Python多线程编程(八):使用Event实现线程间通信
Apr 05 Python
python通过apply使用元祖和列表调用函数实例
May 26 Python
python实现红包裂变算法
Feb 16 Python
Python的collections模块中namedtuple结构使用示例
Jul 07 Python
python OpenCV学习笔记实现二维直方图
Feb 08 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
python 数据分析实现长宽格式的转换
May 18 Python
简单了解python关键字global nonlocal区别
Sep 21 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
Sep 30 Python
Python 微信公众号文章爬取的示例代码
Nov 30 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
CodeIgniter框架URL路由总结
2014/09/03 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
2015/08/08 PHP
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
用ADODB.Stream转换
2007/01/22 Javascript
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
JavaScript观察者模式(经典)
2015/12/09 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
vue cli构建的项目中请求代理与项目打包问题
2018/02/26 Javascript
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
jQuery实现的五星点评功能【案例】
2019/02/18 jQuery
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
python进行TCP端口扫描的实现
2018/12/21 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
python plotly画柱状图代码实例
2019/12/13 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
python递归函数用法详解
2020/10/26 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
实现向右循环移位
2014/07/31 面试题
网站编辑求职信
2013/10/17 职场文书
马智宇结婚主持词
2014/04/01 职场文书
优秀研究生主要事迹
2014/06/03 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
2015年世界无烟日活动总结
2015/02/10 职场文书
Python 图片添加美颜效果
2022/04/28 Python