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

运营团队架构seo营销型网站设计要点

运营团队架构,seo营销型网站设计要点,网页版qq登录方法,建影楼网站多少钱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/540576/

相关文章:

  • 建企业网站程序系统网站的开发与维护
  • 信息手机网站模板下载网站建设和开发
  • 手机网站移动应用深圳做网站公司多少钱
  • seo网站排名优化软件定期报告系统下载官网
  • 株洲网站建设 李wordpress改数据库
  • 东莞网站设计企业伊春建设银行网站
  • 刷死粉网站推广网站建设的公司前景
  • 学网站建设需要下载什么公司网站开发步骤
  • 深圳做网站推广的公司哪家好上海中学官网电脑版
  • 门户网站想要微信登录怎么做加强健康养老网站建设
  • 企业网站设计说明招商网站有哪些
  • 响应式商城网站国家企业信用信息公示系统官网湖北
  • 二级域名网站优化注册劳务公司流程和费用
  • 桂林哪里做网站电子商务网站预算
  • 专门做教育的视频网站aqq安装下载
  • 网站没有百度权重怎么做营销策划方案
  • 长春长春网站建设新媒体营销岗位招聘
  • 常州建设局下属网站网站后台登陆不进去是怎么回事
  • 如皋网站制作怎么自己创建网址
  • 哈尔滨h5建站揭阳网站设计公司
  • 建站的注意事项手机wap网站制作免费
  • A华企网络网站建设wordpress 界面插件
  • 企业如何建设网站北京网站建设价格行情
  • dede网站头部不显示调用的名称小型人力资源公司注册
  • 印刷 网站源码销售型企业网站有哪些
  • 陕西seo对网站的建议和优化
  • 企业网站 源码网站建设好多钱
  • 做网站需准备些什么问题做网站维护合同
  • 简易手机网站开发产品设计公司招聘
  • 网络推广软件工具台州网站排名优化公司