首页 > 其他分享 >shp 地图文件批量添加字段

shp 地图文件批量添加字段

时间:2023-06-14 11:24:09浏览次数:55  
标签:shp layer FieldDefn CreateField filename ogr 添加 文件批量

# -- coding:utf-8 -- import geopandas as gpd import os from osgeo import ogr # shp 文件批量添加字段 def addfeilds(filepath):     for filename in os.listdir(filepath):         print(filename)         if filename.endswith(".shp"):             try:                 driver = ogr.GetDriverByName('ESRI Shapefile')                 datasource = driver.Open(filepath + filename, 1) # 0只读,1可写                 layer = datasource.GetLayer()                 layer.CreateField(ogr.FieldDefn('_id',ogr.OFTInteger))                 layer.CreateField(ogr.FieldDefn('province_c',ogr.OFTInteger64))                 layer.CreateField(ogr.FieldDefn('province_n',ogr.OFTString))                 layer.CreateField(ogr.FieldDefn('city_code',ogr.OFTInteger64))                 layer.CreateField(ogr.FieldDefn('city_name',ogr.OFTString))                 layer.CreateField(ogr.FieldDefn('county_cod',ogr.OFTInteger64))                 layer.CreateField(ogr.FieldDefn('county_nam',ogr.OFTString))                 layer.CreateField(ogr.FieldDefn('Hazard_cla',ogr.OFTString))                 layer.CreateField(ogr.FieldDefn('class',ogr.OFTInteger))             except Exception as ex:                 print('文件{0}添加字段失败,错误信息为:{1}'.format(filename, ex))

标签:shp,layer,FieldDefn,CreateField,filename,ogr,添加,文件批量
From: https://www.cnblogs.com/gzl0612/p/17479674.html

相关文章

  • 为 papermod 主题添加 Latex 支持
    stepstofollow在themes/PaperMod/layouts/partials目录下创建math.html文件,文件内容如下<linkrel="stylesheet"href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css"integrity="sha384-bYdxxUwYipFNohQlHt0bjN/LCpueqWz13HufFEV1SUatK......
  • 给ZSH 添加时间戳
    Addthefollowingsnippetatthebottomof~/.zshrcfile.Option1-JusttimeRPROMPT='[%D{%L:%M:%S}]'$RPROMPTOption2-DateandtimeRPROMPT="[%D{%f/%m/%y}|%D{%L:%M:%S}]"Whenyouaredone,run$source~/.zshrctoseetheeff......
  • 如何给fetch添加超时功能
    目前大部分的实现方式是利用promise.raceconstfetchTimeOut=(timeout=1000)=>{returnnewPromise((resolve,reject)=>{setTimeOut(()=>{reject('fetchtimeOut')},timeout)})}constrequest=(url,options)......
  • nginx添加第三方模块
    1.理念nginx除了支持内置模块,还支持第三方模块,但是第三方模块需要重新编译进nginx。(重新生成nginx二进制命令)1.如你的nginx默认不支持https2.给你的nginx添加echo模块,用于打印nginx的变量。 2.编译添加echo模块echo-nginx-module 模块可以在Nginx中用来输出一些信息......
  • word跨文件批量替换
    开发工具->vbs编辑新建一个模块SubWord内容替换()Dim筛选AsFileDialogDim文件名,文件AsDocumentDimpd,计数AsIntegerSet筛选器=Application.FileDialog(msoFileDialogFilePicker)With筛选器.Al......
  • 忽略git上传的文件,修改添加.gitignore
    git#忽略编译输出文件夹/target//build//out//bin//.settings/#忽略IDE和编辑器生成的文件和文件夹.idea/.eclipse/.vscode/*.iml#忽略依赖文件夹/node_modules//bower_components/#忽略操作系统生成的文件.DS_StoreThumbs.db#忽略日志文件*.log#......
  • mapbox添加自定义控件
    需要定义一个类,然后至少重写实现onAdd、onRemove方法,示例如下<template><divref="changeViewRef"@click="changeView"class="changeViewmapboxgl-ctrl"><el-tooltipclass="box-item"effect="dark"......
  • 3dmax编辑常用按钮添加
    显示按钮,点击带笔的小图标修改按钮......
  • Mac下添加java环境变量
    发现一个坑:最近发现有同事按照本文方式配置jdk环境变量一直不成功,后来发现他是使用了“Oh-My-Zsh”,配置文件的路径不是/etc/profile或~/.bash_profile,它有自己的配置文件,所以还是推荐大家使用mac自带的终端或者iTerm2来配置。————————正文开始——————-Mac下添加java环......
  • Navicat Premium将关系和实体添加到概念模型的方法
    NavicatPremium是一款强大的跨平台数据库管理工具,支持多种主流的关系型数据库系统,包括MySQL、MariaDB、SQLite、Oracle、PostgreSQL和MicrosoftSQLServer等。它提供了直观易用的用户界面和丰富的功能,使得数据库管理变得更加简单和高效。要添加关系,请单击工具栏中的新关系......