Est-il possible de géoréférencer un pdf existant non géoréférencé?


18

Je me demandais s'il était possible de géoréférencer un pdf directement sans d'abord le convertir en image. J'ai accès à ArcGIS 10.1 mais je n'ai pu trouver aucune information qui indiquerait que c'est possible. Je suis prêt à essayer d'autres logiciels open source s'ils ont une solution.

Je reçois des plans de site au format PDF, souvent générés à partir d'AutoCAD. Actuellement, j'enregistre le pdf au format jpg pour l'importer dans ArcMap, le géoréférencer, puis numériser des choses comme la création d'empreintes. Je me demande simplement s'il existe un moyen d'ignorer la conversion en étape jpg.



1
Pas tout à fait votre question, mais si la source d'origine est AutoCAD, ogr2ogr convertira les fichiers dxf en fichiers de forme. Voir cet article pour un exemple. Malheureusement, l'exemple ne couvre pas les indicateurs de géoréférencement, mais la liste de diffusion gdal-dev est très active et quelqu'un répondra rapidement si vous avez une question sur la façon de configurer les indicateurs de géoréférencement.
Llaves

Réponses:


5

Au coût oui, http://mappingcenter.esri.com/index.cfm?fa=ask.answers&q=2237

L'extension ArcMap de TerraGo vous permet à la fois d' écrire et de lire des fichiers GeoPDF http://www.terragotech.com/products/terrago-publisher/publisher-for-arcgis


Est-ce que cela fonctionne si je souhaite importer un PDF normal, pas un GeoPDF?
Sarah

Il importera un pdf normal, il n'y aura tout simplement pas de référence spatiale.
Mapperz

2
L'extension vous permet-elle de géoréférencer le PDF?
Sarah

Cela peut également être fait sans frais :) consultez ma réponse ci-dessous pour voir comment
DarkCygnus

4

Je sais que cette question est ancienne, mais j'ai eu ce problème récemment et j'ai finalement trouvé un moyen de le faire.

Cela peut être accompli en utilisant Osgeo gdal, qui se trouve avoir un pilote PDF inclus. Fondamentalement, vous pouvez faire quelque chose comme:

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

Ensuite, obtenez ou calculez en quelque sorte le système de projection et la géotransformation que vous souhaitez ajouter au PDF. Par exemple, nous pouvons extraire ceux d'un GeoTiff en faisant:

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

Enfin, définissez la projection et la géotransformation sur votre PDF, puis créez une copie avec le pilote 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)

Le résultat est un PDF géoréférencé pour que son coin supérieur gauche soit placé à l'emplacement gtà l'aide du système de projection coords. Cela peut être vérifié en ouvrant le PDF sur QGis ou ArcGis, ou bien en utilisant la gdalinfocommande sur votre PDF référencé.


3

Une chose importante à noter: GeoPDF n'est pas la même chose que Geospatial PDF .

Le PDF géospatial est juste un PDF "ordinaire" équipé de quelques balises géospatiales qui sont utilisées pour géoréférencer le PDF (ces balises sont définies comme les extensions géospatiales proposées par Adobe à ISO 32000).

Je ne sais pas s'il existe une solution open source pour appliquer ces balises au PDF. Une façon open-source serait d'utiliser une bibliothèque PDF (j'ai utilisé iText à cet effet) et d'écrire le code vous-même, mais c'est difficile, car il n'y a pas beaucoup de lecteurs / lecteurs PDF géospatiaux gratuits que vous pourriez utiliser pour tester le résultats et assurez-vous que la géoréférence est valide.

Dans mon cas, j'ai travaillé sur une solution pour préparer des cartes pour le magasin de cartes PDF d' Avenza . J'ai utilisé GDAL pour tester les PDF résultants, mais quand j'ai ensuite soumis ces cartes (validées par GDAL) à Avenza, il y avait encore des problèmes à résoudre avant que leur analyseur PDF géospatial ne puisse avaler ces cartes.


Merci mais cela semble un peu plus compliqué que je ne le recherche. Je me demandais simplement s'il y avait un moyen de géoréférencer un pdf pour numériser des fonctionnalités dans arcmap.
Sarah

1

Vous pouvez utiliser gdal_translatepour convertir le GeoPDF en un fichier tif géoréférencé. La principale différence entre votre méthode et celle-ci est que la référence géographique est conservée.

Ma commande était:

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

Notez que cela ne fonctionnait pas pour moi dans Windows, donc utilisé la machine virtuelle OSGeo-Live .

Je n'ai pas testé cela avec de nombreux types de pdf, mais cela fonctionnait très bien avec celui de l'USGS.


Bien que cette réponse semble utile, elle n'a rien à voir avec ce qui a été demandé dans la question. OP a un PDF non référencé et veut le référencer (ne pas faire de tiff à partir d'un PDF géoréférencé). Pourriez-vous clarifier votre réponse?
DarkCygnus

0

Faites-le sur une base hebdomadaire avec Global Mapper c'est génial lit PDF et GeoPDF GEOREFERENCE produire geopdf, jp2, geotif

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.