[Talk-de] Testprogramm für OSM-Dateien

2009-05-29 Diskussionsfäden Stefan Dettenhofer (StefanDausR)
Hallo zusammen,

ich habe mir ein kleines Windows-Programm geschrieben, mit dem man ganz 
einfach testen kann, ob eine OSM-Datei vollständig erzeugt wurde oder nicht.
Mir ist es schön mehrmals so ergangen, dass Osmosis auf Grund eines 
Fehlers eine OSM-Datei nur teilweise erzeugt hat. Bei sehr großen 
Dateien tut man sich schwer, festzustellen ob die nun komplett sind, da 
das Laden in einen Editor schwierig ist.

Daher das Miniprogramm TestOSM.exe (V0.1):
- es ist für der Batch-Betrieb gedacht
- es wir als Parameter einfach der OSM-Dateiname angegeben, also z:B. 
TestOSM.exe germany.osm
- es liest die letzten 10 Zeichen der Datei ein und prüft dort das 
Vorhandensein von /osm
- ist auch bei sehr großen Dateien schnell
- liefert einen Rückgabewert (errorlevel), af den man in der BATCH-Datei 
reagieren kann
  + 0 - OSM ist ok
  + 1 - OSM ist nicht ok
  + 2 - OSM-Datei kann nicht geladen werden

Hier könnt Ihr Euch das Programm herunterladen:

http://wince.dentro.info/koord/osm/prog/TestOSM_V001.zip

Gruß,
Stefan



___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Testprogramm für OSM-Dateien

2009-05-29 Diskussionsfäden Carsten Schwede
Moin,

Stefan Dettenhofer (StefanDausR) schrieb:
 
 ich habe mir ein kleines Windows-Programm geschrieben, mit dem man ganz 
 einfach testen kann, ob eine OSM-Datei vollständig erzeugt wurde oder nicht.

Falls das jemand mit Unix oder mit Cygwin schnell haben möchte:

tail -1 osm-datei |grep /osm ; echo $?

Ergibt zwar nur 0, wenn es korrekt /osm in der letzten Zeile
beinhaltet und 1 wenn nicht, aber immerhin.

-- 
Viele Gruesse
Computerteddy

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Testprogramm für OSM-Dateien

2009-05-29 Diskussionsfäden Dirk-Lüder Kreie
Carsten Schwede schrieb:
 Moin,
 
 Stefan Dettenhofer (StefanDausR) schrieb:
 ich habe mir ein kleines Windows-Programm geschrieben, mit dem man ganz 
 einfach testen kann, ob eine OSM-Datei vollständig erzeugt wurde oder nicht.
 
 Falls das jemand mit Unix oder mit Cygwin schnell haben möchte:
 
 tail -1 osm-datei |grep /osm ; echo $?
 
 Ergibt zwar nur 0, wenn es korrekt /osm in der letzten Zeile
 beinhaltet und 1 wenn nicht, aber immerhin.
 

#!/bin/bash
if [[ -f $1 ]]; then
  if tail -n2 $1 | grep -q /osm; then
echo valid
exit 0
  else
echo invalid
exit 1
  fi
else
  echo \$1\: file not found
  exit 2
fi

# Testet die letzten 2 Zeilen auf /osm

-- 

Dirk-Lüder Deelkar Kreie
Bremen - 53.0901°N 8.7868°E



signature.asc
Description: OpenPGP digital signature
___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Testprogramm für OSM-Dateien

2009-05-29 Diskussionsfäden Sven Geggus
Carsten Schwede computerte...@gmx.de wrote:

 Falls das jemand mit Unix oder mit Cygwin schnell haben möchte:
 
 tail -1 osm-datei |grep /osm ; echo $?

Ich würde da jetzt ja eher xmllint aus libxml2-utils empfehlen:

xmllint --noout foo.osm

Returnwert 0 wenn kein Fehler aufgetreten ist, 1 bei Fehler.

Gruss

Sven

-- 
If you don't make lower-resolution mapping data publicly
available, there will be people with their cars and GPS
devices, driving around with their laptops (Tim Berners-Lee)
/me is gig...@ircnet, http://sven.gegg.us/ on the Web

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Testprogramm für OSM-Dateien

2009-05-29 Diskussionsfäden Stefan Dettenhofer (StefanDausR)
Dirk-Lüder Kreie schrieb:
 Carsten Schwede schrieb:
   
 Moin,

 Stefan Dettenhofer (StefanDausR) schrieb:
 
 ich habe mir ein kleines Windows-Programm geschrieben, mit dem man ganz 
 einfach testen kann, ob eine OSM-Datei vollständig erzeugt wurde oder nicht.
   
 Falls das jemand mit Unix oder mit Cygwin schnell haben möchte:

 tail -1 osm-datei |grep /osm ; echo $?

 Ergibt zwar nur 0, wenn es korrekt /osm in der letzten Zeile
 beinhaltet und 1 wenn nicht, aber immerhin.

 

 #!/bin/bash
 if [[ -f $1 ]]; then
   if tail -n2 $1 | grep -q /osm; then
 echo valid
 exit 0
   else
 echo invalid
 exit 1
   fi
 else
   echo \$1\: file not found
   exit 2
 fi

 # Testet die letzten 2 Zeilen auf /osm

   
Danke für die Hinweise!
Mir ging es darum eine schnelle Lösung für Windows zu haben, ohne die 
ganze Datei zu durchsuchen.
Ich weiß nicht, wie lange die o.g. Befehle brauchen, ich habe auch bei 
80GB innerhalb einer Sekunde das Ergebnis.

Gruß,
Stefan


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] Testprogramm für OSM-Dateien

2009-05-29 Diskussionsfäden Carsten Schwede
Hallo,

Sven Geggus schrieb:
 Ich würde da jetzt ja eher xmllint aus libxml2-utils empfehlen:
 
 xmllint --noout foo.osm
 
 Returnwert 0 wenn kein Fehler aufgetreten ist, 1 bei Fehler.

Das könnte bei großen Dateien deutlich lange dauern, allerdings ist es
wohl auch eine echte Syntaxprüfung.

-- 
Viele Gruesse
Computerteddy

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de