Pfad zum JOSM Daten-Cache vorgeben

JOSM legt einen umfangreichen Daten-Cache auf der Festplatte an, der bei mir nach 2 Wochen Benutzung stattliche 2 GB beträgt. (Windows: Pfad: "Dokumente & Einstellungen\Benutzername\Lokale Einstellungen\Temp") Er besteht aus den Verzeichnissen “Openstreetmap”(bei mir 500 MB), “Mapnik” (370MB), “Bing Aereal Map” (1800 MB). Die Festplatte ist groß genug, das Volumen an sich stört mich nicht. Offenbar sind aber “Millionen” von klitzekleinen Dateichen enthalten, die einen Suchvorgang, der den Ordner “Dokumente & Einstellunen” berührt, extrem verzögern (das Defragmentieren der Platte erst recht). Ich würde deshalb den JOSM-Cache gerne an einen Ort verlagern, wo er weniger stört, vorzugsweise auf eine andere Partition der Festplatte.

Wo kann man die von JOSM verwendeten Pfade selbst vorgeben? In den “Einstellungen” des Programms habe ich keine Möglichkeit dafür gefunden.

Danke für Hinweise.

aliponte

Vermutlich nimmt er da einfach den System-Temp Ordner.

Unter Windows7 finde ich allerdings keine OSM Ordner in TEMP
(start->ausführen-> explorer %TEMP%).

Edit: doch noch gefunden, die Files liegen innerhalb TEMP in JMapViewerTiles.

Chris

Hi,

da JOSM - genau wie OSMOSIS - ein Java-Programm ist, kann man viele Sachen über die Commandline beeinflussen:

Die Option -Djava.io.tmpdir=/mnt/video/tmp beim Aufruf von JOSM legt die temp-dir woanders hin.
ist aber tief im Keller vom josm-batch “versteckt” - liegt direkt neben -Xmx512M

Gruss
Walter

p.s. ist für *nix-Anwender nicht relevant, da die tmp-dir hier eine “richtige” temp-dir ist, die automatisch beim Booten gelöscht wird.

Hallo aliponte

Das ist in den “Erweiterten Einstellungen” versteckt.
Dort einfach nach ‘cache’ suchen und für “imagery” Pfad, Maxsize, Dauer einstellen.
Da das WMS-Plugin in neueren JOSM-Versionen nicht mehr genutzt wird, kannst du ggfs. die Werte von dort einfach kopieren.

Meine Windows-Erfahrungen (XP) besagen, dass mehr als 2000 Dateien in einem Ordner den Zugriff deutlich verlangsamen. ‘maxsize’ (in MegaByte) und ‘expire’ (in Sekunden, 2419200 Sekunden = 28 Tage) solltest du also auch entsprechend einstellen.

Die von Walter (wambacher) erwähnte Methode beim Java-Aufruf ein TempDir als Parameter anzugeben, sollte natürlich genauso gut funktionieren.

Edbert (EvanE)

Moin moin,

derzeit habe ich den josm nur unter Linux am laufen, dort gibt es unter den “Erweiterten Einstellungen” den key
cache.imagery.path
der mit dem Defaultwert (unter Linux)
/home//.josm/plugins/imagery/cache
belegt ist, Evtl. mal ausprobieren, den anzupassen.

Ciao,
Frank

Edit
Edbert schon wieder schneller :wink:

Hallo Frank

Mach dir nichts draus, Walter ist mir auch dazwischen gerutscht. :wink:
Hauptsache in Summe gibt es ein rundes Bild, mit dem die Ausgangsfrage beantwortet ist.

Edbert (EvanE)

Wir haben für ALLES eine Lösung, wir müssen nur das dazu passende Problem finden :wink:
Gruss
Walter

Ich danke allen für die wirklich schnelle Hilfe. Die Pfadvorgabe in den erweiterten Einstellungen bevorzuge ich. Ganz einwandfrei funktionert es mit dem Schlüssel “cache.imagery.path=Pfad,Maxsize,Dauer” nicht.
Gebe ich beispielsweise …path=E:\JOSM,1000,2419200 ein, so wird der Cache im Verzeichnis “E:\JOSM,1000,2419200” angelegt. JOSM erzeugt damit ein Verzeichnis “,1000,2419200” als Unterverzeichnis von “E:\JOSM”. Ist schon eine witzige Idee.

Gerade wollte ich fragen, wie man’s ganz richtig macht, da habe ich gesehen, dass es in der Version 3790 inzwischen 3 Schlüssel gibt: cache.imagery.path=, cache.imagery.maxsize= und cache.imagery.expire=*. Damit ist alles klar.

Beiläufig aber doch noch eine Frage: Ich habe gesehen, dass in der Datei “preferences” dreierlei Separatoren verwendet werden: das Komma, das Semikolon und das nicht druckbare Zeichen 1E (hex). Sicher gibt es Regeln für die Syntax der verwendeten Schlüssel. Wo finde ich eine aktuelle Liste davon?

Gruß von aliponte

hi,
die Liste wird es wohl nicht geben :frowning:
Die Preferences legt josm “für sich” an und sind eigentlich nicht für den externen Gebrauch gedacht.
Da wird dir wohl nichts anderes übrig bleiben, als im Source selber nachzusehen - und dann eine Liste ins Josm-Wiki zu stellen :wink:
Gruss
walter

@Walter
Habe früher mit Begeisterung programmiert, halte mich jetzt aber ganz bewusst heraus, Quelltexte zu lesen. OSM allein macht schon süchtig genug.

@Forum
Nachträgliche Ergänzung zu den Pfadeinstellungen: Es genügt nicht, den Schlüssel cache.imagery.path=* zu bearbeiten. (Bei mir werden nur die Geoimage Austria-Kacheln dort abgelegt.) Die bing- und osm-Kacheln werden nach wie vor (Windows) unter “Dokumente und Einstellungen<user>\Lokale Einstellungen\Temp” abgelegt, solange man nicht den Schlüssel imagery.tms.tilecache_path=* geeignet setzt. (Warum eigentlich diese Differenzierung der Pfade?)

Eine Anmerkung zum preferences-Editor von JOSM. Er zeigt als Schlüsselwert sehr oft den Leerstring an. Das hat mich zuerst irritiert. Nach kurzem Stöbern wurde mir schnell klar, dass default-Werte nicht angezeigt werden. Das sollte man wissen.

Gruß von Heinrich (a.b.a. aliponte)

Hallo Heinrich

Die Dreiteilung der Parameter gibt es schon recht lange. Auch beim früheren WMS-Plugin wurde das so gemacht.

Was die Aufteilung in zwei Cache-Ordner betrifft, ist zu bedenken, dass imagery zwei frühere Plugins (WMS und SlippyMap (=Tile-Server, TMS)) ersetzt und vereint. Das dürfte der Grund für diese getrennten Ordner sein. Bei mir (tested-3751) gibt es die Variable “imagery.tms.tilecache_path” allerdings nicht. Das könnte sich mit neueren JOSM-Versionen natürlich geändert haben.

Als Nachtrag noch die Standardeinstellung für den Cache bei Mac-OSX:
~/.josm/plugins/imagery/cache
Dort landen auf jeden Fall die Bilder von WMS-Servern.

Wie man den Cache für Bing und andere TMS einschaltet ist mir nicht klar.
Auf jeden Fall finde ich keine direkte Möglichkeit.

Edbert (EvanE)