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跳出循环语句continue与break的区别
Aug 25 Python
Python3处理文件中每个词的方法
May 22 Python
深入解析Python中的线程同步方法
Jun 14 Python
Python socket网络编程TCP/IP服务器与客户端通信
Jan 05 Python
Python 登录网站详解及实例
Apr 11 Python
使用XML库的方式,实现RPC通信的方法(推荐)
Jun 14 Python
用不到50行的Python代码构建最小的区块链
Nov 16 Python
Python下载网络文本数据到本地内存的四种实现方法示例
Feb 05 Python
python MNIST手写识别数据调用API的方法
Aug 08 Python
python设定并获取socket超时时间的方法
Jan 12 Python
使用Python串口实时显示数据并绘图的例子
Dec 26 Python
python标准库OS模块详解
Mar 10 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
如何选购合适的收音机
2021/03/01 无线电
php生成EXCEL的东东
2006/10/09 PHP
php过滤危险html代码
2008/08/18 PHP
PHP中把数据库查询结果输出为json格式简单实例
2015/04/09 PHP
PHPMailer发送邮件
2016/12/28 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
JavaScript 计算图片加载数量的代码
2011/01/01 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
Python实现公历(阳历)转农历(阴历)的方法示例
2017/08/22 Python
对Tensorflow中权值和feature map的可视化详解
2018/06/14 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
Python实现多线程/多进程的TCP服务器
2019/09/03 Python
python else语句在循环中的运用详解
2020/07/06 Python
利用python 下载bilibili视频
2020/11/13 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
使用canvas绘制超炫时钟
2014/12/17 HTML / CSS
文明工地标语
2014/06/16 职场文书
2015年电话客服工作总结
2015/05/18 职场文书
结婚纪念日感言
2015/08/01 职场文书
法院执行局工作总结
2015/08/11 职场文书
财务人员入职担保书
2015/09/22 职场文书
年终工作总结范文
2019/06/20 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python
Pandas 稀疏数据结构的实现
2021/07/25 Python
php将xml转化对象的实例详解
2021/11/17 PHP
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers