Чи можливо зробити геореференцію існуючим, негеореференційним PDF-файлом?


18

Мені було цікаво, чи є в будь-якому разі геореференція PDF безпосередньо, не попередньо перетворюючи його на зображення. Я маю доступ до ArcGIS 10.1, але не зміг знайти будь-яку інформацію, яка б вказувала, що це можливо. Я готовий спробувати інше програмне забезпечення з відкритим кодом, якщо у них є рішення.

Я отримую плани сайтів у форматі PDF, часто генеруються від AutoCAD. В даний час я зберігаю pdf як jpg, щоб імпортувати в ArcMap, геопосилати його, а потім оцифровувати такі речі, як будівництво слідів. Мені просто цікаво, чи є спосіб пропустити перетворення на крок jpg.



1
Не зовсім ваше запитання, але якщо оригінальним джерелом є AutoCAD, ogr2ogr перетворить файли dxf у форму файлів. Дивіться цей приклад для прикладу. На жаль, приклад не охоплює прапори для геореференції, але список розсилки gdal-dev дуже активний, і хтось швидко відповість, якщо у вас виникне питання про те, як налаштувати геопосиланні прапори.
Llaves

Відповіді:


5

За ціною так, http://mappingcenter.esri.com/index.cfm?fa=ask.answers&q=2237

Розширення ArcMap TerraGo дозволяє вам записувати та читати файли GeoPDF http://www.terragotech.com/products/terrago-publisher/publisher-for-arcgis


Чи працює це, якщо я хочу імпортувати звичайний PDF, а не GeoPDF?
Сара

Він імпортує звичайний pdf, просто просто не буде просторових довідок.
Mapperz

2
Чи дозволяє розширення геореферувати PDF?
Сара

Це також можна зробити без витрат :) Перевірте мою відповідь нижче, щоб побачити як
DarkCygnus

4

Я знаю, що це питання давнє, але у мене виникло це питання нещодавно і, врешті-решт, я вийшов зі способом цього зробити.

Це можна досягти, скориставшись програмою Osgeo, до 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:

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допомогою Проекційної системи coords. Це можна перевірити, відкривши PDF у QGis або ArcGis, або ж, використовуючи gdalinfoкоманду у відповідному PDF.


3

Одне важливе, що слід зазначити: GeoPDF - це не те саме, що геопросторовий PDF .

Геопросторовий PDF - це просто "звичайний" PDF, оснащений деякими геопросторовими тегами, які використовуються для геореференції PDF (ці теги визначаються як запропоновані компанією Adobe геопросторові розширення до ISO 32000).

Я не впевнений, чи є рішення з відкритим кодом для застосування цих тегів до PDF. Одним із способів з відкритим кодом було б використовувати бібліотеку PDF (я використовував iText для цієї мети) і писати код самостійно, але це важко, оскільки не так багато безкоштовних переглядачів / читачів геопросторових PDF, які можна використати для тестування тесту Результати і переконайтеся, що геореференція є дійсною.

У моєму випадку я працював над рішенням щодо підготовки карт для зберігання PDF-карт Avenza . Я використовував GDAL для тестування отриманих PDF-файлів, але коли я потім подав ці карти (затверджені GDAL) в Avenza, все ще були вирішені деякі проблеми, перш ніж їх геопросторовий PDF-аналізатор зміг проковтнути ці карти.


Дякую, але це здається трохи складнішим, ніж я шукаю. Мені було просто цікаво, чи існує спосіб гео-довідки у форматі PDF для оцифрування функцій в arcmap.
Сара

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.


Хоча ця відповідь здається корисною, вона не має нічого спільного з тим, що задано у Питання. ОП має негеореференційований PDF і хоче посилатися на нього (не робити виправлення з геореференційного PDF). Ви б не хотіли пояснити свою відповідь?
DarkCygnus

0

Робіть це щотижня разом із Global Mapper, дивним чином читається PDF та GeoPDF GEOREFERENCE, що створює geopdf, jp2, geotif

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.