Clear Filters
Clear Filters

Computing the dimensions of a geographical area

2 views (last 30 days)
Hi everyone,
I am trying to compute the dimensions of the rectangle (or Cell) shown in blue in the map, which has been generated by geodensityplot according to the values of LatP, LonP, and respective weights.
As you can see from the figure, I tried to compute the width and the height of the rectangle with two methods:
1. I considered the average latitude/longitude and I chose the points with the maximum and minimum longitude/latitude to compute the distance and convert it in meters.
2. I simply computed the lengths of the arcs covered by the rectangle as arcLon=max(LonP)-min(LonP) and arcLat=max(LatP)-min(LatP) and computed the average distance spanned by those arcs.
My concern is that both the methods (especially the first one, that should be more accurate) are providing weird results. Indeed, from the map it is evident that the width should be around 5300 m and the height around 6200 m.
Thank you in advance for your help!
  4 Comments
Maurilio Matracia
Maurilio Matracia on 16 Feb 2021
sorry, they're actually the number of rows or columns to further divide the cell in subcells...
In the initial question I assumed them equal to 1 so that we just have the full rectangle, you can do the same

Sign in to comment.

Answers (1)

Avni Agrawal
Avni Agrawal on 14 May 2024
I understand that you are trying to compute the dimensions of geographic area.Certainly, let's simplify and correct your approach to calculating the dimensions of cells in a geodensity plot based on latitude and longitude data.
Method 1: Distance Calculation
You're calculating the distance across latitudes and longitudes to find the dimensions of the entire area covered by your data, then dividing by the number of cells to find each cell's dimensions. Ensure you're using the `distance` function correctly with latitude and longitude values.
widthCell = 1000 * deg2km(distance(mean(latP), min(lonP), mean(latP), max(lonP))) / colsU;
heightCell = 1000 * deg2km(distance(min(latP), mean(lonP), max(latP), mean(lonP))) / rowsU;
Method 2: Arc Length Calculation
This method calculates the arc lengths from the latitude and longitude differences directly and converts these spans into distances.
widthCell = 1000 * deg2km(arcLon) / colsU;
heightCell = 1000 * deg2km(arcLat) / rowsU;
- Ensure accurate use of `distance` and `deg2km` functions.
- Verify the number of cells (`colsU` and `rowsU`) matches the divisions in your geodensity plot.
- Remember, calculations assume the Earth is a perfect sphere, which might introduce some errors, especially at high latitudes or over large distances.
I hope this helps!

Categories

Find more on Geographic Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!