Hi, ich bin neu bei OSM und ich finde es ein tolles Projekt. Freie Software, Wissen & Funknetze sind meine Steckenpferde und daher finde ich es nicht, wenn für die Visualisierung von freifunk-Netzen proprietäre Dienste und Daten verwendet werden. Ich halte es für Zeitverschwendung sich mit Solchen auseinanderzusetzen, aber das muß jeder mit sich selber klären.
Stattdessen möchte ich lieber die Daten von OSM verwenden und mit den entsprechenden Serverprogrammen darstellen. Das ganze hat den Hintergrund, dass ich zeigen möchte, dass es a) möglich ist sowas aufzusetzen b) viel mehr Möglichkeiten mit so einem System gibt, als ein proprietäres und fremdgesteuertes es jemals könnte . Ich habe versucht dieser Anleitung: http://wiki.openstreetmap.org/index.php/Mapnik als auch dieser http://wiki.openstreetmap.org/index.php/Little-osm zu folgen. Leider ohne Erfolg. Bei der zweiten habe ich gleich die Probleme mit in die Seite reingeschrieben und auf #osm darüber berichtet. Vielleicht tut sich ja was. Beim Mapnik Ansatz ist das Problem, dass das korrigieren der osm Daten mit dem C-Program Utf8sanitize scheinbar nicht funktioniert, denn das Python Skript osm2pgsl.py gibt nach einer Weile laufen sowas aus: Traceback (most recent call last): File "./svn.openstreetmap.org/applications/rendering/mapnik/osm2pgsl.py", line 163, in ? xml.sax.parse(sys.stdin,parser) File "/usr/lib/python2.4/site-packages/_xmlplus/sax/__init__.py", line 31, in parse parser.parse(filename_or_stream) File "/usr/lib/python2.4/site-packages/_xmlplus/sax/expatreader.py", line 109, in parse xmlreader.IncrementalParser.parse(self, source) File "/usr/lib/python2.4/site-packages/_xmlplus/sax/xmlreader.py", line 123, in parse self.feed(buffer) File "/usr/lib/python2.4/site-packages/_xmlplus/sax/expatreader.py", line 216, in feed self._parser.Parse(data, isFinal) File "/usr/lib/python2.4/site-packages/_xmlplus/sax/expatreader.py", line 312, in start_element self._cont_handler.startElement(name, AttributesImpl(attrs)) File "./svn.openstreetmap.org/applications/rendering/mapnik/osm2pgsl.py", line 33, in startElement from_node = self.node[attr["from"]] KeyError: u'104935' Das Skript ist zudem sowieso etwas kaputt. Zum einen erwartet es einen Python 2.5 Interpreter unter /opt und dann sind irgendwie ein paar Unglückliche Zeilenumbrüche drin. Das angehangene Patch korrigiert beides. Die Wikiseite war zum Zeitpunkt als ich sie gelesen hatte auch nicht auf dem aktuellen Stand (viele Verweise auf svn.openstreetmap.org/*util*/ usw.). Hab ich aber alles schon korrigiert. Wäre toll wenn mir jemand helfen könnte die ganzen Skripte/Programme wieder in lauffähige Zustände zu bringen. Ich würde dann die Wikiseite aktualisieren und Patches für die Doku im Repository beisteuern. Gruß Robert
Index: applications/rendering/mapnik/osm2pgsl.py
===================================================================
--- applications/rendering/mapnik/osm2pgsl.py (Revision 2745)
+++ applications/rendering/mapnik/osm2pgsl.py (Arbeitskopie)
@@ -1,4 +1,4 @@
-#!/opt/python-2_5/bin/python
+#!/usr/bin/python
import sys,xml.sax
from xml.sax.handler import ContentHandler
@@ -62,8 +62,7 @@
values = ",".join(values)
#values = values.encode("UTF-8")
wkt = 'POINT(%s %s)' % (self.node[osm_id])
- sql = "insert into %s (osm_id,%s,way) values (%s,%s,GeomFromText('%s',4326));" % (table_name,fields,osm_id,values,w
-kt)
+ sql = "insert into %s (osm_id,%s,way) values (%s,%s,GeomFromText('%s',4326));" % (table_name,fields,osm_id,values,wkt)
print sql.encode("UTF-8")
elif name == 'tag':
@@ -89,16 +88,14 @@
wkt,status = self.WKT(way,polygon)
if status :
- sql = "insert into %s (osm_id,%s,way) values (%s,%s,GeomFromText('%s',4326));" % (table_name,fields,osm_id,values,w
-kt)
+ sql = "insert into %s (osm_id,%s,way) values (%s,%s,GeomFromText('%s',4326));" % (table_name,fields,osm_id,values,wkt)
print sql.encode("UTF-8")
else:
for s in way['segs']:
try:
from_node,to_node = segments[s]
wkt = 'LINESTRING(%s %s,%s %s)' % (from_node[0],from_node[1],to_node[0],to_node[1])
- sql = "insert into %s (osm_id,%s,way) values (%s,%s,GeomFromText('%s',4326));" % (table_name,fields,osm_id,
-values,wkt)
+ sql = "insert into %s (osm_id,%s,way) values (%s,%s,GeomFromText('%s',4326));" % (table_name,fields,osm_id,values,wkt)
print sql.encode("UTF-8")
except:
pass
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Talk-de mailing list [email protected] http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-de

