是否可以对现有的,未地理参考的pdf进行地理参考?


18

我想知道是否有直接将pdf地理参考而不先将其转换为图像的方法。我可以访问ArcGIS 10.1,但无法找到任何可能的信息。如果他们有解决方案,我愿意尝试其他开源软件。

我收到的PDF格式的站点计划通常是从AutoCAD生成的。目前,我将pdf另存为jpg,以导入到ArcMap中,对其进行地理参考,然后将诸如建筑物轮廓之类的数字化。我只是想知道是否有一种方法可以跳过转换为jpg步骤。



1
并不是您的问题,但是如果原始来源是AutoCAD,则ogr2ogr会将dxf文件转换为形状文件。有关示例,请参见本文。不幸的是,该示例未涵盖地理参考标记,但是gdal-dev邮件列表非常活跃,如果您对如何设置地理参考标记有疑问,有人会迅速回答。
Llaves

Answers:


5

如果我要导入普通PDF而不是GeoPDF,是否可以使用?
莎拉(Sarah)

它将导入普通的pdf,将不会有任何空间参考。
Mapperz

2
扩展名是否允许您地理参考PDF?
莎拉(Sarah)

这也可以免费完成:)检查下面的答案,以了解如何
DarkCygnus

4

我知道这个问题很老,但是最近我遇到了这个问题,最终提出了解决方法。

这可以通过使用Osgeo's来实现gdal,该工具恰好包含一个PDF驱动程序。基本上,您可以执行以下操作:

from osgeo import gdal
#Open your Unreferenced PDF
src = gdal.Open("originalFile.pdf")

然后以某种方式获取或计算要添加到PDF中的所需投影系统和地理转换。例如,我们可以通过执行以下操作从GeoTiff中提取这些内容:

#Open the Tiff to obtain its data from
geoTiff = gdal.Open("someMap.tif")
#Obtain its Projection system and its Geotransform
coords = geoTiff.GetProjection()
gt = geoTiff.GetGeoTransform()

最后,将投影和地理转换设置为PDF,然后使用PDF Driver创建副本:

src.SetProjection(coords)
src.SetGeoTransform(gt)
#Instantiate a PDF driver and save your Referenced copy
pdf_driver = gdal.GetDriverByName("PDF")
dst = pdf_driver.CreateCopy("referencedFile.pdf", src, 1)

结果是将PDF地理参考,以使其gt使用Projection System 放置在位置的左上角coords。可以通过在QGis或ArcGis上打开PDF进行验证,也可以使用gdalinfo引用的PDF上的命令进行验证。


3

需要注意的重要一件事:GeoPDFGeospatial PDF不同

地理空间PDF只是配备了一些地理空间标签的“普通” PDF,这些地理空间标签用于对PDF进行地理参考(这些标签被定义为Adobe对ISO 32000提议的地理空间扩展)。

我不确定是否存在将这些标签应用于PDF的开源解决方案。一种开源方式是使用PDF库(我为此目的使用iText)并自己编写代码,但这很困难,因为您可以使用许多免费的Geospatial PDF查看器/阅读器来测试结果,并确保地理参考有效。

就我而言,我致力于为Avenza的PDF地图商店准备地图的解决方案。我使用GDAL来测试生成的PDF,但是当我将这些地图(已通过GDAL验证)提交给Avenza时,在其地理空间PDF解析器能够吞下这些地图之前,仍有一些问题需要解决。


谢谢,但是这似乎比我要查找的要复杂。我只是想知道是否有一种方法可以地理参考pdf来数字化arcmap中的特征。
Sarah

1

您可以gdal_translate用来将GeoPDF转换为地理参考的tif文件。您的方法与此方法的主要区别在于,将维护地理参考。

我的命令是:

gdal_translate --config GDAL_PDF_DPI 300 -co "TFW=YES" pdf_name.pdf tif_name.tif

请注意,它在Windows中不适用于我,因此使用OSGeo-Live虚拟机。

我没有用很多pdf类型进行测试,但是它与USGS的效果很好。


尽管此答案似乎很有用,但与“问题”中的内容无关。OP拥有未引用的PDF,并希望对其进行引用(而不是从已引用地理的PDF中进行更改)。您介意澄清您的答案吗?
DarkCygnus

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.