# OpenDroneMap Coordinate format

Geographic Information Systems Asked on January 5, 2022

I was using OpenDroneMap to generate 2D map and the output comes with corner coordinates like this:
 -1.92011886596679688e+02 -1.89522613525390625e+02 1.91508605957031250e+02 1.99496490478515625e+02 

This does not look like normal lat/lng data, what format is this?

How should I convert to normal lat/lng?

I just had this problem too so I figured I'd share my solution for future reference.

Turns out that these coordinates are a local projection coordinate system, and is used instead of latitude/longitude because it avoids distortion. Read this article for a better explanation of the differences.

First, you can extract the info for which EPSG zone you are in, as well as the bounding coordinates for the orthophoto. I did this following this tutorial, here is the basic code I ended up using:

!pip install rasterio

import rasterio as rio

orthophoto_path = "insert path here"

with rio.open(orthophoto_path) as lidar_dem:
print(lidar_dem.crs)
print(lidar_dem.bounds)


In my case, this yields me outputs of:

EPSG:32612
BoundingBox(left=338483.52535142255, bottom=6176391.54517328, right=338858.99250627175, top=6176778.7207066)


The EPSG indicates which zone you're in. After googling, I found info about my zone here.

Then the bounds are actually in units of meters! It's rather handy. So in my case, you can see my survey is 387m tall (top - bottom). You can then use these numbers to relate where you are in accordance to your EPSG zone.

For me, this is all I actually needed to use (I didn't need lat/lon) since I just wanted to calculate distance from inside the image. However, if you did need to convert back to GPS, perhaps this thread will help you. Just keep in mind that lat/lon doesn't correlate linearly to distance on the surface of the earth. This is explained well by the first article I linked.

Answered by Matthew Wood on January 5, 2022