I want to find the area covered by the reservoir of a dam using a satellite image.
This is what I have so far.
DamPosition = DamData[Entity["Dam", "TehriDam::q2zsw"], "Position"]
Which returns the coordinates. And then, I use some image manipulation to isolate the dam from geoImage
.
geoImage =
DeleteSmallComponents[
Dilation[
Graphics[
Select[Cases[
GeoGraphics[
GeoBoundingBox[GeoPosition[{30.377778`, 78.480556`}]],
GeoBackground ->
"VectorMinimal"], {Directive[{___,
RGBColor[0.6, 0.807843137254902`, 1.], ___}], ___},
Infinity], Not@*FreeQ[Polygon]]], 0]]
Now, all I want to do is find the area of the blue - shaded region.
I know I can do this manually using the getcoordinates tool, but that seems too unreliable and tedious to do. I'm looking for an automated way to do it.
PS : Using GetCoordinates, we can use the following code
damContour = {{36.14216500804076`, -98.66601000992658`},
{36.15131161335255`, -98.6549477815357`},
{36.1501032100147`, -98.62214348441108`},
{36.15000037203102`, -98.60908533742007`},
{36.13193732747872`, -98.58352140011719`},
{36.10128112030604`, -98.57004960135653`},
{36.08009879008038`, -98.6043835918035`},
{36.1172565230945`, -98.61315564049649`},
{36.12831708030723`, -98.62663775701455`},
{36.13202116684048`, -98.64507269213401`},
{36.13870030579935`, -98.6454368865287`},
{36.13708633726377`, -98.6568745786338`}};
GeoGraphics[{White, Thick, Line[GeoPosition[damContour]]},
GeoRange -> {{36.05, 36.17}, {-98.7, -98.52}},
GeoRangePadding -> Scaled[0.1], GeoBackground -> "Satellite"];
GeoArea[Polygon[GeoPosition[damContour]]]
GeoProjectionData["EqualArea"]
. $\endgroup$GeoArea
. If you weren't, then the area would depend on the projection. $\endgroup$