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

如何判断网站是否被kwordpress博客分享到朋友圈

如何判断网站是否被k,wordpress博客分享到朋友圈,住宅设计网站推荐,评估企业网站建设OGR库是一个非常流行的处理地理空间矢量数据的开源库。它可以读取丰富的数据格式#xff0c;允许用户进行几何处理、属性表操作、数据分析#xff0c;是个非常强大的开源GIS库。目前OGR已集成在GDAL库中#xff0c;可以说是GIS的本源之一了#xff0c;有大量的软件用到了这…OGR库是一个非常流行的处理地理空间矢量数据的开源库。它可以读取丰富的数据格式允许用户进行几何处理、属性表操作、数据分析是个非常强大的开源GIS库。目前OGR已集成在GDAL库中可以说是GIS的本源之一了有大量的软件用到了这个库。本篇文章是关于OGR库的一些基础用法汇总将会持续更新~这里推荐两个比较好的OGR学习资源网站Welcome to the Python GDAL/OGR Cookbook!​pcjericks.github.iohttps://gdal.org/python/​gdal.org1. GDAL库的安装首先要去下面的网站https://www.lfd.uci.edu/~gohlke/pythonlibs/​www.lfd.uci.edu找到GDAL对应的地址下载gdal对应python版本的whl文件这里因为我是python 3.7 64位的所以下载相应版本就行了下载到本地后对文件存放的文件夹按住shift鼠标右键选择“在此处打开Powershell窗口”然后在弹出来的对话框中键入“pip install 文件名”按回车等待安装即可在安装好之后会成功安装osgeo这个包。OGR模块是在osgeo包中的。这个包里的所有模块都是以小写字母命名。2. 读取矢量数据2.1 定义Driver在正式读写之前得先理解一下OGR的对象组织形式弄清楚OGR类之间的关系。在打开一个矢量数据前首先需要定义一个driver用来告诉OGR你想要读取何种格式的数据。每个driver就是对应一种数据格式比如‘ESRI Shapefile’就是对应的shp格式。OGR可以读取70多个数据格式基本常用的都包含了。下面是定义driver的一个示例from osgeo import ogr driver ogr.GetDriverByName(ESRI Shapefile) 2.2 OGR类结构在讲如何打开数据之前最好先了解一下OGR的对象组织逻辑。使用OGR打开一个矢量数据如shp文件或GeoJSON文件会产生一个DataSource对象。该对象包含若干个Layer每个Layer就是一个要素集。值得注意的是大多数矢量数据格式一般只有一个Layer少数有多个如SpatiaLite格式。既然Layer是个要素集可想而知它包含的就是一个个的feature了。Feature的概念稍微学过GIS原理的朋友应该都知道Arcmap里也经常提到就是几何对象和属性表的集和。所以feature包含的就是geometry和attribute。整理一下可见下图OGR类结构2.3 读取矢量数据通过对driver对象调用Open方法可以打开一个文件打开的结果就是一个Data Souce对象。通过print可以查看到这个信息shp_test是个osgeo.ogr.DataSource对象。from osgeo import ogr driver ogr.GetDriverByName(ESRI Shapefile) #这个函数是不区分大小写的filename rF:ZhihuDATA shp_test driver.Open(filename,0) #0是只读1是可写 if shp_test is None:print (could not open)sys.exit(1) print(shp_test)也可以直接使用ogr.open函数打开文件。该函数会根据文件后缀名自动选择driver进行数据读取。from osgeo import ogrfilename rF:ZhihuDATA shp_test ogr.Open(filename)2.4 读取要素个数OGR的Layer概念类似于ArcGIS里的FeatureClass就是多个同类要素(点、线、多边形)的集和。可以通过dir函数获取Layer可以使用的方法。这里使用GetLayer方法获取shp数据的图层再对其使用GetFeatureCount方法可以获取shp数据中的元素个数。layer shp_test.GetLayer() dir(layer) n layer.GetFeatureCount() print (feature count:, n)2.5 查看数据2.5.1 查看属性可在cmd中使用pip install https://github.com/cgarrard/osgeopy-code/raw/master/ospybook-latest.zip安装ospybook包。这个包是书《Geoprocessing with python》作者开发的。可以使用print_attributes来打印出数据属性表可以直接输入文件名也可以输入layer。不建议使用这个函数来打印大型数据的全部属性表可使用数字来控制打印几行并指定打印的字段名。import ospybook as pbpb.print_attributes(filename,3,[Shape_Area,ID,long,lat]) pb.print_attributes(lyr,3,[Shape_Area,ID,long,lat]) #既可以调用文件名也可以调用图层效果等价2.5.2 查看图形ospybook 提供了用于绘图的类。它是基于matplotlib的所以必须安装matplotlib。交互式图像在创建之后无需使用draw函数调用就可呈现。声明方法是建立一个VectorPlotter类的新实例。import os os.chdir(rF:ZhihuDATA) #设置工作空间 from ospybook.vectorplotter import VectorPlottervp VectorPlotter(True) #声明图像为交互式图像 vp.plot(filename,fillFalse) #fill是用来控制是否填充要素默认是true2.6 读取四至范围使用GetExtent方法获得四至信息结果是一个元组顺序为左右下上。若shp数据本身含有投影坐标则输出的也是投影坐标系的值。extent layer.GetExtent() print (extent:, extent) print (x range:, extent[0], extent[1]) print (y range:, extent[2], extent[3])2.7 读取单个要素使用GetFeature方法按照FID读取要素这里读取的第二个要素即FID1的那个要素。通过GetField方法可读取要素指定列信息值得注意的是这里需要输入的列名不分大小写同shp格式的要求一致。feat layer.GetFeature(1) fid feat.GetField(id) area feat.GetField(shape_area) print (fid) print (area) dir(feat)2.8 遍历要素使用GetNextFeature方法可以省去使用For循环按ID读取的低效率要使用个try except机制不然再最后一个要素读完之后GetNextFeature方法仍然会读下一个空要素这时输出面积会报错。ResetReading函数是用来复位的不然下次使用GetNextFeature程序接着上次读的位置继续读。feat layer.GetNextFeature() #读取下一个 while feat:feat layer.GetNextFeature()try:area feat.GetField(shape_area) print(area)except:print(Done!) layer.ResetReading() #复位也可以通过for循环直接遍历每个要素。但值得注意的一点是当前要素问题。比如我们用For循环遍历了一遍Layer中的所有feature并输出了它们一个字段的值。若想再通过for循环遍历一遍输出另一个字段的值你会发现得不到任何结果。这是因为在第一次for循环后指针停在了最后一个feature上必须使用Layer.ResetReading()函数来进行重置。for i,feat in enumerate(layer):if i 5:breakxfeat.geometry().GetX()yfeat.geometry().GetY()fid feat.IDarea feat.GetField(shape_area) print (fid,area,x,y) layer.ResetReading() #复位2.9 提取要素几何信息使用GetGeometryRef方法读取要素几何信息通过dir函数可以查看geom可以使用的方法GetX和GetY可以直接打印一个个点的坐标使用geom.Area()可以读feature的面积默认单位为㎡。feat layer.GetFeature(1) geom feat.GetGeometryRef()print(geom) print(geom.Area())2.10 释放内存要素.Destory是先关闭单个要素后面的Destory是关闭整个DataSource关闭数据源相当于文件系统操作中的关闭文件。feat.Destroy() shp_test.Destroy()2.11 删除文件使用DeleteDataSource可以删除shp文件及其附属文件如dbfpoj等文件。import os filename F:/Zhihu/DATA/testCopy.shp if os.path.exists(filename):driver.DeleteDataSource(filename)print(File was deleted!) else:print(File not exist)
http://www.huolong8.cn/news/225367/

