]> marstr Code Repo - orthographic/commitdiff
Implemented mechanism that can continue interrupted work to continue later at some...
authormarstr <marcus@marstr.online>
Wed, 28 Aug 2024 19:26:07 +0000 (21:26 +0200)
committermarstr <marcus@marstr.online>
Wed, 28 Aug 2024 19:26:07 +0000 (21:26 +0200)
defines.py
orthographic.py

index 531494ddad94ad640cb1d7b04c2d86c01c1ca0f1..10dd016acb61b07bc18638065808d5e2cd8f44d4 100644 (file)
@@ -99,6 +99,8 @@ mstr_ortho_layers = [
     ("landuse", "farmyard", "landuse", "farmland"),
     ("landuse", "military", "landuse", "residential-boundary"),
     # Z-Order 2
+    ("waterway", "river", 10),
+    ("waterway", "stream", 10),
     ("leisure", "nature_reserve", "landuse", "forest"),
     ("landuse", "forest", "landuse", "forest"),
     # Z-Order 3
@@ -108,8 +110,6 @@ mstr_ortho_layers = [
     ("water", "lake", "natural", "water"),
     ("water", "pond", "natural", "water"),
     ("water", "river", "natural", "water"),
-    ("waterway", "river", 10),
-    ("waterway", "stream", 10),
     ("amenity", "parking", "amenities", "parking"),
     ("highway", "pedestrian", 4),
     # Z-Order 4
index efa7fc0e0527e85004b216c6ef4f24f3b363e90e..42c904a93c6935532bc42cf8393f0b4ed463bf2b 100644 (file)
@@ -89,47 +89,53 @@ class mstr_orthographic:
                 osmxml.adjust_bbox(bb_lat, bb_lng, bb_lat_edge, bb_lng_edge)
                 mstr_msg("mstr_orthographic", "Adjusted bounding box for XML object")
 
-                # Get the data
-                osmxml.acquire_osm(cur_tile_y, cur_tile_x) # <- This acquires current OSM info
-                mstr_msg("mstr_orthographic", "Acquired current OSM info from marstr.online repository")
-
-                # Check for work to be done
-                layers = self.determineLayerWork()
-
-                # We need to walk through the array of layers,
-                # in their z-order.
-                # For each layer, we will generate the mask, the layer image
-                # itself, and finally, compose the ortho photo.
-                mstr_msg("mstr_orthographic", "Beginning generation of layers")
-
-                # Generate the Tiles/lat-lng folder for the finished tile
-                if not os.path.exists(self._output + "/Tiles/"+str(self._lat)+"_"+str(self._long) + "\\Textures"):
-                    os.makedirs(self._output + "/Tiles/"+str(self._lat)+"_"+str(self._long)+"\\Textures")
-                    mstr_msg("mstr_orthographic", "Created tile textures folder")
-
-                # Generate the Tiles/terrain folder for the finished tile
-                if not os.path.exists(self._output + "/Tiles/"+str(self._lat)+"_"+str(self._long) + "\\terrain"):
-                    os.makedirs(self._output + "/Tiles/"+str(self._lat)+"_"+str(self._long)+"\\terrain")
-                    mstr_msg("mstr_orthographic", "Created tile terrain folder")
-
-                for layer in layers:
-                    # Generate the mask
-                    mg = mstr_maskgen( [self._lat, cur_tile_y, self._long, cur_tile_x], self._vstep, layer[0], layer[1], layer[2] )
-                    mg._build_mask()
-                    
-                    # Generate the layer
-                    lg = mstr_layergen(layer[0], layer[1], self._lat, cur_tile_y, self._long, cur_tile_x, layer[2])
-                    lg.genlayer()
-                mstr_msg("mstr_orthographic", "All layers created")
-
-                # We should have all layers now.
-                # Snap a photo with our satellite :)
-                mstr_msg("mstr_orthographic", "Generating ortho photo")
-                pg = mstr_photogen(self._lat, self._long, cur_tile_y, cur_tile_x)
-                pg.genphoto()
-                mstr_msg("mstr_orthographic", "Ortho photo generated")
-                mstr_msg("", "") # <- Spacer
-                mstr_msg("", "") # <- Spacer
+                # Determine what to do... maybe work was interrupted
+                if os.path.isfile(mstr_datafolder + "Tiles\\" + str(self._lat) + "_" + str(self._long) + "\\Textures\\" + str(cur_tile_y) + "_" + str(cur_tile_x) + ".jpg") == False:
+
+                    # Let the user know
+                    mstr_msg("mstr_orthographic", "Generating missing orthophoto " + str(cur_tile_y) + "-" + str(cur_tile_x))
+
+                    # Get the data
+                    osmxml.acquire_osm(cur_tile_y, cur_tile_x) # <- This acquires current OSM info
+                    mstr_msg("mstr_orthographic", "Acquired current OSM info from marstr.online repository")
+
+                    # Check for work to be done
+                    layers = self.determineLayerWork()
+
+                    # We need to walk through the array of layers,
+                    # in their z-order.
+                    # For each layer, we will generate the mask, the layer image
+                    # itself, and finally, compose the ortho photo.
+                    mstr_msg("mstr_orthographic", "Beginning generation of layers")
+
+                    # Generate the Tiles/lat-lng folder for the finished tile
+                    if not os.path.exists(self._output + "/Tiles/"+str(self._lat)+"_"+str(self._long) + "\\Textures"):
+                        os.makedirs(self._output + "/Tiles/"+str(self._lat)+"_"+str(self._long)+"\\Textures")
+                        mstr_msg("mstr_orthographic", "Created tile textures folder")
+
+                    # Generate the Tiles/terrain folder for the finished tile
+                    if not os.path.exists(self._output + "/Tiles/"+str(self._lat)+"_"+str(self._long) + "\\terrain"):
+                        os.makedirs(self._output + "/Tiles/"+str(self._lat)+"_"+str(self._long)+"\\terrain")
+                        mstr_msg("mstr_orthographic", "Created tile terrain folder")
+
+                    for layer in layers:
+                        # Generate the mask
+                        mg = mstr_maskgen( [self._lat, cur_tile_y, self._long, cur_tile_x], self._vstep, layer[0], layer[1], layer[2] )
+                        mg._build_mask()
+                        
+                        # Generate the layer
+                        lg = mstr_layergen(layer[0], layer[1], self._lat, cur_tile_y, self._long, cur_tile_x, layer[2])
+                        lg.genlayer()
+                    mstr_msg("mstr_orthographic", "All layers created")
+
+                    # We should have all layers now.
+                    # Snap a photo with our satellite :)
+                    mstr_msg("mstr_orthographic", "Generating ortho photo")
+                    pg = mstr_photogen(self._lat, self._long, cur_tile_y, cur_tile_x)
+                    pg.genphoto()
+                    mstr_msg("mstr_orthographic", "Ortho photo generated")
+                    print("")
+                    print("")
 
                 # Store a terrain file
                 '''