当前位置: 首页 > news >正文

情趣官方网站怎么做代理网站质量度

情趣官方网站怎么做代理,网站质量度,wordpress博客怎么访问不了,设计说明500字ogr库是一个处理地理空间矢量数据的开源库。它可以读取多种数据格式,进行地理处理、属性表操作、数据分析等操作。目前ogr和osr库已集成到GDAL库中,可以对栅格数据、矢量数据进行处理分析,被3S的研究人员广泛应用。感兴趣的可以自己去了解一下…

        ogr库是一个处理地理空间矢量数据的开源库。它可以读取多种数据格式,进行地理处理、属性表操作、数据分析等操作。目前ogr和osr库已集成到GDAL库中,可以对栅格数据、矢量数据进行处理分析,被3S的研究人员广泛应用。感兴趣的可以自己去了解一下,不懂得可以一起交流!

        最近发现之前写的代码都快不认识了,所以及时做笔记真的很重要。今天给大家分享下如何使用Python对矢量数据进行编辑,顺便自己也复习一下。

一、安装库

        osgeo这个库真的非常强大,大家可以自己去了解一下。矢量数据分为datasource,layer,feature三个层次!!!

from osgeo import gdal, osr, ogr

二、查询矢量数据

1.打开矢量数据

def Open_Vector(path_shp):ds = ogr.Open(path_shp, True)# True表示以读写方式打开layer = ds.GetLayer(0)# 获取图层,图层

2.获取字段属性

def Get_Data(layer):feature_count = layer.GetFeatureCount()# 获取要素的数量feature = layer.GetFeature(1)# 获取shp中第一个要素field_count = layer.GetLayerDefn().GetFieldCount()# 获取要素的字段数field_data = feature.GetField("1")# 获取字段“1”的值

3.获取字段的值

def Get_field(layer):for feature in layer:# feature的意义就是GIS中泛指的要素(一个shp中包含多少个面)field_data = feature.GetField("1")# 获取字段“1”的值print(field_data)# 获取要素的字段值!!!!!

4.获取图层地理范围

def Get_Spatial(layer):left, right, down, up = layer.GetExtent()print(left, right, down, up)# 获取图层的地理范围

5.获取某一要素的地理范围

def Get_feature_Spatial(layer):feature = layer.GetFeature(0)geom = feature.GetGeometryRef()# 获取该要素的地理空间范围left, right, down, up = geom.GetEnvelope()# 获取四个角点的坐标

三、修改矢量数据

1.修改要素的字段值

def Repair_field(layer):feature = layer.GetFeature(1)# 获取shp中第一个要素feature.SetField("Id", "3")# 将当前要素的"Id"字段值改为"3"layer.SetFeature(feature)# 修改要素的字段值!!!!!

四、创建新矢量

1.创建新字段

def Create_field(layer):# layer.CreateField(ogr.FieldDefn('name', ogr.OFTString))  # ogr.OFTString表示字符型new_field = ogr.FieldDefn('value', ogr.OFTReal)  # 给目标shp文件添加一个字段new_field.SetWidth(32)new_field.SetPrecision(16)layer.CreateField(new_field)# 创建新的字段!!!!!

2.创建新的矢量文件(shp)

def Create_shp(shp):target_proj = osr.SpatialReference()# 初始化osr.SpatialReference对象以形成一个合法的坐标系统target_proj.ImportFromEPSG(4326)driver = ogr.GetDriverByName("ESRI Shapefile")polygon = driver.CreateDataSource(shp)  # 创建数据资源layer_polygon = polygon.CreateLayer("Shp", srs=target_proj, geom_type=ogr.wkbMultiPolygon)# 创建图层,定义多面new_field = ogr.FieldDefn('value', ogr.OFTReal)layer_polygon.CreateField(new_field)# 给目标shp文件添加一个字段layer_defn = layer_polygon.GetLayerDefn()# 定义图层feature = ogr.Feature(layer_defn)# 创建要素feature.SetField("value", 5)# 给该要素的value字段定义为5geom = ogr.CreateGeometryFromWkt("POLYGON ((0 0,20 0,10 15,0 0))")# 定义一个空间图形feature.SetGeometry(geom)# 将图形赋值到要素上layer_polygon.CreateFeature(feature)# 创建该要素,写入layer_polygon = None

五、删除矢量数据

1.删除字段

def Delete_field(layer):field_name = "2"field_count = layer.GetLayerDefn().GetFieldCount()# 获取要素的字段数for i in range(field_count):# 循环该要素的所有字段if field_name == layer.GetLayerDefn().GetFieldDefn(i).GetName():# 判断字段名是否等于输入的字段名,如果是返回它的索引值layer.DeleteField(i)# 删除索引为i的字段# 删除字段!!!!!

2.删除要素

def Delete_feature(layer):feature_count = layer.GetFeatureCount()# 获取要素的数量for i in range(0, feature_count):if layer.GetFeature(i).GetField("1") == 0:layer.DeleteFeature(i)for feat in layer:if feat.GetField('Area') < 20 or feat.GetField('Area') > 3000:layer.DeleteFeature(feat.GetFID())# 删除要素!!!!!

        由于我代码中已给详细的解释,所以就不单独加以文字说明了。本文章主要是分享个人在学习Python过程中写过的一些代码。有些部分借鉴了前人以及官网的教程,如有侵权请联系作者删除,大家有问题可以随时留言交流,博主会及时回复。

http://www.yayakq.cn/news/891129/

相关文章:

  • 加盟网站制作费用wordpress悬浮
  • 做用户名验证的网站服务器hugo 怎么做网站
  • 微信外链网站哪些网站可以找到做跨境电商的公司
  • 全国企业信用信息公示系统云南seo基础入门教程
  • 如何做视频会员网站山东专业网站建设哪家便宜
  • 网站建设的一些原理做软件常用的网站有哪些软件
  • 营销型网站重要性深圳企业网络推广运营技巧
  • 站长工具国产2022门户网站策划方案
  • 阿里巴巴网站建设初衷网站开发需要哪些人才
  • 做个企业网站多少钱wordpress菜单添加图标
  • 电商网站设计公司可去亿企邦wordpress建站时间
  • 无锡响应式网站制作做网站网站多久会被抓
  • 网络写作平台谷歌优化技术
  • 手机网站有什么要求上海哪家seo好
  • seo网站排名优化服务广州公司注册需要哪些资料
  • 一个人做网站原型网络推广的优势有哪些
  • 网站备案管理办法通州区网站制作
  • 网站建设的案例个人主体可以做网站吗
  • 网站返回顶部怎么做网赌网站怎么做
  • 简述网站建设的流程做成一个页面seo软件排行榜前十名
  • 富阳网站设计cms网站开发涉及的知识
  • 中国网站备案中关村在线手机参数对比
  • 河北京电电力建设有限公司网站北京企业网站定制
  • 网站建设哪家有名投资1元赚1000
  • 手机网站 免费 html百度云网盘官网
  • 天津 网站开发我想做社区团购怎么做
  • 做网站项目体会天津制作网页
  • 福州seo建站蓝色网站源码
  • wap手机网站分享代码美妆网站制作教程
  • 重庆专业做网站公司看谁做的好舞蹈视频网站