É possível georreferenciar um pdf existente e não georreferenciado?


18

Eu queria saber se havia alguma forma de georreferenciar um pdf diretamente sem primeiro convertê-lo em uma imagem. Eu tenho acesso ao ArcGIS 10.1, mas não consegui encontrar nenhuma informação que indique que isso é possível. Estou disposto a tentar outro software de código aberto, se eles tiverem uma solução.

Recebo planos de site em formato PDF, geralmente gerados no AutoCAD. Atualmente, salvei o pdf como jpg para importar para o ArcMap, referencie-o geograficamente e depois digitalizo coisas como criar pegadas. Eu só estou querendo saber se existe uma maneira de pular a conversão para a etapa jpg.



1
Não é bem a sua pergunta, mas se a fonte original for o AutoCAD, o ogr2ogr converterá arquivos dxf em arquivos de forma. Veja esta postagem para um exemplo. Infelizmente, o exemplo não cobre os sinalizadores para referência geográfica, mas a lista de discussão gdal-dev está muito ativa e alguém responderá rapidamente se você tiver alguma dúvida sobre como configurar os sinalizadores de referência geográfica.
Llaves

Respostas:


5

Isso funciona se eu quiser importar um PDF normal, não um GeoPDF?
Sarah

Importará pdf normal, simplesmente não haverá referência espacial.
Mapperz

2
A extensão permite que você faça uma referência geográfica do PDF?
Sarah

Isso também pode ser feito sem custo :) verifique a minha resposta abaixo para ver como
DarkCygnus

4

Sei que essa pergunta é antiga, mas tive esse problema recentemente e, finalmente, descobri uma maneira de fazer isso.

Isso pode ser feito usando o Osgeo gdal, que inclui um driver de PDF. Basicamente, você pode fazer algo como:

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

Em seguida, obtenha ou calcule de alguma forma o Sistema de projeção e a geotransformação desejados que você deseja adicionar ao PDF. Por exemplo, podemos extrair os de um GeoTiff fazendo o seguinte:

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

Por fim, defina a projeção e a geotransformação para o seu PDF e crie uma cópia com o driver 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)

O resultado é um PDF georreferenciado para ter seu canto superior esquerdo colocado no local gtusando o Sistema de projeção coords. Isso pode ser verificado abrindo o PDF no QGis ou ArcGis, ou também usando o gdalinfocomando no PDF referenciado.


3

Uma coisa importante a ser observada: o GeoPDF não é o mesmo que o PDF geoespacial .

O PDF geoespacial é apenas um PDF "comum" equipado com algumas tags geoespaciais usadas para georreferenciar o PDF (essas tags são definidas como as extensões geoespaciais propostas pela Adobe para a ISO 32000).

Não tenho certeza se existe uma solução de código aberto para aplicar essas tags ao PDF. Uma maneira de código aberto seria usar uma biblioteca de PDF (usei o iText para essa finalidade) e escrever o código você mesmo, mas isso é difícil, pois não existem muitos leitores / leitores de PDF geoespaciais gratuitos que você poderia usar para testar o resultados e verifique se a georreferência é válida.

No meu caso, trabalhei em uma solução para preparar mapas para a loja de mapas PDF da Avenza . Usei o GDAL para testar os PDFs resultantes, mas quando enviei esses mapas (validados pelo GDAL) à Avenza, ainda havia alguns problemas a serem resolvidos antes que o analisador de PDF geoespacial conseguisse engolir esses mapas.


Obrigado, mas isso parece um pouco mais complicado do que estou procurando. Eu só estava me perguntando se havia uma maneira de georreferenciar um pdf para digitalizar recursos no arcmap.
Sarah

1

Você pode usar gdal_translatepara converter o GeoPDF em um arquivo tif com referência geográfica. A principal diferença entre seu método e este é que a referência geográfica é mantida.

Meu comando foi:

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

Observe que não funcionou para mim no Windows, então usei a máquina virtual OSGeo-Live .

Eu não testei isso com muitos tipos de pdf, mas funcionou muito bem com o USGS.


Embora essa resposta pareça útil, ela não tem nada a ver com o que é solicitado na pergunta. O OP possui um PDF não referenciado e deseja fazer referência a ele (para não alterar um PDF georreferenciado). Importa-se de esclarecer sua resposta?
precisa saber é o seguinte

0

Faça isso semanalmente com o Global Mapper. É impressionante a leitura de PDF e a GEOREFERENCE de GeoPDF produz geopdf, jp2, geotif

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.