Transform an image of a geographic area to a Matlab map

12 views (last 30 days)
Hello,
I have the following map (is an image in format .jpg):
that represents an area around the airport Madrid Barajas. I have flying aircrafts data and position of them in latitude and longitude. I would like to plot that geographic data over this image. For that I need to transform this image into a map object. How can I do that? I know the latitude and longitude limits of the map, so I think must be a way.

Accepted Answer

Kiran Felix Robert
Kiran Felix Robert on 23 Jul 2020
Hi Marius,
It is my understanding that you have an image file of a region with corresponding Latitude and Longitude limits, and you wish to convert it to a GeoTIFF file. This can be done using the Mapping Toolbox.
There are specific functions for this such as georefcells, as you know the latitude and longitude limits. The Reference object can be created using the georefcells, and the reference object can be used to write the image into a GeoTIFF file as illustrated in the article here.
Assuming you have the Latitude limit as (-20,20) and longitude limit as (-30,30), a simple example is as follows,
img = imread('map.jpeg');
lat_limits = [-20 20];
lon_limits = [-30 30];
[x,y,~] = size(A2);
r_size = [x y];
R = georefcells(lat_limits,lon_limits,r_size);
geotiffwrite('MapOut.tif',img,R);
Kiran
  1 Comment
Marius Marinescu
Marius Marinescu on 27 Jul 2020
Yes tha's what I need! I had a problem and is that I had to add the next comand to your code:
R.ColumnsStartFrom='north';
I don't know why the image was loaded upturned, as shown in this figure:

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!