在地图上显示动态栅格(激光雷达)数据,如Geoserver,Bing地图,Google地图从Ground up

时间:2011-08-17 01:14:37

标签: bing-maps raster geoserver lidar

我有一些高质量的LiDAR数据。我需要动态处理它,并根据我的输入和高程更新字段(而不是高程字段)。完成后,我需要尽可能实时地在Web Map(Bing Map,Google Map等)上显示此栅格数据。以下是我迄今为止所做的:我使用ArcGIS Python Lib编写了一些脚本,处理我的激光雷达剪辑,添加一个字段,根据输入的内容更新该字段。所以现在我基本上都拥有了光栅上的点每5分钟分为3类。如果我在arcGIS中查看此栅格,我可以在基本地图上查看重叠的3色栅格。

但现在我需要在Web地图上渲染这些光栅剪辑。我的第一个是对这些分类剪辑进行多边形化并在JavaScript Map上显示多边形。但是,多边形化需要花费大量时间,因此它被淘汰了。

现在我有其他选择是使用GeoServer的栅格渲染功能来显示图像。然后使用我创建的这个WMS,在Bing Maps上重叠它。这是我被困的地方。我不知道如何从我的ADF文件中自动获取Geoserver支持的Rasters,如Geotiff,jpg200o等,首先在打开的图层上渲染它们,然后尝试在bing贴图上重叠它们。

如果有人知道在地图上进行动态更改栅格的这种渲染的任何好教程,那么如果你能指出我就会很棒。

此外,如果有其他更好的方法来建立这种系统,请建议。我几乎可以接受任何解决方案。

由于

PS:我非常擅长网络编程,网络服务,数据库和脚本等。但是很高兴与Lidar和Geo-Rasters合作。

2 个答案:

答案 0 :(得分:4)

看到您熟悉Python,您可以使用GDAL库附带的GDAL2Tiles.py python脚本(http://www.gdal.org/gdal2tiles.html)来获取任何地理参考光栅文件和印章它可以根据TMS磁贴系统编号的预渲染256px x 256px PNG磁贴,即Bing Maps / Google Maps / Open Street Maps使用的z / x / y系统。将此脚本合并到现有工作流程中,每5分钟重新生成一组图像切片。

然后,您需要做的就是创建一个新的Bing Maps TileSourceSpecification,它直接指向输出结果图块的目录 - 根本不需要中间WMS服务。

答案 1 :(得分:2)

我使用Geoserver在OpenLayers上的栅格渲染和Bing Maps As Base贴图解决了这个问题。基本上我有一个处理激光雷达的Python脚本,并生成GeoTiff格式。 Geoserver使用此GeoTIFF作为数据存储区并公开WMS(Web制图服务器)。打开图层允许我在Bing地图图像上重叠我的GeoTIFF!所以我不必出去创建瓷砖和平铺方案。一旦我的数据发生变化,地理服务器就会呈现新数据! 如果有人需要更多细节,请告诉我。

---更新:2015年4月3日---

更准确地说,我在GeoServer中将GeoTIFF栅格设置为WMS服务。然后使用JavaScript中的函数,我简单地修改了SLD(样式化图层描述符XML),并根据我的实时参数渲染渲染光栅的服务器。

现在可以使用ArcGIS Server的Image Server API完成此操作。它提供了更强大的功能来操纵栅格。