5

Ellicott City, Maryland was the site of a serious flash flood several years ago, due to the local topography. How can we use the Wolfram Language to make a graphic that shows the area at risk of flooding? It might help to find the lowest elevation near Ellicott City, and use ResourceFunction["GeoElevationGraphics3D"].

MarcoB
  • 67,153
  • 18
  • 91
  • 189
Ted Ersek
  • 919
  • 2
  • 9
  • I tried ResourceFunction["GeoElevationGraphics3D"][Entity["City", {"EllicottCity", "Maryland", "UnitedStates"}]] in the cloud but unfortunately it ran out of memory for my plan. Could that be a starting point though? – MarcoB May 10 '23 at 01:38

1 Answers1

9

Locate the center and fix the range of the shown map:

center = Entity["City", {"EllicottCity", "Maryland", "UnitedStates"}];
range = Quantity[4, "Miles"];

Get an idea of where we are:

GeoGraphics[GeoCenter -> center, GeoRange -> range]

enter image description here

Download the elevation data:

data = GeoElevationData[center, GeoRange -> range,
         GeoProjection -> Automatic, UnitSystem -> "Imperial"];
{mi, ma} = QuantityMagnitude[MinMax[data]]
(*    {80.2862, 605.287}    *)

Draw a relief map with a "flood level" manipulator:

Manipulate[ReliefPlot[data, DataReversed -> True, PlotRange -> {level, ma}],
           {level, mi, ma}]

enter image description here

Roman
  • 47,322
  • 2
  • 55
  • 121
  • Oh how nice ($+1$). – David G. Stork May 10 '23 at 10:38
  • It does look like a very unfortunate place to build a city: ReliefPlot[GeoElevationData[GeoCenter -> GeoPosition[{39.26777632053404, -76.7941653003265}], GeoRange -> Quantity[1, "Miles"], GeoProjection -> Automatic, UnitSystem -> "Imperial"], DataReversed -> True, PlotRange -> {180, 500}] – Roman May 10 '23 at 16:24