<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<div class=""><br class="">
</div>
<div class="">
<div class="">Hi,</div>
<div class="">I would need help ...</div>
<div class=""><br class="">
</div>
<div class="">I know how to do all the steps on the QGIS interface except one, the binarization of the png with the Raster calculator according to the RGB colors</div>
<div class=""><br class="">
</div>
<div class="">I have 524 288 png tiles to convert to kml, and even if I wanted to, it's an impossible task by hand ... so I would like to automate that.</div>
<div class=""><br class="">
</div>
<div class="">Here's what I've managed to do so far ...</div>
</div>
<div class=""><br class="">
</div>
<div class=""><i class="">def run_script(iface):</i></div>
<div class=""><i class=""><br class="">
</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># 'map_11_' + str(column) + '_' + str(line) + '.png'</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>for column in range(1023):</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>for line in range(511):</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># Convert World Coordinate to GPS Coordinate</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>def convWcToGps(column, line):</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># lonW</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>var ulx = (360 * (column / 1024)) - 180</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># latN</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>var uly = 90 - (180 * (line / 512))</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># lonE</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>var lrx = ulx + 0.3515625</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># latS</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>var lry = uly - 0.3515625</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>return ulx, uly, lrx, lry</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># Verbose</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>print ('map_11_' + str(column) + '_' + str(line) + '.png'</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>+ '\n lonW (ulx) = ' + ulx</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>+ '\n latN (uly) = ' + uly</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>+ '\n lonE (lrx) = ' + lrx</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>+ '\n latS (lry) = ' + lry)</i></div>
<div class=""><i class=""><br class="">
</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># Add GPS Coordinate and Projection</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># gdal_translate -a_srs EPSG:4326 -a_ullr <ulx> <uly> <lrx> <lry> input.png output.tiff</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>'gdal_translate -a_srs EPSG:4326 -a_ullr ' + str(ulx) + ' ' + str(uly) + ' ' + str(lrx) + ' ' + str(lry) + ' /Users/romain/TilesVR/map_11_' + str(column) + '_' + line + '.png
  /Users/romain/TilesVR/map_11_' + str(column) + '_' + str(line) + '.tiff'</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>print ('Add Coordinate and Projection => DONE')</i></div>
<div class=""><i class=""><br class="">
</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># Binarisation</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># map_11_column_line.tiff to BIN_map_11_column_line.tif</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># 0 black = sea, 1 white = land</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># land = RGB 59,89,95,255 & RGB 60,89,96,255</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># ? code</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>print ('Binarisation => DONE')</i></div>
<div class=""><i class=""><br class="">
</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># Polygonisation</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># BIN_map_11_column_line.tif to POL_map_11_column_line.shp</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>'gdal_polygonize.py "/Users/romain/TilesVR/BIN_map_11_' + str(column) + '_' + str(line) + '.tif" "/Users/romain/TilesVR/POL_map_11_' + str(column) + '_' + str(line) + '.shp"
 -b 1 -f "ESRI Shapefile" POL_map_11_' + str(column) + '_' + str(line) + 'DN'</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>print ('Polygonisation => DONE')</i></div>
<div class=""><i class=""><br class="">
</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># Repair geometry</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># POL_map_11_column_line.shp to RP_POL_map_11_column_line.shp</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># ? code</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>print ('Repair geometry => DONE')</i></div>
<div class=""><i class=""><br class="">
</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># Linearisation</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># RP_POL_map_11_column_line.shp to LN_map_11_column_line.shp</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># ? code</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span>print ('Linearisation => DONE')</i></div>
<div class=""><i class=""><br class="">
</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># Export kml</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># LN_map_11_column_line.shp to KML_map_11_column_line.kml</i></div>
<div class=""><i class=""><span class="Apple-tab-span" style="white-space:pre"></span># ? code</i></div>
<div class=""><span class="Apple-tab-span" style="font-style: italic; white-space: pre;"></span><i class="">print ('Export Kml => DONE’)</i></div>
<div class=""><i class=""><br class="">
</i></div>
<div class=""><span style="font-style: normal;" class=""><br class="">
</span></div>
<div class=""><span style="font-style: normal;" class="">Would you be willing to help me ?</span></div>
<div class=""><span style="font-style: normal;" class=""><br class="">
</span></div>
<div class=""><span style="font-style: normal;" class="">Thanks</span></div>
<div class=""><br class="">
</div>
</body>
</html>