Возможно ли привязать существующий PDF без привязки?

18

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

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

Сара
источник
4
Вы могли бы это интересно: georeference.org/forum/t112455 и gis.stackexchange.com/questions/9659/...
John
1
Не совсем ваш вопрос, но если исходным кодом является AutoCAD, ogr2ogr преобразует dxf-файлы в файлы форм. Смотрите этот пост для примера. К сожалению, пример не охватывает флаги для геопривязки, но список рассылки gdal-dev очень активен, и кто-то быстро ответит, если у вас возникнет вопрос о том, как установить флаги геопривязки.
Рабы

Ответы:

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

Mapperz
источник
Это работает, если я хочу импортировать обычный PDF, а не GeoPDF?
Сара
Он будет импортировать обычный pdf, просто не будет никакой пространственной привязки.
Mapperz
2
Позволяет ли расширение для геопривязки PDF?
Сара
Это также может быть сделано без затрат :) проверьте мой ответ ниже, чтобы увидеть, как
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:

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-файла, на который вы ссылаетесь.

DarkCygnus
источник
3

Следует отметить одну важную вещь: GeoPDF - это не то же самое, что Geospatial PDF .

Geospatial PDF - это просто «обычный» PDF, снабженный некоторыми геопространственными тегами, которые используются для географической привязки PDF (эти теги определены как предлагаемые Adobe геопространственные расширения ISO 32000).

Я не уверен, есть ли решение с открытым исходным кодом для применения этих тегов в PDF. Один из способов с открытым исходным кодом - использовать библиотеку PDF (я использовал iText для этой цели) и самостоятельно писать код, но это сложно, поскольку не так много бесплатных программ просмотра и чтения Geospatial PDF, которые можно было бы использовать для тестирования результаты и убедитесь, что географическая привязка действительна.

В моем случае я работал над решением для подготовки карт для магазина PDF-карт Avenza . Я использовал GDAL для тестирования полученных PDF-файлов, но когда я затем отправил эти карты (подтвержденные GDAL) в Avenza, еще оставалось решить некоторые проблемы, прежде чем их анализатор Geospatial 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.

Джеб
источник
Хотя этот ответ кажется полезным, он не имеет ничего общего с тем, что задано в Вопросе. У OP есть PDF-файл без ссылок и он хочет сослаться на него (чтобы не делать различий из PDF-файлов с географической привязкой). Не могли бы вы уточнить свой ответ?
DarkCygnus
0

Делайте это на еженедельной основе с Global Mapper, он классно читает PDF, а GeoPDF GEOREFERENCE создает геопод, jp2, geotif

GeospatialInformationTech
источник