Questions tagged «ogr»

OGR简单功能库是C ++开源库(和命令行工具),提供对矢量文件格式的访问。

1
在没有NumPy的情况下获取OGR点下的GDAL栅格的像素值?
我正在研究整个景观中大量野生传粉媒介的计算模型。该模型本身已经完成,现在我正在努力进行后处理步骤。 我的GDAL授粉媒介供应栅格看起来像这样(较浅的颜色表示授粉媒介对像素的访问量较高): 我有一个OGR形状文件,该文件的点代表景观上的样本位置: 我正在尝试对这些点下的像素进行一些分析,但是要这样做,我需要能够提取一个点下的像素的值。 是否可以通过Python仅使用OGR和GDAL提取点下的像素值?我宁愿避免通过读取整个栅格到内存中ReadAsArray(),因为我的输出栅格非常大(太大而无法容纳到内存中)。 我注意到这篇文章,这很相似,但是需要命令行调用。
45 python  gdal  ogr  pixel 

9
生成位于多边形内的点
我具有多边形特征,并希望能够在其中生成点。我需要一项分类任务。 生成随机点直到多边形中的某个点不起作用,因为这确实花费了很多时间。
30 python  qgis  polygon  ogr 

2
使用OGR和Shapely更有效吗?[关闭]
我正在寻找有关如何提高我的python代码效率的一些建议。通常,效率对我来说并不重要,但是我现在正在处理一个美国地点超过150万点的文本文件。使用给定的设置,在一点上运行操作大约需要5秒钟;我需要把这个数字降下来。 我正在使用三个不同的python GIS软件包对这些点进行一些不同的操作,并输出一个新的带分隔符的文本文件。 我使用OGR读取县边界shapefile并访问边界几何。 匀称检查某个点是否在这些县中的任何一个县内。 如果在1之内,则使用Python Shapefile库从边界.dbf中提取属性信息。 然后,我将两个来源的一些信息写入文本文件。 我怀疑效率低下在于存在2-3层的循环...不太清楚该怎么做。我特别希望与有经验的人一起使用这3个软件包中的任何一个,因为这是我第一次使用它们。 import os, csv from shapely.geometry import Point from shapely.geometry import Polygon from shapely.wkb import loads from osgeo import ogr import shapefile pointFile = "C:\\NSF_Stuff\\NLTK_Scripts\\Gazetteer_New\\NationalFile_20110404.txt" shapeFolder = "C:\NSF_Stuff\NLTK_Scripts\Gazetteer_New" #historicBounds = "C:\\NSF_Stuff\\NLTK_Scripts\\Gazetteer_New\\US_Counties_1860s_NAD" historicBounds = "US_Counties_1860s_NAD" writeFile = "C:\\NSF_Stuff\\NLTK_Scripts\\Gazetteer_New\\NewNational_Gazet.txt" #opens the point file, reads …

5
如何在没有ArcGIS的情况下通过Python将属性字段添加到现有Shapefile?
我有一个Python脚本,可以将属性字段添加到Shapefile(如果不存在)。使用ArcGIS可以很容易地做到这一点(通过图形方式或通过Python),但是我正在寻找不依赖于ArcGIS的东西。 我用OGR 尝试失败,因为我的Shapefile 包含features。 我看过pyshp,但是类似地,创建架构后也无法修改架构。我还没有尝试使用shapefile(对于Python),但是我没有看到此功能的广告。我也看不到如何通过dbfpy修补DBF文件来完成此操作。 有人有什么想法吗?
24 python  shapefile  ogr  dbf 

1
可以重新分发File Geodatabase API吗?
Esri的文件地理数据库API,现在可以用GDAL / OGR使用- http://www.gdal.org/ogr/drv_filegdb.html但每个人似乎都登录到ESRI和单独下载API文件。例如,此处的博客文章和GDAL构建说明中都引用了此内容。 在下载Esri显示的API之前,许可协议位于:http : //resources.arcgis.com/node/agreement/3193 第47条规定: 被许可方可以开发和分发使用Esri File Geodatabase API的软件或Web应用程序给被许可方的最终用户。 关于许可的最佳讨论是Paul Ramsey在 2011年1月发布的博客文章。最后以以下内容进行了最后更新: 更新4:收到Esri的电子邮件,确认将对最终许可进行审核,以确保不存在歧义,并且反映出它们的意图是该API可在任何应用类别中的任何应用中使用,并且派生产品可自由重新分发和免版税。因此,在一定程度上,当前许可证有任何歧义,不应将其视为最终许可证的危险信号。 Esri API何时或何时会作为GDAL下载或安装的一部分提供,我们何时可以分发包含该API的应用程序?

3
是否可以使用OGR Python API从OSR SpatialReference类获取EPSG值?
从OGR PostGIS连接读取图层时,可以获取该图层的SpatialReference,但是可以获取EPSG值吗?是否有任何文档? 例如: lyr = conn.GetLayerByName(tbl) # Where conn is OGR PG connection srs = ly.GetSpatialRef() print srs 返回值: PROJCS["OSGB 1936 / British National Grid", GEOGCS["OSGB 1936", DATUM["OSGB_1936", SPHEROID["Airy 1830",6377563.396,299.3249646, AUTHORITY["EPSG","7001"]], AUTHORITY["EPSG","6277"]], PRIMEM["Greenwich",0, AUTHORITY["EPSG","8901"]], UNIT["degree",0.01745329251994328, AUTHORITY["EPSG","9122"]], AUTHORITY["EPSG","4277"]], UNIT["metre",1, AUTHORITY["EPSG","9001"]], PROJECTION["Transverse_Mercator"], PARAMETER["latitude_of_origin",49], PARAMETER["central_meridian",-2], PARAMETER["scale_factor",0.9996012717], PARAMETER["false_easting",400000], PARAMETER["false_northing",-100000], AUTHORITY["EPSG","27700"], AXIS["Easting",EAST], AXIS["Northing",NORTH]] 那么,如何获得投影的EPSG值?例如: srs.GetEPSG() …
21 python  postgis  ogr 