相关文章:

  • 网站怎么做能赚钱深圳seo公司
  • 长治市网站开发青浦苏州网站建设
  • 安装Wordpress个人网站怎么超链接公众号
  • 西双版纳住房和城乡建设局网站设计公司网站模板
  • 网站建设的用例图博物馆网站 建设方案
  • 深圳单位网站建设服务公司dede视频网站源码
  • 长沙网站建设q.479185700強眉山招聘网站建设
  • 网站免费的正能量漫画微信公众号里面免费做网站
  • php怎么做网站后台网站开发的技术有
  • 许昌企业网站建设公司马来西亚做公路投标网站
  • 比较好约的网站设计网站免费模板资源
  • 淄博网站排名外包wordpress本地上传图片
  • 怎么在百度制作自己的网站邯郸怎么读
  • 2019年开公司做网站可以吗网络营销软文范例500字
  • js获取网站html江苏省住房和建设厅网站首页
  • 网站建设深圳官网医院网络系统
  • 怎么改网站模块江西建设部网站
  • 电商站外推广平台有哪些研学网站开发需求文档
  • 自建设网站有没有便宜的网站建设
  • 做个网站费用苏醒主题做的网站
  • wordpress下载资源站主题seo代运营
  • wordpress 电商网站口碑好的邯郸网站建设
  • 网站系统 外贸信息流广告代运营
  • 求推荐个网站赣州人才网官网入口
  • 做企业网站要注意什么福州市台江区网站
  • 南充网站建设hulingwl漯河网站建设
  • c网站建设缔造自助建站
  • wordpress建站手机端网站请及时续费
  • 泰州网站建设做网站优化的公司的宣传海报
  • 微企点自助建站系统网站的域名怎么起