Todavía estoy tratando de tuerca a este problema de la fusión de la superposición de geotiffs.
Del conjunto de datos original (aquí, un 20m resolución del modelo digital de elevación del estado de Victoria), he vuelve a proyectar y convertir a tiff. Prestados en TileMill, no es un lugar limpio, irregular límite:
for f in dtm20m dtm10m_nw; do
export GDAL_CACHEMAX=1000
echo -n "Re-projecting: "
gdalwarp -s_srs EPSG:3111 -t_srs EPSG:3785 -r bilinear ./vmelev_${f}/${f} ${f}-3785.tif
El TileMill es de estilo:
.dem {
raster-colorizer-default-mode: linear;
raster-colorizer-default-color: yellow;//hsl(60,50%,80%);//transparent;
raster-colorizer-stops:
stop(0,hsl(60,50%,80%))
stop(392,hsl(110,80%,20%))
stop(785,hsl(120,70%,20%))
stop(1100,hsl(100,0%,50%))
stop(1370,white);
raster-scaling:near;
}
Lo siguiente que generar hillshading:
gdaldem hillshade -z 5 $f-3785.tif $f-3785-hs.tif
echo and overviews:
gdaladdo -r average $f-3785-hs.tif 2 4 8 16
Por desgracia, ahora los datos parece ser generado incluso donde antes no lo había.
El gdaldem la documentación dice que respeta nodata
:
Para todos los algoritmos, excepto en el color de alivio, un valor nodata en el destino conjunto de datos se emite si al menos un píxel establece en el valor nodata se encuentra en la ventana de 3x3 centrado alrededor de cada fuente de píxeles. El la consecuencia es que habrá un borde de 1 píxel alrededor de cada imagen establecer con valor nodata. De GDAL 1.8.0, si -compute_edges es se especifica, gdaldem va a calcular los valores en los bordes de la imagen o si un nodata el valor se encuentra en la ventana de 3x3, mediante la interpolación de los valores perdidos.
Estoy usando GDAL 1.9.
Estoy atascado en este punto - no estoy seguro de cómo incluso directamente verificar si hay un "nodata" valor en el que se vuelve a proyectar tif, o por lo que el proceso de TileMill sabe cómo salir de los píxeles transparentes. Los punteros sería muy apreciada.
(Para el contexto, si es necesario, la razón de todo esto importa es mi enfoque actual de la fusión problema es la capa de múltiples hillshaded tifs en la parte superior de uno al otro, que no funcionará si el "nodata" bits chocan.)