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采集博客中上传的QQ截图文件
Jul 18 Python
在Python的Django框架中显示对象子集的方法
Jul 21 Python
在Mac OS上搭建Python的开发环境
Dec 24 Python
Python守护进程和脚本单例运行详解
Jan 06 Python
Python基于回溯法子集树模板解决数字组合问题实例
Sep 02 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
Sep 27 Python
Python闭包和装饰器用法实例详解
May 22 Python
Python中zip()函数的简单用法举例
Sep 02 Python
Python3离线安装Requests模块问题
Oct 13 Python
python tkinter canvas使用实例
Nov 04 Python
Python print不能立即打印的解决方式
Feb 19 Python
python模拟点击网页按钮实现方法
Feb 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
PHPExcel内存泄漏问题解决方法
2015/01/23 PHP
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
jQuery中创建实例与原型继承揭秘
2011/12/21 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
js 判断checkbox是否选中的操作方法
2012/11/09 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
json数据的列循环示例
2013/09/06 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
JavaScript获取键盘按键的键码(参照表)
2017/01/10 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
knockoutjs模板实现树形结构列表
2017/07/31 Javascript
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
Vue实现简单分页器
2018/12/29 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
python进程类subprocess的一些操作方法例子
2014/11/22 Python
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
python实现名片管理系统
2018/11/29 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
python -v 报错问题的解决方法
2020/09/15 Python
python之pygame模块实现飞机大战完整代码
2020/11/29 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
乐天旅游台湾网站:Rakuten Travel TW
2017/06/01 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
幼师专业毕业生自荐信
2013/09/29 职场文书
开办饭店创业计划书
2013/12/28 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
企业党员个人自我评价
2014/09/20 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书