]> marstr Code Repo - marstr/orthographic.git/commitdiff
Re-enabled function to bulk-generate OSM data without rendering tiles (to offer the...
authorMarcus Str. <marcus@marstr.online>
Sun, 2 Feb 2025 11:23:53 +0000 (12:23 +0100)
committerMarcus Str. <marcus@marstr.online>
Sun, 2 Feb 2025 11:31:14 +0000 (12:31 +0100)
og.py
orthographic.py
osmxml.py

diff --git a/og.py b/og.py
index 3ff99af9c0f9d8c0b52b2507d5c0a61ca89a3e26..cddab7f4c46db71aaae3d90c973e4c1571ee8d64 100644 (file)
--- a/og.py
+++ b/og.py
@@ -62,15 +62,22 @@ if __name__ == '__main__':
         # Create the class and init values\r
         og = mstr_orthographic(lat, lng, mstr_datafolder, os.getcwd(), prep)\r
 \r
+        # Simply generate OSM data\r
+        if sys.argv[3] == "osm":\r
+            og._generateData()\r
+            exit()\r
+\r
         # Generate orthos\r
         if sys.argv[3] != "prepare" and sys.argv[3] != "xpscenery":\r
             _welcome()\r
             og._generateOrthos_mt(int(sys.argv[3]))\r
+            exit()\r
 \r
         # Build the terrain mesh and assign ground textures\r
         if sys.argv[3] == "xpscenery":\r
             _welcome()\r
             og.generate_xp_scenery()\r
+            exit()\r
 \r
 \r
     if cli == False and pbf == False:\r
index 33736c4a8b4f008ea0e79be2fc82f03c560bf1cf..355cba4901bbabefd3684e888cc684f599b3fcd6 100644 (file)
@@ -96,7 +96,8 @@ class mstr_orthographic:
         bb_lng_edge = self._long+self._zoomlevel\r
         cur_tile_x = 1\r
         cur_tile_y = 1\r
-        osmxml = mstr_osmxml(0,0)\r
+        osmxml = mstr_osmxml()\r
+        osmxml.setLatLngFld(self._latlngfld)\r
         mstr_msg("orthographic", "Set initial coordinates and bounding box for OSM acquisition")\r
 \r
         # The highest encountered tile numbers\r
@@ -110,9 +111,15 @@ class mstr_orthographic:
         mlng = 1\r
         while bb_lat < self._lat + 1:\r
             bb_lat = bb_lat + self._vstep\r
+            if bb_lat >= self._lat + 1:\r
+                bb_lat = bb_lat - self._zoomlevel\r
+                break\r
             mlat = mlat+1\r
         while bb_lng < self._long + 1:\r
             bb_lng = bb_lng + self._zoomlevel\r
+            if bb_lng >= self._long + 1:\r
+                bb_lng = bb_lng - self._zoomlevel\r
+                break\r
             mlng = mlng+1\r
         mstr_msg("orthographic", "Max lat tile: " + str(mlat) + " - max lng tile: " + str(mlng))\r
         maxlatlng = [ mlat, mlng ]\r
@@ -128,7 +135,6 @@ class mstr_orthographic:
             for lng_grid in range(1, maxlatlng[1]+1):\r
                 # Adjust bounding box\r
                 osmxml.adjust_bbox(bb_lat, bb_lng, bb_lat_edge, bb_lng_edge)\r
-                \r
                 osmxml.generate_osm(cur_tile_y, cur_tile_x) # <- This acquires current OSM info\r
                 \r
                 # Adjust longitude coordinates\r
index c5359f49dd00320aa5880e371b77ba7344180088..3826b0a9c91b8f49b1491d2f9c95ff36eb7fef7b 100644 (file)
--- a/osmxml.py
+++ b/osmxml.py
@@ -64,6 +64,9 @@ class mstr_osmxml:
                 "as_pbf": "true"\r
                 }\r
         r = requests.post(mstr_osm_endpoint, json=data)\r
+        #fn = mstr_datafolder + "z_orthographic/data/" + self._latlngfld + "/osm/" + str(int(self._lat)) + "-" + str(v) + "_"  + str(int(self._lng)) + "-" + str(h) + ".xml"\r
+        #with open(fn, 'wb') as textfile:\r
+        #    textfile.write(r.content)\r
 \r
 \r
     # Acquire XMLs in chunks, then store them\r