2
使用C#的Gdal / Ogr的API文档
我想在我的Web C#应用程序中将投影分配给shapefile,为此我正在使用Gdal / OGR / OSR C#绑定并添加osr_csharp.dll和ogr_csharp.dll引用。但是我在编写将投影分配给shapefile的代码时遇到了一些困难。我想知道是否有任何API文档可以帮助我理解这些库的类/方法。或者,如果有人有一些代码可以将投影分配给shapefile,那么对我来说将是很大的帮助。

1
OGR代表什么?
我看到OGR引用或添加了许多命令和库。OGR代表什么? ogrinfo ogr2ogr
20 ogr 

2
使用R将空间多边形对象转换为数据框
我的目标是通过合并某些多边形来修改现有的shapefile。 导入shapefile并使用UnionSpatialPolygons命令后,得到所需的多边形轮廓。 但是,现在这是一个SpatialPolygons对象,而不是SpatialPolygonsDataFrame,因此无法使用writeOGR将其导出到shapefile。 我该如何解决这个问题?
18 shapefile  cartography  r  ogr 

8
为Python安装GDAL和OGR?
这篇文章是社区维基。编辑现有答案以改善此职位。它当前不接受新的答案。 我正在用Python开发一些代码,并且想使用GDAL / OGR python绑定。我需要安装GDAL和OGR python绑定的最低数量是多少? 如果我只想从Python使用GDAL / OGR,最简单的安装方法是什么? 我正在寻找适用于Mac和Windows的答案。 GDAL在Python软件包索引(PyPi)中列出,但我不明白如何安装其依赖项(libgdal和libgdal和numpy的头文件)。也许我需要做的就是安装numpy,然后在某处获取libgdal,如果是,在哪里?Windows安装除了 libgdal及其头文件外是否还需要Windows Binaries ? 如何确保为我的Python版本(2.5、2.6、2.7、3)获得正确的python绑定? 为了使用Python中的GDAL和OGR,必须对PATH环境变量进行更改,还是可以通过我的site-packages文件夹和典型import语句访问所有内容? 这些问题与此问题相关,但不能回答: 在Mac OS X上将GEOS,PROJ,GDAL / OGR安装到python virtualenv中。 如何在Windows上使用Python安装GDAL? 我应该注意,FWTools,OSGeo4W和kyngchaos提供了带有Python绑定的ogr和gdal,并且非常出色,但是FWTools和OSGeo4W附带了自己的python,而不是充当现有python安装的库,并且kyng chaos框架似乎是仅适用于OSX。
18 python  gdal  ogr 

1
如何使用GDAL / OGR更改Shapefile的字段值?
我正在尝试更改shapefile的字段值。但是,它不会更改值。我的代码有什么问题? import ogr driver = ogr.GetDriverByName('ESRI Shapefile') fn = 'dist.shp' dataSource = driver.Open(fn, 0) layer = dataSource.GetLayer() feature = layer.GetNextFeature() dist = 233 while feature: feature.SetField("dist", dist) layer.SetFeature(feature) feature = layer.GetNextFeature() dataSource.Destroy()

4
使用“ ESRI Shapefile”驱动程序时如何从缩写字段名称中停止writeOGR
我目前正在使用以下脚本将表中的某些属性数据添加到很多单独的shapefile中: library(rgdal) specieslist <- read.csv("SpeciesList1.txt", header=F) attdata <- read.table("TestAtt.csv", sep = ",", header=T) for (n in 1:dim(specieslist)[1]) { speciesname <- specieslist[n,1] shp <- readOGR("Mesoamerica_modified_polygons", speciesname) shp$ENGL_NAME<-attdata[n,2] writeOGR(shp, "PolygonsV2", speciesname, driver="ESRI Shapefile") } 最后我得到以下警告: 1: In writeOGR(shp, "PolygonsV2", speciesname, driver = "ESRI Shapefile") : Field names abbreviated for ESRI Shapefile driver …

4
使用OGR和Python获取多边形的所有顶点
我在使用Python OGR API时遇到了一些麻烦。我想做的是获取多边形外环每个顶点的所有坐标。 这是我到目前为止所拥有的: import osgeo.ogr import glob path = "/home/woo/maps/" out = path + 'output.txt' file = open(out,'w') for filename in glob.glob(path + "*.shp"): ds = osgeo.ogr.Open(filename) layer1 = ds.GetLayer(0) print layer1.GetExtent() for feat in layer1: geom = feat.GetGeometryRef() ring = geom.GetGeometryRef(0) points = ring.GetPointCount() #Not sure what to …

1
使用ogr2​​ogr通过属性选择特征?
经过一些处理后,我正在编写一个shapefile。但是,在最后一步中,我需要根据shapefile中的属性进行选择。 我正在外壳程序中使用该命令,目的是在工作时在Python脚本中使用它。 ogr2ogr -f "ESRI Shapefile" -select * where ID="1" outfile.shp infile.shp 我收到错误消息: FAILURE: Unable to open datasource `Downloads' with the following drivers. 我可能做错了什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.