[GIS] Getting lat/long points or coordinates from pdf file to store in database using QGIS

coordinateslatitude longitudepdfqgis

I have some pdf maps that show airport noise contours. I need to get the area of noise from the map as a shape with coordinates that we can store in a database.(E.g., select 100 points on the noise area outline and store their coordinates.)

Here is a link to one of these maps:

http://www.lawa.org/uploadedFiles/LAX/pdf/2q16%20Quarterly%20Report%20Map.pdf

I tried QGIS, add layer geospatial pdf. But attribute table doesn't have x, y coordinates.

I have also converted pdf to .DXF format and inserted it to ArcMap, but it doesn't have spatial reference.

Best Answer

Load the PDF into QGIS, deselect or remove all the layers your aren't interested in, leaving you with just the contours. You should end up with something like this (using Quick Map Services' OSM base map):

contours over OSM

Note that the noise level of these contours is lost. Its an annotation in the PDF that has no geographic reference to the line, so does not load with the other layers from the PDF. So if you need the noise level for each line you need to add a new attribute to each contour line and enter it manually.

Then use Vector: Geometry Tools: Extract Nodes to create a Point shapefile of the nodes of the contours. Note these points form the line segments that make the contour lines. If you need more points on the lines then you need to densify the lines first, which is another step.

Then with the point layer loaded, it should now look like this:

lines and points

Now use Vector: Geometry Tools: Export/Add Geometry Columns. Decide what coordinate system you want the points in. Don't click the "save to a new shapefile" box, we're going to add them to the current map layer. Hit OK, then when its run hit Close.

Now your attribute table should have the X and Y coordinates:

enter image description here

in this case in the original coordinate system.

Saving the shapefile will give you a DBF file that you can read into Excel or other spreadsheet program for further processing and upload to your database...

Related Question