I love this, although I do wonder how accurate it is, given the likely limited underlying elevation data source. It reminds me a lot of an application for creating shadow animations based on digital elevation models that I wrote some time back https://www.whiteboxgeo.com/manual/wbw-user-manual/book/tool...
Caffe2-rs is a Rust crate that provides an operator network library for the Rust ecosystem. The library is based on the flexible and robust Caffe2 C++ library and aims to provide high performance, high modularity, and ease of integration into all future systems written in Rust.
Apologies for noting, but you spelt the interrobang wrong. (It is "interro-bang". That is also a mnemonic. What you instead did was to dump a rushed knee-jerk position there and then start reconsidering it and nurturing doubts. The interrobang is when first you disbelieve as absurd but are progressively facing the ghastly reality that the suspicion may be a fact - the doubt dissipates.)
The geospatial industry is massive, which includes jobs in geographical information systems (GIS) and remote sensing. All that imagery that is being collected by satellites and drones, it's geospatial software that is processing it, developed by GIS/RS programmers. All that location-aware data that is being collected at all times? That's GIS. Google Earth, Google Maps, Apple Maps...all GIS. The geospatial sector is worth billions worldwide and many thousands of people work in the industry. Proof of that is fact that Jack Dangermond, the owner/founder of Esri, producers of one of the most widely used GIS software platforms, is one of the world's richest people.
Well thank you for saying that! I'm the developer of WhiteboxTools and have been using Rust to develop it for years now. I love the language. I think Rust and geospatial are really well suited. Anyhow, as a daily reader of HackerNews, I was very surprised to see my project mentioned!
Yes, that's correct, it would increase its capacity by orders of magnitude, if not temporarily. The capacity of Lake Erie to hold water is set by the elevation of its outlet, which is currently about 174 m above sea level. Niagara Falls is a knickpoint in the Niagara river, and over time knickpoints in rivers are always smoothed out. This is why Niagara Falls is eroding upstream, and we spend money each year trying to minimize this. As it works it way upstream, it will eventually intersect with the outlet of Lake Erie (over geological time scales), and will start to erode the outlet elevation downwards to achieve that nice concave-upwards longitudinal profile indicative of a river in dynamic equilibrium. In doing so, it will reduce the capacity of Lake Erie quite significantly. Someone above stated that the Great Lakes are below sea-level, and that's true for parts of most of the lakes, but not Erie, which has a maximum depth of about 64 m. It will eventually, over the long term become a wide part of the long river connecting Huron and Ontario. By the way, there are plenty of precedents for rivers suddenly and temporarily increasing their capacity to handle a sudden increase in flow; Google 'channelled scablands' and you might be surprised. I often joke with students that I won't want to live in Missisauga on the shores of Lake Ontario, which I do currently, when this event happens. Of course, it's only a joke because we're talking about a very, very long time away. As for the Detroit and St. Claire rivers increasing their capacity to Erie, I'm not sure why that would be necessary. Flow through this newly created 'Erie River' would simply adapt to carry the capacity of water supplied by Huron all the way to Lake Ontario, just as the Niagara river does now. There's no need for upstream change. Just think, the St. Lawrence River has the ability to convey the entire water supplied by all of the Great Lakes to the Atlantic.
Perhaps the missing component in understanding this is the time frame for draining Huron/Michigan into "River Erie".
So Niagara is slowly eroding and will eventually reach a tipping point where further erosion will increase the rate of outflow from Erie. The increased outflow will increase the rate of erosion which will increase the rate of outflow, and so on. Correct?
When this is happening, the rate of outflow from Michigan/Huron via Detroit and St Claire will increase, but erosion is not necessary for this to occur?
Say we built a dam on the Detroit River that keeps Michigan/Huron at its current water level. And then Erie turns into a river. Once that transition is complete, we destroy the dam. How much time is necessary for Michigan/Huron to drain? Is the timescale days, weeks, months, years, etc?
To be clear, I'm not saying that the draining of Lake Erie necessarily means that Lake Huron/Michigan or Superior would drain too. If that were to happen, the two events would be quite separate and likely separated by millennia. Lake Erie's water level will lower when/if the Niagara river erodes all the way back to to the outlet of Lake Erie, and Lake Erie will become a river, when it erodes all the way to the middle of the lake (actually the deepest part). Obviously, this event, should it happen at all, would be thousands if not hundreds of thousands of years from now, assuming that climate doesn't change such that the Great Lakes dry up, or that there isn't further geological activity/uplift. Would this draining of Erie result in a catastrophic flood when it does happen? I don't know, I suppose it depends on the erodability and topographic character of the outlet area at the time. But it is surely the case that the draining of Erie (i.e. the reduction in its capacity to store water) would result in an immediate but temporary increase in the flow through the Niagara river, as it conveys the regular flow from the upper Great Lakes as well as the additional storage loss of Erie. Once the river eroded to the deepest part of Erie, however, flow would resume to simply be controlled by the water delivered to the river by Huron. Would the river continue to erode to the outlet of Huron and result in a similar draining of the upper Great Lakes? I don't know, but I do know that would be over extensive geological time scales and that there is plenty of opportunity for climate change to have a great impact on this possible scenario--Erie draining is much more immediate by comparison. However, something that many Canadians like myself don't often realize, because we live in the country with the greatest number of lakes, is that lakes are generally not that common worldwide. They represent temporary landscape features that are reflective of a relatively recent (in geological terms) disturbance...in the case of most of Canada's lakes, a recent glaciation. Lakes eventually drain as their outlets are eroded down and fill in by sediment delivery from upstream. And the same will likely be true of all of the Great Lakes over a long enough time. There is nothing permanent about our landscapes and that's exactly what makes Earth so awesome as a planet. It's dynamic and varied and today's 'great' lakes can be tomorrow's dry desert plains. We may well be devastating this planet, and its ecosystems specifically, but in the long-view, we'll likely be nothing more than a blip in the history of Earth, and one that it will erase most evidence of after enough time. I don't know why, but there is something reassuring about that thought to me.
These blender-based shaded relief images have been popping up a fair bit in the geomatics space recently. I really love them, but they are fairly complicated to make. I developed the open-source geospatial platform WhiteboxTools (developed in pure Rust) to help with tasks like this. You can create multi-scale hillshade images with it and the type of shadow model displayed above as well with one click:
Thank you John for your work with WhiteBoxTools, I was introduced to it when a former student of yours entered our GIS program at Selkirk College a couple years back and have been keeping one eye on it since.
You've got some really excellent algorithms and tools in WBT, I've used them to shortcut some obnoxiously long lidar/pointcloud processing with other packages.
I'm not sure that this is "less complicated" than the linked tutorial though, but some great exploration for someone who knows a little more ;)
@xemoka Thanks for the kind words. I will respectfully disagree about the level of complication involved though. In this case, you simply open the ShadowImage tool, specify your input DEM, choose a palette, name the output and press run. I realize that there is a lot of GIS knowledge that is required in many cases, but this one is fairly straight forward to run.
I built an extensive open-source Rust-based spatial analysis platform called WhiteboxTools with the intention of serving as a plugable spatial analysis back-end for various GIS front-ends. So far people have created front ends for it in QGIS, ArcGIS, Python, and R, but I have long wanted to see people use it more in web-GIS. Perhaps one day...