Moi
Latailin ison kasan 130 000kuvaa (https://github.com/horsmik/merikartat) tällä python scriptillä. Scriptin pitäisi muodostaa noista kuvista yksi iso kuva, mutta se jäi muodostumatta. Tuli vain viesti Keskeytetty muistaakseni.
Miten pitäisi modifoida, jotta voisi nyt koittaa yhdistämistä uudelleen lataamatta 130 000 kuvaa uudelleen netistä. Kesti kuitenkin noin 12h lataus.
MK_A_Get_Map_Tiles.py-tiedostosta.
Muuta...
def GetTile(xtile, ytile, zoom): ##Get one tile from wmts and save bitmap as WMTS_zoom_x_y.png request.urlretrieve("https://julkinen.liikennevirasto.fi/rasteripalvelu/service/wmts?request=GetTile&version=1.0.0&service=wmts&layer=liikennevirasto:Merikarttasarja%20A%20public&TILEMATRIXSET=WGS84_Pseudo-Mercator&TileMatrix=WGS84_Pseudo-Mercator:"+str(zoom)+"&tilerow="+str(ytile)+"&tilecol="+str(xtile)+"&format=image/png&style=default","WMTS_"+str(zoom)+"_"+str(xtile)+"_"+str(ytile)+".png")
Tällaiseksi:
def GetTile(xtile, ytile, zoom): ##Get one tile from wmts and save bitmap as WMTS_zoom_x_y.png #request.urlretrieve("https://julkinen.liikennevirasto.fi/rasteripalvelu/service/wmts?request=GetTile&version=1.0.0&service=wmts&layer=liikennevirasto:Merikarttasarja%20A%20public&TILEMATRIXSET=WGS84_Pseudo-Mercator&TileMatrix=WGS84_Pseudo-Mercator:"+str(zoom)+"&tilerow="+str(ytile)+"&tilecol="+str(xtile)+"&format=image/png&style=default","WMTS_"+str(zoom)+"_"+str(xtile)+"_"+str(ytile)+".png")
... ja
B-tiedostosta:
def GetTile(xtile, ytile, zoom): ##Get one time from wmts and save bitmap as WMTS_zoom_x_y.png request.urlretrieve("https://julkinen.liikennevirasto.fi/rasteripalvelu/service/wmts?request=GetTile&version=1.0.0&service=wmts&layer=liikennevirasto:Merikarttasarja%20B&TILEMATRIXSET=WGS84_Pseudo-Mercator&TileMatrix=WGS84_Pseudo-Mercator:"+str(zoom)+"&tilerow="+str(ytile)+"&tilecol="+str(xtile)+"&format=image/png&style=default","WMTS_"+str(zoom)+"_"+str(xtile)+"_"+str(ytile)+".png")
Tällaiseksi...
def GetTile(xtile, ytile, zoom): ##Get one time from wmts and save bitmap as WMTS_zoom_x_y.png #request.urlretrieve("https://julkinen.liikennevirasto.fi/rasteripalvelu/service/wmts?request=GetTile&version=1.0.0&service=wmts&layer=liikennevirasto:Merikarttasarja%20B&TILEMATRIXSET=WGS84_Pseudo-Mercator&TileMatrix=WGS84_Pseudo-Mercator:"+str(zoom)+"&tilerow="+str(ytile)+"&tilecol="+str(xtile)+"&format=image/png&style=default","WMTS_"+str(zoom)+"_"+str(xtile)+"_"+str(ytile)+".png")
Käytä testaamatonta koodiani omalla vastuullasi, ja tee kuvista etukäteen varmuuskopio, jotta voit yrittää usemmalla virityksellä.
En vain ymmärrä, miksi et osannut itse tehdä kyseistä viritystä ?
Koitin tuon kyllä kommentoida pois aiemmin, mutta virheilmoitus:
def AppendBatConversion(xtile, ytile, zoom): ^ IndentationError: expected an indented block
Herjaa ilmeisesti siitä syystä, ettei aliohjelma tee mitään.
Ratkaisuksi käyneen, että kommentoi koko aliohjelman, ja sen jälkeen sen missä GetTile:ä käytetään...
Kokeileppas seuraavalla tavalla...
#def GetTile(xtile, ytile, zoom): ##Get one time from wmts and save bitmap as WMTS_zoom_x_y.png #request.urlretrieve("https://julkinen.liikennevirasto.fi/rasteripalvelu/service/wmts?request=GetTile&version=1.0.0&service=wmts&layer=liikennevirasto:Merikarttasarja%20B&TILEMATRIXSET=WGS84_Pseudo-Mercator&TileMatrix=WGS84_Pseudo-Mercator:"+str(zoom)+"&tilerow="+str(ytile)+"&tilecol="+str(xtile)+"&format=image/png&style=default","WMTS_"+str(zoom)+"_"+str(xtile)+"_"+str(ytile)+".png")
Ja kommentoi sitä kutsuvat käskyt...
def RetrieveRangeOfTiles(name_extension, xmin, xmax, ymin, ymax, zoom): NoumberOfTiles = ((xmax+1-xmin)*(ymax+1-ymin)) x_size = str(256*(xmax+1-xmin)) y_size = str(256*(ymax+1-ymin)) MakeKapHeaderForGroupOfTiles(name_extension, x_size, y_size, xmin, xmax, ymax, ymin, zoom) for x in range(xmin,xmax+1): for y in range(ymin,ymax+1): NoumberOfTiles -=1 print(name_extension+" xtile: "+str(x)+", ytile: "+str(y)+" Remaining: "+str(NoumberOfTiles)) #GetTile(x, y, zoom) #MakeKapHeaderSingleTile(name_extension, x, y, zoom) #AppendBatConversion(x, y, zoom) merge_images(zoom, xmin, xmax, ymin, ymax, name_extension) print("Next run command: imgkap "+name_extension+".png "+name_extension+".txt" )
Toimisikohan tämän jälkeen ?
Edit - Tosin näyttää siltä, että kyseinen silmukka ei tee mitään kerkityksellistä.
Tyhjän funktion sisällöksi käy myös sana return tai pass, jolloin ei tule tuota virheilmoitusta sisennyksestä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.