使用 Mapnik comp-op 使用矢量图层屏蔽光栅层

Using Mapnik comp-op to mask out raster layer using a vector layer

我正在尝试使用 Mapnik 使用单独的陆地和海洋数据集制作地图。

Land 是来自 Landsat 图像的栅格数据集。 Ocean 是使用来自 NOAA 测深的 gdaldem 创建的栅格数据集。

Landsat 数据集包括海洋图像,但它很丑陋。我想把它敲掉,这样我们就可以看到下面的 NOAA 测深层,创建类似于 Blue Marble 地图的外观。

我想我可以使用包含基于世界边界矢量数据集的 PolygonSymbolizer 作为遮罩的第三层,方法是将符号器的 comp-op 设置为 dst_in 并将其放在图层的最顶部像这样堆叠:

我已经尝试了所有的 alpha comp 模式,但都无法正常工作。我错过了什么?或者也许有更简单的方法?

这是我的代码的要点... https://gist.github.com/john-sanders/800b973858bc13e4417c

退一步说,我似乎用错了工具。或者至少不是完成这项工作最简单的工具。

gdalwarp 有一个 -cutline 参数,它接受一个 shapefile 来剔除不需要的栅格数据。

https://gis.stackexchange.com/questions/45053/gdalwarp-cutline-along-with-shapefile

此外,这个问题最好在 gis.stackexchange.com

上提出