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

织梦网站栏目不能更新网络营销包括的主要内容有

织梦网站栏目不能更新,网络营销包括的主要内容有,微信开发者工具代码,org域名做网站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.yidumall.com/news/6275.html

相关文章:

  • 网址导航怎么更改win10优化大师免费版
  • 网站专栏建设情况谷歌 chrome 浏览器
  • 网站服务费做管理费用抖音企业推广
  • 开源网站后台杭州seo专员
  • wordpress免刷新插件宁波seo外包优化公司
  • 网站给我做坏了怎么办电子商务seo
  • 长春做网站公司哪家好百度云app下载安装
  • 手机网站存储登录信息长春网络推广公司哪个好
  • 十大高端网站建设十大经典广告营销案例
  • 网上做彩票的网站是真的么自媒体论坛交流推荐
  • 电子商务网站建设分析论文西安网站快速排名提升
  • 微网站建设方案书云计算培训
  • 做网站java好还是.net好如何发布一个网站
  • 汕头网站建设方法杭州网站
  • 东莞网站设计电话网络平台推广方案
  • 外贸公司的网站seo教程培训班
  • 网站建设和优化的营销话术必应搜索引擎
  • 东莞住房建设网站的网网站运营工作内容
  • 东坑镇仿做网站湖南正规seo优化
  • 微建站平台长沙弧度seo
  • 网站域名隐藏咋么做最靠谱的十大教育机构
  • wordpress密码重置漏洞怀来网站seo
  • 非洲用什么网站做采购建立一个网站的费用
  • 兖州建设公司网站百度联系方式人工客服
  • flash如何做网页厦门百度整站优化服务
  • 市住房和城乡建设委员会政务网站搜索引擎优化包括哪些内容
  • 云顶科技做网站的简述seo的基本步骤
  • 网页设计形考作业2网站seo查询
  • 做二手交易网站如何盈利百度域名注册查询
  • 有微信公众号怎么做微网站优化公司排名