Questions tagged «ogr»

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

3
从PostgreSQL中获取dxf文件
我已经成功地将一堆shapefile加载到PostGIS数据库中。我希望能够基于SQL查询以dxf文件的形式检索特定的几何图形和图层。 我正在使用Windows上OSGeo4W套件中的PostGIS,GDAL,PostgreSQL和Python。 我在想应该像这样使用ogr2​​ogr: $ ogr2ogr -sql "SELECT * FROM some_table" -f "dxf" outputfile.dxf -overwrite "PG:dbname=mydb user=dbusername password=dbpassword" 但是当我使用适当的值执行此操作时,会出现一系列如下错误: ERROR 1: DXF layer does not support arbitrary field creation, field 'objectid' not created. 导致该层中每个属性列都出错,some_table但是我确实得到了dxf文件。 如果已经创建了.dxf文件,并且重新运行了上面的命令(包括该-overwrite选项),则会收到此错误: Layer sql_statement not found, and CreateLayer not supported by driver. ERROR 1: Terminating translation prematurely after …
10 postgis  gdal  ogr  dxf 

7
修复损坏的shapefile?
我有一个在ArcGIS Desktop 9.3中使用的shapefile某种程度上被破坏了,并且出现错误“形状数与表记录数不匹配”。我想要的是恢复此shapefile,因为它具有许多其他版本的文件所没有的编辑功能。 之前我使用ogr2gui从此错误中恢复了,但是该工具现在崩溃了。我什至尝试了命令行版本ogr2ogr,但仍然没有运气。ArcScripts网站上的Shapefile Repair Tool这个脚本也没有帮助。 有任何想法吗?(除了我停止使用shapefile) 这是ogr2ogr的输出(基于答案中的建议):

