1

I have a GeoTiff that I wish to convert into a geospatial PDF for use in Avenza. I attempted to use gdal_translate, and also used the QGIS's Raster->Conversion->Translate which apparently just builds gdal_translate commands. In both cases I am able to create a PDF, but the spatial data is wildly inaccurate.

To test the geospatial PDF, I load it into Adobe Acrobat Reader. The map displays well, but when I check the spatial data by using Acrobat Reader's Edit->Analysis->Geospatial Location Tool I see incorrect values for longitude and latitude.

If I zoom in closely in Acrobat Reader and move the mouse across the map, I can see that lon/lat values are cycling over their respective ranges several times across the map. For example, if I move the mouse pointer from left to right across the map, longitude values go from 0 up to 180 and then to -180 and up to 0, and on as if I were repeated flying around the globe. Similar pattern for latitude.

This GeoTiff was created using QGIS and GDAL as discussed elsewhere in this forum. I have verified that the GeoTiff's spatial info is correct by successfully loading it back into QGIS as a raster layer and comparing it against the original vector data.

I would guess that this is an issue with the coordinate reference system and have tried tinkering with a_srs settings to no avail other than sometimes gdal_translate fails to produce any spatial data at all in the PDF.

So my resulting PDF's will load in Avenza but it cannot interpret the spatial data correctly. For example, it may say that the distance is thousands of miles away when it should be near zero.

  • 2
    Can you share a sample image and the gdal_translate commands you were using? – user30184 Jan 31 '16 at 22:12
1

I've figured this out now and want to share my results in case others have the same problem. It was a CRS issue. The process below will help you avoid this issue.

This is basically another version of "How to create a geospatial PDF using QGIS". This topic has been discussed already in this forum, but for some reason those answers weren't clear enough for me. Also, I've refined the process to make it easier and more robust. You will not need to go to the command line.

FYI I'm using QGIS 2.8.1 under Windows 7. The resulting PDF is pure raster, with no vector data. It will work in Adobe Reader and Avenza PDF Maps.

1) Be sure you know your QGIS project's CRS.

In QGIS:

Project > Project Properties > CRS > check "Enable 'on the fly' CRS transformation" and then specify your chosen CRS if it isn't already.

2) Configure a Print Composer for your map.

This is a complex topic and there is a small learning curve. The core part is that you need to create a print composer and insert a map into the layout.

3) In your Print Composer window, enable world file creation.

In the Print Composer window:

Composition > Paper and Quality > check "World File on" and specify your map. If you have only one map inserted in the layout, you'll see "Map 0" specified next to "World file on".

If you don't see the Composition panel, it may be turned off. In the Print Composer window:

View > Panels > make sure "Composition" is checked

4) Export your map to a TIF file with an associated TFW world file.

In the Print Composer window:

Composer > Export as Image > specify file name and location with "Save as type" set to "TIF format (*.tif *.TIF)"

5) Add your new TIF image back into your QGIS project as a raster layer.

In QGIS:

Layer > Add Layer > Add Raster Layer > select your new TIF file (not the TFW)

You will be asked to specify the CRS. It is very important that you specify the same CRS that was noted in step one above.

You will know you've done this correctly if your new raster layer lines up correctly in the project. Some reduction in visual quality is expected because this is only a raster snapshot of your project, but alignment should be almost perfect or you've got problems -- perhaps an incorrect CRS accidentally specified.

6) Export your new raster layer to a PDF file. This will be the result you've been waiting for.

In QGIS:

Raster > Conversion > Translate >

Set Input Layer to the new raster layer you just added.

Set Output File to the location and filename you want. Make sure the file extension is ".pdf". The Select button is helpful for this.

Check "Target SRS" and set it to the same CRS noted in step one above. The Select button is very helpful here because it will help you get the syntax right.

Uncheck "Load into canvas when finished" because that would only create confusion later.

Click "OK".

You'll see two small windows reporting success. Close these by clicking "OK"

Close the Translate (Convert format) window by clicking "Close" -- not its "OK" button because that just repeats the PDF translation process.

7) OPTIONAL: Check your work by opening your new PDF in Adobe Reader and enabling the Geospatial Location Tool.

In Reader:

Edit > Analysis > Geospatial Location Tool

Mouse around and see if known points display the correct latitude and longitude values. Note that latitude and longitude are displayed even if your chosen CRS is in units other than latitude and longitude. For example, UTM uses meters but if you use a UTM zone as CRS you'll still get nice lat/lon output in both Adobe Reader and Avenza PDF maps.

  • For step 6, you can optionally compress the tiff by placing an 'x' inside Creation Options and setting the Profile to High compression. For example, a 36x36" TIF @ 300 DPI (~10000 px wide and high) outputs from composer at ~440MB. The PDF with high compression step reduces it to ~95MB. That smaller PDF is quicker to transfer to device and process in Avenza PDF Maps app. – SaultDon Feb 18 '16 at 0:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.