¿Es posible georreferenciar un PDF existente no georeferenciado?


18

Me preguntaba si de todos modos había que georreferenciar un pdf directamente sin convertirlo primero en una imagen. Tengo acceso a ArcGIS 10.1 pero no he podido encontrar ninguna información que indique que es posible. Estoy dispuesto a probar otro software de código abierto si tienen una solución.

Recibo planos del sitio en formato PDF, a menudo generados desde AutoCAD. Actualmente guardo el pdf como jpg para importarlo a ArcMap, geo-referenciarlo y luego digitalizar cosas como construir huellas. Me pregunto si hay una manera de omitir el paso de conversión a jpg.



1
No es su pregunta, pero si la fuente original es AutoCAD, ogr2ogr convertirá archivos dxf en archivos de forma. Ver esta publicación para un ejemplo. Desafortunadamente, el ejemplo no cubre los indicadores de geo-referencia, pero la lista de correo de gdal-dev está muy activa y alguien responderá rápidamente si tiene una pregunta sobre cómo configurar los indicadores de geo-referencia.
Llaves

Respuestas:


5

Al costo sí, http://mappingcenter.esri.com/index.cfm?fa=ask.answers&q=2237

La extensión ArcMap de TerraGo le permite escribir y leer archivos GeoPDF http://www.terragotech.com/products/terrago-publisher/publisher-for-arcgis


¿Funciona esto si quiero importar un PDF normal, no un GeoPDF?
Sarah

Importará pdf normal, simplemente no habrá ninguna referencia espacial.
Mapperz

2
¿La extensión le permite georreferenciar el PDF?
Sarah

Esto también se puede hacer sin costo :) revise mi respuesta a continuación para ver cómo
DarkCygnus

4

Sé que esta pregunta es antigua, pero tuve este problema recientemente y finalmente encontré una forma de hacerlo.

Esto se puede lograr usando Osgeo gdal, que tiene un controlador PDF incluido. Básicamente puedes hacer algo como:

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

Luego obtenga o calcule de alguna manera el Sistema de proyección y la Geotransformación que desea agregar al PDF. Por ejemplo, podemos extraerlos de un GeoTiff haciendo:

#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()

Finalmente, configure la proyección y la geotransformación en su PDF y luego cree una copia con el controlador PDF:

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)

El resultado es un PDF georreferenciado para tener su esquina superior izquierda colocada en el lugar gtusando el Sistema de proyección coords. Esto se puede verificar abriendo el PDF en QGis o ArcGis, o bien usando el gdalinfocomando en su PDF de referencia.


3

Una cosa importante a tener en cuenta: GeoPDF no es lo mismo que Geospatial PDF .

El PDF geoespacial es solo un PDF "ordinario" equipado con algunas etiquetas geoespaciales que se utilizan para georreferenciar el PDF (esas etiquetas se definen como extensiones geoespaciales propuestas por Adobe para ISO 32000).

No estoy seguro de si hay una solución de código abierto para aplicar estas etiquetas a PDF. Una forma de código abierto sería usar una biblioteca de PDF (usé iText para este propósito) y escribir el código usted mismo, pero esto es difícil, ya que no hay muchos lectores / lectores de PDF geoespaciales gratuitos que pueda usar para probar el resultados y asegúrese de que la georreferencia sea válida.

En mi caso, trabajé en una solución para preparar mapas para la tienda de mapas PDF de Avenza . Utilicé GDAL para probar los PDF resultantes, pero cuando envié estos mapas (validados por GDAL) a Avenza, todavía había algunos problemas que resolver antes de que su analizador de PDF geoespacial pudiera tragar esos mapas.


Gracias, pero esto parece un poco más complicado de lo que estoy buscando. Me preguntaba si había una manera de georreferenciar un pdf para digitalizar características en arcmap.
Sarah

1

Puede usar gdal_translatepara convertir el GeoPDF a un archivo tif geo referenciado. La principal diferencia entre su método y este es que se mantiene la referencia geográfica.

Mi comando fue:

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

Tenga en cuenta que no me funcionó en Windows, así que usé la máquina virtual OSGeo-Live .

No he probado esto con muchos tipos de pdf, pero funcionó muy bien con el USGS.


Aunque esta respuesta parece útil, no tiene nada que ver con lo que se preguntó en la Pregunta. OP tiene un PDF no referenciado y quiere hacer referencia a él (no hacer un tiff de un PDF georreferenciado). ¿Te importaría aclarar tu respuesta?
DarkCygnus

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.