我需要进行模拟,以查看如果海平面上升X米,将会对哪些地区造成影响。有人可以给我提示要开始吗?我搜索了嵌入在Google Maps API中的工具,但未找到任何解决方法。
想法是创建一个像这样的函数:
isAffected <- function( coordinate, metersRised)
---- return True if it is affected, false otherwise
谢谢!
答案 0 :(得分:0)
第一个反应是,我看不到有任何快速而直接的解决方案,其中没有现成的R库/数据集,可以在其上构建类似的功能。第二个问题是想知道您是要对它进行建模还是要依靠已经开发的产品,还是某些中间产品。最严格的方法是应用流体动力学模型,而另一个书挡正在对其他人的预期结果进行抽样。
就上下文而言,对于受海岸附近海平面上升影响的<河谷>河水位,如果河水变化很大,则可能需要考虑河水变化。如果由于最近的暴风雨或融雪事件导致河流水位过高,那么仅靠海平面上升就将加剧洪水泛滥。因此,也许您可以假设河流高度有限(例如,雨季-高,旱季-低)。潮汐也使事情复杂化,风暴和风暴潮也是如此-由于暂时的极低压力,基本上高于平均海洋高度。有这三个部分的最坏情况下,例如,在新奥尔良或澳大利亚沿海地区,在暴风雨,涨潮和春季融雪融化的地方河水泛滥的情况下,将淹没x个城市(区域海岸线)的水量达到增加了5英尺的额外海平面,因此需要考虑大量数据-例如,对于那些河流高度假设,您可能需要某种x,y,z数据。许多城市都有淹没地图,您可以在其中得到那些河段高程。海平面上升的假设越大,河流的重要性就越小。例如,无论河水多高,随着河口向内陆移动数英里,巨大的海平面上升情况很容易淹没当今的整个城市。
为简化起见,我想说最重要的数据将是数字高程模型(DEM),可能是x,y,z坐标的栅格文件,其中z是关键部分-每个像素的高程在某些基准上方的xy位置。分辨率更高的DEM将提供更详细和现实的淹没。处理过的LiDAR数据可能是理想的-其他人已经产生的非常高分辨率的数据-原始LiDAR数据是负担。至少在这里有新西兰-http://opentopo.sdsc.edu/datasets-但我不确定在美国以外的地方是否有好的数据仓库。
一个基本的工作流程可能是,确定要考虑的液压组件以及多少个方案。例如,您将使用平均海平面来忽略潮汐,只有两种海平面上升的情况,并假设河流始终在__英尺,或者也许在__ ft和__ ft。下载/构建DEM,然后添加您的河流数字高程模型的高度(这并非易事,但搜索GIS Stack会是一个很好的开始)。这是将海水与之结合的参考基准海拔。假设海平面上升(假设为10英尺)已合并到另一个DEM中,则一种方法是以栅格数学为中心,将另一种方法相减,结果将显示新的淹没区域。完成栅格数学运算后,您可以使用一个有水淹没或没有水淹的二进制xy网格来应用最终的xy搜索功能:xy是1还是0,但到目前为止最棘手的部分是之前的全部。可能有更直接或简化的方法,但是系统太过动态,因此模型的复杂程度受到了限制。这是有关河流组成部分的更多信息,可能有助于可视化河流起点,您将在其中添加海水场景https://www.usgs.gov/mission-areas/water-resources/science/flood-inundation-mapping-science?qt-science_center_objects=0#qt-science_center_objects
库raster
可能是一个不错的开始,它将读取已下载的栅格/网格文件(例如.tif
),并执行所需的栅格数学运算-添加/减去相同大小的栅格一起。或忘记了所有这些处理,也许您可以只阅读别人完成的此类场景的预处理栅格,然后对它们进行搜索。对于某些海平面上升来说可能有很多数字,但是如果您想同时假定海平面和河流高程情况,这将变得更加棘手。