Questions tagged «map-algebra»

8
哪些基于栅格的GIS系统真正起作用?
栅格GIS(例如GRASS,ArcGIS / Spatial Analyst和Idrisi)可以执行一组丰富的数据处理和分析过程,这些过程通常称为“ 地图代数”。在当今的计算环境中,以许多不同的格式维护1亿个或更多像元的栅格并要求相对复杂的计算(例如视域,分水岭和地形识别以及图像处理功能)变得司空见惯。 似乎有许多开源,免费和廉价的解决方案。但是,哪些在实践中真正成立?也就是说,哪些可以有效处理大型网格,可以轻松地输入和输出数据,合理地没有错误以及可以提供完整的分析程序?在您花费大量时间学习这些系统之前,您没有发现哪些陷阱或隐藏的限制?(最后一个问题是用网络搜索不容易回答的,我希望受访者能提供宝贵的建议。) 我对既能与流行(但价格昂贵)的商业系统很好地集成在一起又能与之竞争的解决方案特别感兴趣(这意味着Windows兼容性很重要)。

1
PostGIS栅格求和(地图代数)
我有一个表示特定日期旅行时间等时线的多边形表。对于每个原点,有五个等时线几何体(存储在单独的行中)。对于每个原点,我要栅格化五个等时线(二进制NULL或1),然后将它们组合成一个栅格图层。此栅格图层需要一个简单的地图代数:sum / 5,以便最终每个原点都将与一个单独的栅格图层相关联,该栅格图层的值分别为[NULL,0.2、0.4、0.6、0.8、1],具体取决于多少组成层重叠。这是一个概率面。 我的数据全部存储在Postgres 9.3(带有PostGIS)中。我的问题是,尽管我想学习使用PostGIS栅格,但是学习曲线似乎非常陡峭,我可以找到的所有示例都涉及单个栅格图层。在示例中,该图层用作多边形叠加层的一部分,可能平均了每个多边形的栅格值。我还没有找到组合的可复制示例:a)矢量->栅格b)地图代数;c)按照我的第一段的GROUP BY属性。 如果必须执行此任务,我可以使用GDAL或GRASS,但这似乎是PostGIS应该能够处理的。鉴于我的输入数据已经是PostGIS几何图形,这样做会很方便;我真的很想了解PostGIS栅格。 一些样本数据结构: areaid time date isogeom (polygon) 1000 07:15:00 2014-05-05 xxx 1000 07:15:00 2014-05-06 xxy ... 1006 07:15:00 2014-05-05 zzz 我想栅格化,按areaid分组,然后执行地图代数得出: areaid isorast (raster) 1000 aaa 1006 bbb 我没有成功将其包含到PostGIS中。我的方法是将矢量转换为栅格,将栅格转储为数组,并通过psycopg2将其与numpy数组组合,然后再将其写入GeoTIFF(可能会放回PostGIS中)。不理想,但可行。



3
在开源Web GIS中执行栅格地图代数?
使用ArcGIS Raster Calculator(或QGIS)可以很容易地为栅格地图代数。我以为使用Web GIS服务器(例如GeoServer和MapServer以及OpenLayers等)会很容易。我想要实现的是做一些简单的事情,例如将两个图像分割并生成要在网页中显示的第三个比率图像。我花了数周时间找到解决方案,结果(对我而言)非常困难。 我尝试了一些事情,包括: PostGIS栅格。我认为栅格代数在这里不是问题。 但是PostGIS栅格很难加载到GeoServer中。有关如何在GeoServer中加载pgraster的问题屡屡被问到。请参见例如如何通过postGIS将GeoTIFF导入GeoServer??,https://gis.stackexchange.com/questions/86006/publish-rasters-stored-in-postgresql-with-geoserver吗?在GIS.SE或GeoServer官方网站上,没有一个答案给出了可以遵循的完整步骤列表。已将pgraster加载到MapServer中已成功,但性能非常慢。两者似乎都需要进行平铺,并且单行命令将栅格导入到任一服务器似乎是不可能的。 GeoTIFF GeoTIFF易于加载到GeoServer和MapServer中。但是,我们该怎么办呢?没有像SQL这样的PostGIS,我转向并使用WCS进行了简要搜索以做地图代数,但是并没有发现太多。对于当前服务器,WCS是否是可行的途径? 很难编程 使用AJAX以某种方式调用PHP页面或使用GeoServer编写WPS,以将图像导入PostGIS,进行地图代数处理,然后将结果生成器转换为可以轻松加载并显示在GeoServer / MapServer中的格式(例如GeoTIFF)。 当然,人们可以编写代码直接读取GeoTIFF,并在没有GIS支持的情况下进行地图代数处理。 考虑到可以轻松地在桌面GIS中完成相同的代数运算,对我来说,上述任何一项似乎都不容易或不合理。 我想知道是否有人在Web GIS环境中进行过Map Algebra的经验,并且可以提出一条可行的路径吗? 我对开放源代码解决方案感兴趣(由于组织内部的政治原因。)我知道ArcGIS Server可以调用ArcGIS的python代码,但是我们没有许可证,并且这里的环境不利于获取代码。

2
在ArcGIS栅格计算器中使用多波段图像中的单个波段?
我正在尝试在ArcGIS 10(SP2 / 3)的栅格计算器中使用来自多波段TM图像(IMG文件)的各个波段。 我可以向我的MXD中添加单个波段,但是无论我如何引用MXD中的图层,栅格计算器都只会使用波段1。 "TM_Image.img - Layer_3" - 0在栅格计算器中使用类似的东西将运行,但将使用波段1。 使用图像的完整路径可以正常工作,但是对于较长的表达式/路径来说不方便。喜欢"X:\TM_Image.img\Layer_3" - 0 我认为这适用于早期版本的Arc 10,但不再适用于SP 2或3。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.