OpenSeaMap-dev Diskussion:Downloadable Raster Charts: Unterschied zwischen den Versionen

Aus OpenSeaMap-dev
Wechseln zu: Navigation, Suche
(prerequisites: changed from perl to python)
(tile server: landez statt perl)
Zeile 24: Zeile 24:
 
* cronjob checkt queue-db alle x Minuten
 
* cronjob checkt queue-db alle x Minuten
 
* waehlt aeltesten job aus queue-db mit status=open
 
* waehlt aeltesten job aus queue-db mit status=open
* sinnvolles zoom-level anhand bbox errechnen (max. 10MB/chart)
+
* tiledownload ueber proxy mit landez
* tiledownload ueber proxy mit downloadosmtiles.pl
+
** sinnvolles zoom-level anhand bbox errechnen (max. 10MB/chart)
** tiles mit imagemagick stitchen (siehe [http://www.openstreetmap.org/user/mkarau/diary/20256 Tile Stitching])
+
** mbtiles erzeugen (siehe auch [https://github.com/mapbox/mbtiles-spec/wiki/Implementations mbtiles implementation])
*** stitched.png in .kap wandeln mit imgkap
+
** stitchen und .png/.jpg erzeugen
** tiles in mbtiles file packen (siehe [https://github.com/mapbox/mbtiles-spec/wiki/Implementations mbtiles implementation])
+
** .kap mit imgkap erstellen
 
** ...
 
** ...
 
* status=done, zoom-level, date, ... in queue-db setzen
 
* status=done, zoom-level, date, ... in queue-db setzen

Version vom 11. Februar 2015, 11:26 Uhr

ideas

web frontend

  • die INT-chart Grenzen (als Basis fuer ein download-tool) bekomme ich inzwischen auf den Schirm: http://kap.grade.de/int-chart-ol2.html , sicherlich verbesserungsbeduerftig
  • workflow
    • INT-Chart durch klick auf die Karte waehlen
    • download iniziieren
      • Weiterleitung auf neue Seite
      • pruefen, ob und in welchem Format vorhanden
      • wenn ja und nicht zu alt, downloadlinks anbieten
      • wenn nein Job in queue-db schreiben
        • number, name, bbox, scale, sessionid, ip-address, email, microtime, status=open, ...
  • das ganze garnieren mit
    • Pruefung, ob das script fuer diese karte schon in der Warteschlange ist
    • Limitierung auf x downloads/jobs pro session ...
    • email notifier
    • captcha

prerequisites

  • apache
  • php
  • sqlite

tile server

  • cronjob checkt queue-db alle x Minuten
  • waehlt aeltesten job aus queue-db mit status=open
  • tiledownload ueber proxy mit landez
    • sinnvolles zoom-level anhand bbox errechnen (max. 10MB/chart)
    • mbtiles erzeugen (siehe auch mbtiles implementation)
    • stitchen und .png/.jpg erzeugen
    • .kap mit imgkap erstellen
    • ...
  • status=done, zoom-level, date, ... in queue-db setzen
  • temp-dir bereinigen und results in charts-dir kopieren

prerequisites

  • apache
    • mod_python
  • tilestache
  • nginx remote proxy
  • imagemagick
  • python
  • imgkap

Reason for ChartBundler

  • Lets talk a bit about amounts here and not low stress or high stress. Using the charts offline on a mobile device. Lets say the display is about 1024x1024 Pixel, then we will need at least 16 tiles per map. If we start on zoom level 8 with the bounding box and continue to zoom level 16 for the harbours, we need around 2 Mio tiles. This 16 tiles on zoom level 8 is about the northern Adria. If we want the Channel just skipping Lands End up to the belgian coast, this would be 6 by 5 on zoom level 8. --Alexej
  • Hi Alexej, do not understand this paragraph!? 2 test datasets of mine:
    • INT-1463 bei zoom-level 13 (s="53.7" n="54.25" w="7.4" e="9.05"):
      x: 37
      y: 21
      total: 777
      [1]
    • river Ruhr
      zoomlevel=16
      ~ 370 tiles
      [2]
--Kannix (Diskussion) 16:22, 29. Jan. 2015 (UTC)