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使用beautifulsoup从爱奇艺网抓取视频播放
Jan 23 Python
5种Python单例模式的实现方式
Jan 14 Python
python Django编写接口并用Jmeter测试的方法
Jul 31 Python
python如何使用Redis构建分布式锁
Jan 16 Python
Python插入Elasticsearch操作方法解析
Jan 19 Python
python设置环境变量的作用整理
Feb 17 Python
python程序文件扩展名知识点详解
Feb 27 Python
解决使用python print打印函数返回值多一个None的问题
Apr 09 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
May 27 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 Python
python tkinter模块的简单使用
Apr 07 Python
python playwrigh框架入门安装使用
Jul 23 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
Banner程序
2006/10/09 PHP
php下实现折线图效果的代码
2007/04/28 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
浅谈PHP array_search 和 in_array 函数效率问题
2019/10/15 PHP
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
AngularJS基础知识
2014/12/21 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
ES6 系列之 WeakMap的使用示例
2018/08/06 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
2019/12/25 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
团员学习总结的自我评价范文
2013/10/14 职场文书
颁奖典礼主持词
2014/03/25 职场文书
服务承诺书怎么写
2014/05/24 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
主持稿开场白
2015/06/01 职场文书
低端且暴利的线上线下创业项目分享
2019/09/03 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js