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中from module import * 的一个坑
Jul 20 Python
浅析Python中的序列化存储的方法
Apr 28 Python
简单介绍Python下自己编写web框架的一些要点
Apr 29 Python
python图书管理系统
Apr 05 Python
python excel使用xlutils类库实现追加写功能的方法
May 02 Python
浅谈Python中的bs4基础
Oct 21 Python
Python 函数返回值的示例代码
Mar 11 Python
基于OpenCV python3实现证件照换背景的方法
Mar 22 Python
np.dot()函数的用法详解
Jan 17 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
Nov 25 Python
python与idea的集成的实现
Nov 20 Python
python树莓派通过队列实现进程交互的程序分析
Jul 04 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编写发红包程序
2015/07/22 PHP
PHP中模拟链表和链表的基本操作示例
2016/02/27 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
2017/05/20 PHP
childNodes.length与children.length的区别
2009/05/14 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
JavaScript 性能优化小结
2015/10/12 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
老生常谈Python基础之字符编码
2017/06/14 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
详解torch.Tensor的4种乘法
2020/09/03 Python
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
初中生期末考试的自我评价
2013/12/17 职场文书
电钳专业个人求职信
2014/01/04 职场文书
小学生秋游活动方案
2014/02/23 职场文书
个人委托函范文
2015/01/29 职场文书
2015年工程部工作总结
2015/04/30 职场文书
公司管理建议书
2015/09/14 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书