Terrain Elevation Data (Contour - Level Curve)

17 views (last 30 days)
Guilherme Franklin
Guilherme Franklin on 10 Aug 2022
Commented: Guilherme Franklin on 30 Aug 2022 at 14:03
Hi, I'm new to the mapping toolbox and I would like to get the contour data for a given locale.
Here's an example image:
I would like to export the curves to kml, so that I can open them in google earth.
I'm using a GeoTIFF file that contains the terrain data and a kml file containing the boundary of the area of interest.
Below is an image of the GeoTIFF file loaded on the desktop and an image of the boundary in the kml file, respectively.
GeoTIFF:
KML:
Below is the code used to load the files:
clc, clear, close all;
kml = kml2struct("Marcador sem título.kml");
Long = kml.Lon;
Lati = kml.Lat;
%geoplot(Lati,Long)
%geobasemap streets
[A,R]=readgeoraster("s17_w048_1arc_v3.tif",'OutputType','double');
latlim = R.LatitudeLimits;
lonlim = R.LongitudeLimits;
usamap(latlim,lonlim)
geoshow(A,R,'DisplayType','surface')
demcmap(A)
It is worth noting that the KML boundary is within the geographic location to which the GeoTIFF file belongs.

Answers (1)

KSSV
KSSV on 10 Aug 2022
  1. Load the kml file. This will be your boundary.
  2. Load the geotiff file. Make the necessary spatial coordinates using meshgrid
  3. Using the boundary and data/ raster from geotiff; use inpolygon to get the coordinates inside your boundary.
  4. From the extracted indices using inpolygon, make your required raster.
  5. Use contour to plot the contour lines.
  6. Convert contour to kml using: https://in.mathworks.com/matlabcentral/fileexchange/33800-kml-contour-plot
  2 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by