2
使用ogr和Python在Polygon中指向(线串)
我目前正在一个项目中,我需要根据在shapefile中找到的几何特征来构建拓扑网络。到目前为止,使用Ben Reilly的开源项目,我已经设法将线串转换为networkx边缘,并检测到封闭特征(将其他线串说成)并将其添加到最近的点,以便我可以运行最短路径算法。 但这对于一个shapefile很好。但是,我现在需要将来自不同shapefile的要素连接到一个大的networkx图形中。因此,例如,如果某个点在多边形内,则将其连接(通过连接,我的意思是添加一个networkx边-add_edge(g.GetPoint(1),g.GetPoint(2)),并在下一个shapefile中将该点也位于共享相似属性(例如ID)的多边形内,请注意,不同shps中的多边形仅共享相同的ID,而不共享坐标,而位于多边形内的点也不共享相同的坐标。 我对这个问题的解决方案是识别位于多边形中的点,将其存储,在下一个shapefile中找到具有相同ID的多边形中的点,然后在它们之间添加networkx边。 如何查找点是否位于多边形内?嗯,有一个众所周知的算法:RayCasting算法可以做到这一点。不过,这实际上是我遇到的问题,因为要实现算法,我需要多边形的坐标,而且即使浏览了OGR的Geometry 文档也不知道如何立即访问它们。因此,我要问的问题是如何访问多边形点或坐标,或者是否有更简单的方法来检测点是否落在多边形内?在osgeo.ogr库中使用python,我编写了以下代码: if g.GetGeometryType() == 3: #polygon c = g.GetDimension() x = g.GetPointCount() y = g.GetY() z = g.GetZ() 查看图片以更好地了解我的问题。 [编辑] 到目前为止,我已经尝试将所有多边形对象存储在列表中,然后再与之比较线串的第一和最后一点。但是Paolo的示例与使用“点对象”引用和“多边形对象”引用有关,这与线对象引用不兼容,因为不是整个线都在多边形内,而是其线串的第一个或最后一个点。 [EDIT3] 从线串的第一个点和最后一个点的坐标创建一个新的Geometry点对象,然后使用该对象与列表中保存的多边形几何对象进行比较似乎很好: for findex in xrange(lyr.GetFeatureCount()): f = lyr.GetFeature(findex) flddata = getfieldinfo(lyr,f,fields) g = f.geometry() if g.GetGeometryType() == 2: for j in xrange(g.GetPointCount()): if …

3
跨国际日期变更线的多边形[-180 .. + 180经度]
我正在尝试为卫星轨道条带生成多边形。到目前为止,我有一种方法可以生成两条线,以[lat,long]表示每个条带的边缘。一些条带跨越了国际日期变更线,因此绕了一下: 我能够通过以下方式解决此问题ogr2ogr -wrapdateline: ogr2ogr -wrapdateline -f "ESRI Shapefile" test.shp orbits.shp 哪条线可能会分开 现在,我希望能够在两条线的内部生成多边形。因此,例如,在条幅的一个边缘与日期线交叉的情况下,当多边形出现在另一侧时会填充该多边形,例如: 我需要一种自动化的方法,因为我需要重复很多次任务。最好在python中,因为那是我生成线的方式。这是包含这些行的两个shapefile:wraparound ; datelinefixed

2
使用OGR / GDAL确定shapefile和栅格在Python中是否重叠?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 我正在使用OGR / GDAL在python中构建脚本。 我有一组shapefile和一组GeoTiff栅格文件。 如果脚本不与栅格区域相交,我希望脚本忽略它们。 shapefile不是矩形,因此我不能简单地比较layer.GetExtent()返回的xmin / xmax,ymin / ymax值。我需要代表其整体形状的实际多边形,然后通过某种方式确定该多边形是否与栅格正方形相交。 我当时想我可以以某种方式将shapefile中的所有多边形合并为一个要素,然后读取该要素上的几何图形,然后将该信息与栅格范围进行比较。但是,我不确定具体如何执行此操作。 如何从shapefile中提取边界多边形信息? 如何确定该多边形是否与给定的正方形相交?

3
尽管安装了gdal却没有ogr模块?
我正在尝试使用精彩的PySAL软件包的映射组件,但是由于某些原因,我没有ogr模块。我觉得它与gdal包装在一起。我想念什么吗? import gdal import ogr --------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-29-ef9eb3418665> in <module>() ----> 1 import gdal 2 import ogr ImportError: No module named gdal 更新: 恐怕我急着赶飞机,所以我没有提供一些关键信息。我已经使用这里描述的apt-get方法安装了python-gdal ,因为我希望没有机会。程序包管理器是否可能没有正确安装? choct155@choct155-Q550LF:~$ sudo apt-get install python-gdal Reading package lists... Done Building dependency tree Reading state information... Done python-gdal is already the …
9 python  gdal  ogr 

2
GDAL SQL语法以添加字段put值
我尝试在属性表中创建一个新字段,并在从字符转换为整数后将另一个字段的值放入其中,但无法获得正确的语法。我在MSYS中将其作为shell脚本运行。 cd D:/GIS_DataBase/CorineLC/shps_app_and_extr/ myfile=extr_and_app.shp name=${myfile%.shp} ogrinfo $myfile -sql "ALTER TABLE $name ADD COLUMN code_num int(3)" ogrinfo $myfile -sql "UPDATE TABLE $name SET code_num = CONVERT(code_06 As int(3))" 错误消息(MSYS): Kay@KAY-PC /c/users/kay/desktop/bash $ sh calc_field_shp.sh Warning 6: Unsupported column type 'int'. Defaulting to VARCHAR INFO: Open of `extr_and_app.shp' using driver `ESRI Shapefile' …
9 sql  ogr 

6
是否有gdal和ogr的GUI资源?
对于那些对GIS编程方面不熟悉的人来说,我觉得许多出色的工具和资源是不可能的。我对基于GUI的向导感兴趣,这些向导用于使用gdal和ogr之类的库处理地理处理。有小费吗?
9 gdal  ogr  gui 

6
如何从大量shapefile生成缩略图图像?
我和一位同事最近发布了一个名为Mapoteca的开源项目,该项目是与GDAL / FWTools安装集成的一组Python脚本,允许对目录进行完整的遍历,以查找空间数据并提取范围,几何形状,元素数量,投影和用户将其写入csv文件。我们正在研究描述相关DBF文件的部分,并且我们想生成每个shapefile的缩略图,您知道一种使用Python生成jpeg或png缩略图的方法吗?
9 python  gdal  ogr  jpg 
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.