Explorar o código

Add continent generator

Stephen Dade %!s(int64=5) %!d(string=hai) anos
pai
achega
4136aece79
Modificáronse 1 ficheiros con 44 adicións e 0 borrados
  1. 44 0
      create_continents.py

+ 44 - 0
create_continents.py

@@ -0,0 +1,44 @@
+#!/usr/bin/env python3
+'''
+create ardupilot terrain database files as continents
+'''
+import os
+
+from MAVProxy.modules.mavproxy_map import srtm
+from argparse import ArgumentParser
+from app import compressFiles
+
+this_path = os.path.dirname(os.path.realpath(__file__))
+
+parser = ArgumentParser(description='terrain data continent creator')
+
+parser.add_argument("infolder", type=str, default="./files")
+parser.add_argument("outfolder", type=str, default="./continents")
+
+args = parser.parse_args()
+
+downloader = srtm.SRTMDownloader(debug=False)
+downloader.loadFileList()
+
+continents = {}
+
+# Create mappings of long/lat to continent
+for (lonlat, contfile) in downloader.filelist.items():
+    continent = str(contfile[0][:-1])
+    filename = os.path.join(this_path, args.infolder, str(contfile[1]).split(".")[0] + ".DAT.gz")
+    print(continent + " in " + filename)
+
+    # add to database
+    if continent != '' and continent != 'USGS':
+        if continent in continents:
+            continents[continent].append(filename)
+        else:
+            continents[continent] = [filename]
+
+print("Continents are: " + str(continents.keys()))
+
+# Add the files
+for continent in continents:
+    print("Processing: " + continent)
+    files = continents[continent]
+    compressFiles(files, continent, args.outfolder)