Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Walter Nordmann wrote: das kommt halt auf das Umfeld an. Ein gut per Firewall abgeschottetes System @Home ohne Mitbewohner kann ja relativ offen sein; Sind Kids im Haus oder surft der Opa mit, sollte man etwas aufpassen ;) Oder ganz anders: Die Anleitung im Wiki ist eine einzige Sicherheitslücke Zitat vom Wiki: | Near to the bottom of the file you will find these lines: | | local all all ident | hostall all 127.0.0.1/32 md5 | | Change the words ident and md5 each to trust and close the editor. Now reload | the database configuration: Und aus der Doku von postgresql: | Wenn trust-Authentifizierung angeben ist, dann nimmt PostgreSQL an, dass | jeder, der mit dem Server verbinden kann, als jeder beliebiger Benutzer auf | die Datenbank zugreifen darf (einschließlich als Datenbank-Superuser). Zumindest bei mir leuchten dann alle Warnleuchten auf. So wird das auf einem von mir verwalteten Linux-System ganz sicher nicht in Betrieb gehen. Bei obiger Anleitung ist es total wurscht ob der gisuser ein Superuser ist, denn es darf ohnehin jeder ohne Passwort als Superuser einloggen. Genau das habe ich letztlich befürchtet: Um den Kram sicher in Betrieb zu bekommen, muss ich mich jetzt letztlich in jedes der Programme einarbeiten um zumindest grundlegend verstehen zu können *was* ich da eigentlich konfiguriere. Ich habe das jetzt folgendermaßen umgebaut: pg_hba.conf: local all allident map=default pg_ident.conf: default meinusername gisuser default postgres postgres Ich hoffe ich erreiche damit, was ich erreichen will. Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, On 06/20/11 18:23, Manuel Reimer wrote: Zumindest bei mir leuchten dann alle Warnleuchten auf. So wird das auf einem von mir verwalteten Linux-System ganz sicher nicht in Betrieb gehen. Auf einem System ohne Firewall (d.h. jeder offene TCP-Port ist von aussen auch wirklich erreichbar) oder mit fremden bzw. nicht vertrauenswuerdigen Benutzern magst Du recht haben. Allerdings ist das ja heutzutage doch eher die Ausnahme. Der Datenbank-Systemuser ist, das sollte hinzugefuegt werden, aus Unix-Sicht auch kein privilegierter Account, d.h. wer auf die Postgres draufkommt, der kann Datenbanken anlegen und loeschen, aber das wars. Besonders viel Geheimnisse wird er nicht ausspionieren koennen aus der OSM-Datenbank. (Die Wiki-Anleitung erlaubt uebrigens nur *dann* jedem das Einloggen als Postgres-User, wenn davor *keine* Extra-Zeile der Form local postgres all ident oder local postgres all sameuser ist, denn die erste passende Zeile gewinnt im pg_hba.conf.) Genau das habe ich letztlich befürchtet: Um den Kram sicher in Betrieb zu bekommen, muss ich mich jetzt letztlich in jedes der Programme einarbeiten um zumindest grundlegend verstehen zu können *was* ich da eigentlich konfiguriere. Was ist denn Dein Bedrohungsszenario, gegen das Du sicher sein willst? pg_hba.conf: local all all ident map=default pg_ident.conf: default meinusername gisuser default postgres postgres Ich hoffe ich erreiche damit, was ich erreichen will. Ja, aber da haettest Du dann auch gleich die Datenbank unter meinusername in der Postgres anlegen koennen und auf den gisuser und die pg_ident.conf ganz verzichten. Bye Frederik ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Am 20. Juni 2011 18:23 schrieb Manuel Reimer manuel.s...@nurfuerspam.de: Zumindest bei mir leuchten dann alle Warnleuchten auf. So wird das auf einem von mir verwalteten Linux-System ganz sicher nicht in Betrieb gehen. Bei obiger Anleitung ist es total wurscht ob der gisuser ein Superuser ist, denn es darf ohnehin jeder ohne Passwort als Superuser einloggen. vor 5 Mails hattest Du noch geschrieben, dass Du keine Postgresdb brauchst/willst, und nun sorgst Du Dich, dass sich jemand Unauthorisiertes dort als Superuser einloggen könnte und evtl. Daten kaputtmacht? Kommt natürlich immer an, in welchem Umfeld man den Rechner betreibt, ob er z.B. von aussen erreichbar ist, ob man in einer feindlichen Umgebung operiert, wie sensitiv die Daten sind, etc., aber wenn das alles nicht gegeben ist? Persönlich würde ich abwägen wie lange es dauert, die Daten neu einzulesen (Du wolltest AFAIR ein Rechteck mit ca. 2km importieren, das sollte Sekunden dauern) und wie lange es dauert, die DB abzusichern (einschl. Einarbeitung in die Doku der Rechteverwaltung). Dieses jeder darf sich ohne Passwort einloggen bezieht sich doch nur auf User des Computers (evtl. je nach Einstellungen, aber auf Ubuntu (sicher eher nicht sicher, alleine schon angesichts der vielen Bugs, die auf unreife Software hindeuten) kommst Du in der Standardkonfiguration nicht einfach von aussen (LAN) an die db - connection refused). Da ich zugegebenermaßen keine Ahnung von Systemsicherheit habe (o.g. beruht auf Ausprobieren) würde ich mich allerdings nicht beschweren, wenn hier ein paar Tips kämen, wie man das ganze sicherer machen kann, und ob ich mich mit vorigen Annahmen evtl. täusche. Gruß Martin ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Frederik Ramm wrote: Der Datenbank-Systemuser ist, das sollte hinzugefuegt werden, aus Unix-Sicht auch kein privilegierter Account, d.h. wer auf die Postgres draufkommt, der kann Datenbanken anlegen und loeschen, aber das wars. Besonders viel Geheimnisse wird er nicht ausspionieren koennen aus der OSM-Datenbank. Stimmt. Worst-Case könnte jemand, der Zugriff bekommt, Code im Kontext dieses Users ausführen. Das mögliche Risiko ist also klar abgegrenzt. Hätte mich wohl doch noch etwas tiefer in das Thema einlesen sollen, bevor ich gepostet habe... Dennoch erscheint es mir nicht ganz sinnlos zu sein, den Datenbankzugriff auf den User zu beschränken, mit dem man auch arbeitet. Ein User ntp oder ftp hat auch nichts an einer lokalen Datenbank verloren. (Die Wiki-Anleitung erlaubt uebrigens nur *dann* jedem das Einloggen als Postgres-User, wenn davor *keine* Extra-Zeile der Form local postgres all ident oder local postgres all sameuser ist, denn die erste passende Zeile gewinnt im pg_hba.conf.) Genau das habe ich letztlich befürchtet: Um den Kram sicher in Betrieb zu bekommen, muss ich mich jetzt letztlich in jedes der Programme einarbeiten um zumindest grundlegend verstehen zu können *was* ich da eigentlich konfiguriere. Was ist denn Dein Bedrohungsszenario, gegen das Du sicher sein willst? Ich weiß einfach ganz gerne was ich tue, wenn ich etwas neues einrichte. Zumindest interessiert es mich durchaus was gewisse in Anleitungen genannte Parameter exakt für Auswirkungen haben. Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
M∡rtin Koppenhoefer wrote: vor 5 Mails hattest Du noch geschrieben, dass Du keine Postgresdb brauchst/willst, und nun sorgst Du Dich, dass sich jemand Unauthorisiertes dort als Superuser einloggen könnte und evtl. Daten kaputtmacht? Irgendwie hatte ich in Erinnerung, dass SQL durchaus auch Befehle kennt, um Shellcode auszuführen. Ich kenne SQL aber nur im groben und habe auf die Schnelle auch mit Google keinen Hinweis darauf gefunden, dass SQL offiziell solche Befehle kennt, bzw. welcher SQL-Server solch ein IMHO etwas unnötiges Feature offiziell anbietet. Vermutlich habe ich das aber mit SQL-Injections verwechselt, die ja genutzt werden, um SQL-Befehle auszuführen, die an der Stelle nicht erlaubt gewesen wären. Damit werden dann aber doch eher Daten aus der Datenbank gelesen, die das anfällige Webinterface normalerweise nicht anbieten dürfte. Da ich zugegebenermaßen keine Ahnung von Systemsicherheit habe (o.g. beruht auf Ausprobieren) würde ich mich allerdings nicht beschweren, wenn hier ein paar Tips kämen, wie man das ganze sicherer machen kann, und ob ich mich mit vorigen Annahmen evtl. täusche. Ich bin zwar (leider) in dem Fall auch kein Profi, aber ich kann dir zumindest sicher sagen, das zumindest bei mir die Standardeinstellung war, dass postgresql nur auf 127.0.0.1 gelauscht hat. Von außen also nicht erreichbar. Man müsste das mutwillig anders konfigurieren um Zugriff vom LAN zu erlauben. Vermutlich wird das nur in Umgebungen interessant sein, in denen Webserver und Datenbankserver verschiedene Maschinen sind. Wenn überhaupt, dann ist die Datenbank also nur vom lokalen Host erreichbar und das ganze läuft unter einem nicht privilegiertem User (wie von Frederik bereits geschrieben). Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, Am Freitag 17 Juni 2011 17:16:34 schrieb Manuel Reimer: Was mich noch etwas stört: Die Straßenbreiten haben feste Werte. Wenn man rauszoomt sind Straßen also erheblich zu breit. Hast du dafür noch eine Idee? Ja, allerdings nur schrittweise. Wenn der Layer regelbasierend angezeigt wird, gibt es die Möglichkeit, einen Maßstabsbereich für die jeweiligen Signaturen anzugeben. Das liegt im Menü zwischen dem Filter und dem Symbol. Damit kann man unterschiedliche Signaturen für den gleichen Filtereintrag bei unterschiedlichen Maßstäben angeben. Gruß, Wolfgang ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Wolfgang wrote: In der 1.7 funktionieren sie gerade dann. Tatsache... Funktioniert schon erstaunlich gut. Man kann mit einem kleinen OSM-Export in mehreren Schritten mit direktem Feedback relativ ordentliche Kartenstile erstellen... Was mich noch etwas stört: Die Straßenbreiten haben feste Werte. Wenn man rauszoomt sind Straßen also erheblich zu breit. Hast du dafür noch eine Idee? Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Wolfgang wolfgang at ivkasogis.de writes: 1. Du stellst die Darstellung auf Regelbasierend um und gibst einen Filter ein, ob und wie welche tags gerendert werden sollen (Siehe Attributliste) Funktioniert tatsächlich. Auf tags like '%building=yes%' musste ich aber erstmal kommen. Leider funktionieren die Symbolebenen nicht mehr, wenn auf Regelbasierend geschaltet ist. Scheint dann alles auf einem Layer zu landen. Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, Am Donnerstag 16 Juni 2011 08:10:42 schrieb Manuel Reimer: Wolfgang wolfgang at ivkasogis.de writes: 1. Du stellst die Darstellung auf Regelbasierend um und gibst einen Filter ein, ob und wie welche tags gerendert werden sollen (Siehe Attributliste) Funktioniert tatsächlich. Auf tags like '%building=yes%' musste ich aber erstmal kommen. Leider funktionieren die Symbolebenen nicht mehr, wenn auf Regelbasierend geschaltet ist. Scheint dann alles auf einem Layer zu landen. In der 1.7 funktionieren sie gerade dann. Mit Symbolebenen meine ich nicht die Reihenfolge der Layer, sondern die Schaltfläche Symbolebenen, rechts oben im Eigenschaften-Window. Da erscheint nach Aktivierung eine Liste, in die man Werte von 1-x eingeben kann. Das ganze scheint von außen nach innen zu laufen. Man kann für jeden Stift jedes Symbols im Layer einen Wert eingeben und damit die Zeichenreihenfolge festlegen. Gruß, Wolfgang ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
[Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, sorry, dass ich mich erst jetzt einklinke. Wie man im Prinzip aus einem OSM-File (z.B. einem API-Export) mit Mapnik eine Karte rendert, ist im Wiki unter [1] dokumentiert. Prinzipiell ist es auch möglich, den OSM-Style so umzubiegen, dass Mapnik die Karte aus einem OSM-File statt aus PostgreSQL rendert. Das ist zwar mit einigen Einschränkungen verbunden, aber das Ergebnis dürfte der Karte von der OSM-Homepage recht nahe kommen. Zuerst wirst Du die ganzen Layers im Style durchgehen müssen: - Datasource anschauen: welche Tags werden gefiltert? - Datasource so umbauen, dass die Daten aus dem XML-File geholt werden - Alle Styles, die von dem jeweiligen Layers referenziert werden, anpassen: da die Filterregeln jetzt auf ALLE Objekte angewandt werden, müssen ggf. zuvor in der Datasource vorhandene Filterkriterien in die Filters der jeweiligen Rules wandern. - Achtung: falls ein Style von mehr als einem Layer referenziert wird (die dann höchstwahrscheinlich unterschiedliche Datasources haben und die Daten unterschiedlich filtern), wirst Du Diese Styles wahrscheinlich duplizieren müssen, weil Du jetzt für jedes Layer andere Filterregeln brauchst. Einschränkungen: Einige Features im Default-Style benutzen PostGIS-Funktionen: Beispielsweise werden turning_circles mit der Farbe gefüllt, die zur nächstliegenden Straße passt. Diese Features hast Du mit einem OSM-Datasource nicht zur Verfügung; hier ist Kreativität gefragt. (Beispielsweise nur die casings, sprich den grauen Rand, zu rendern und die Füllfarbe wegzulassen.) Ebenso wirst Du darauf verzichten müssen, Renderingregeln für Polygone erst ab einer bestimmten Fläche greifen zu lassen. Relationen werden von Mapnik überhaupt nicht unterstützt. Informationen, die in Relationen enthalten sind, können nicht gerendert werden. Speziell fällt mir dazu multipolygon ein – Gebäude mit Innenhöfen, Wälder mit Lichtungen usw. können so nicht wie auf der OSM-Homepage dargestellt werden. Es gibt keine Unterscheidung zwischen Nodes und Ways. Areas können halbwegs erraten werden, indem nach eindeutigen Tags gefiltert wird (area, building, landuse etc.), allerdings werden auf diese Weise auch Nodes als Areas behandelt, wenn sie eines dieser Tags besitzen. Außerdem scheint es noch ein paar Bugs zu geben – ich habe mal kleinere Bereiche ad-hoc auf diese Art gerendert, und in einzelnen Fällen musste ich feststellen, dass die Geometrie von Objekt A und Tags von Objekt B durcheinandergewürfelt wurden. Ich erinnere mich an einen Fall, in dem die Umrisse eines Gebäudes hartnäckig und reproduzierbar als Skipiste gerendert wurden... die Skipiste gab es tatsächlich, nur woanders... Um die Karte als Bitmap zu rendern, gibt es, wie schon vorher angesprochen, nik2img.py. Eine Alternative dazu könnte auch der Mapnik Viewer sein: den Code gibt es auf der Mapnik-Homepage zum Download; Binaries werden vom Projekt nicht angeboten. (Ubuntu bietet allerdings ein Package mapnik-viewer an.) Mit dem Viewer kannst Du Dir den gewünschten Kartenausschnitt auf dem Bildschirm heranholen und dann über die Export-Funktion in ein Bitmap exportieren. Einschränkung: es wird genau das exportiert, was Du auf dem Bildschirm siehst – gleicher Ausschnitt, gleicher Zoom. Wenn Du einen kleineren Ausschnitt brauchst, entweder Fenster vor dem Export verkleinern oder Bitmap hinterher zurechtschneiden. Der maximal exportierbare Kartenausschnitt ist etwas kleiner als Deine Bildschirmauflösung... Hope it helps Michael [1] http://wiki.openstreetmap.org/wiki/Mapnik:_Rendering_OSM_XML_data_directly ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
M∡rtin Koppenhoefer dieterdreist at gmail.com writes: genau darum geht es doch: die osm-Datei in die Datenbank einlesen und zum Rendern vorbereiten (Multipolygonrelationen parsen, Flächen berechnen, Renderreihenfolge vorberechnen, etc.) Muss man aber erstmal schaffen. Die Anleitungen, die ich bisher gefunden habe, verwirren mehr, als sie helfen. Was genau ist denn nun zu tun, um *lokal* eine PostgreSQL-DB laufen zu lassen? Kann ich eine Benutzerverwaltung in der Datanbank nutzen, oder muss der Datenbank-User einen passenden Unix-User auf der Maschine haben? Wie kann ich ein einziges PNG über eine gegebene Region rendern? Muss ich die Küstenlinien und die ganzen anderen großen Files laden, wenn ich ein Gebiet rendern will, welches eigentlich fernab einer Küstenlinie ist? Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hi, Manuel Reimer wrote: Was genau ist denn nun zu tun, um *lokal* eine PostgreSQL-DB laufen zu lassen? http://wiki.openstreetmap.org/wiki/Mapnik/PostGIS ist die Seite, die Du suchst. (Je nachdem, welche Linux-Distribution Du hast, koennte es ein ganz bisschen anders sein, z.B. ist bei den neuesten Ubuntus bereits Postgres 9 dabei, dann heisst der Pfad zum PostGIS ein bisschen anders, aber im Grunde ist es das gleiche. Was fuer ein Betriebssystem hast Du denn?) Nach erfolgreichem PostGIS-Setup musst Du bloss noch sowas wie osm2pgsql -d meinedatenbank -U meinuser meinfile.osm aufrufen, und das OSM-File landet in der Datenbank. Kann ich eine Benutzerverwaltung in der Datanbank nutzen, oder muss der Datenbank-User einen passenden Unix-User auf der Maschine haben? Auf Unix wird normalerweise ein User postgres angelegt als Systemuser fuer die Datenbank. Das ist zugleich ein Unix- und ein Datenbankaccount, der kommt automatisch mit. Wenn Du es Dir einfach machen willst, sparst Du Dir den ganzen createuser-Kram usw. und fuehrst alle Datenbankoperationen als User postgres (su postgres) aus. Grundsaetzlich hat die Postgres aber die Faehigkeit, eigene User zu verwalten, als Du kannst auch einen Datenbankuser gis anlegen und das dann (pg_hba.conf, trust) so einstellen, dass jeder Unix-User auf diesen Datenbank-User zugreifen darf. Wie kann ich ein einziges PNG über eine gegebene Region rendern? Das geht am besten mit nik2img.py (-Google). Aber beim Mapnik-Style (svn.openstreetmap.org/applications/rendering/mapnik), den Du ja eh runterladen musst bzw. schon runtergeladen hast, ist auch render_image.py dabei, das kann weniger, aber dafuer hat es nur ein paar Zeilen. Muss ich die Küstenlinien und die ganzen anderen großen Files laden, wenn ich ein Gebiet rendern will, welches eigentlich fernab einer Küstenlinie ist? Nein, in dem Fall aenderst Du einfach die Hintergrundfarbe der Karte (Map background=xx im osm.xml) auf grau oder weiss oder was immer Deine Landflaeche haben soll. In der Default-Einstellung ist diese Hintergrundfarbe blau, und die Landflaechen kommen ueber die Shapefiles rein, aber wenn Du kein Meer hast, kannst Du Dir das sparen. Bye Frederik -- Frederik Ramm ## eMail frede...@remote.org ## N49°00'09 E008°23'33 ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Am 15. Juni 2011 09:36 schrieb Frederik Ramm frede...@remote.org: Muss ich die Küstenlinien und die ganzen anderen großen Files laden, wenn ich ein Gebiet rendern will, welches eigentlich fernab einer Küstenlinie ist? Nein, in dem Fall aenderst Du einfach die Hintergrundfarbe der Karte (Map background=xx im osm.xml) auf grau oder weiss oder was immer Deine Landflaeche haben soll. In der Default-Einstellung ist diese Hintergrundfarbe blau, und die Landflaechen kommen ueber die Shapefiles rein, aber wenn Du kein Meer hast, kannst Du Dir das sparen. +1, die großen Shapefiles sind 2 Küstenlinienversionen (unterschiedlich detailliert je nach Zoom), Städte und Grenzen für lowzoom-renderings (AFAIR bis z4 bzw. 5 oder 6, brauchst Du auch nicht) und vereinfachte Siedlungsflächen, alle 3 von Natural Earth, brauchst Du alle nicht, musst allerdings die entsprechenden Zeilen in den Regeln auskommentieren, sonst gibts einen Fehler, dass er die Dateien nicht findet. Was den User angeht: ich benutze einfach den normalen User und mache den zum Datenbanksuperuser. Das funktioniert problemlos, ob es Sicherheitslücken öffnet, weiss ich aber nicht genau. Eine Anleitung zum Installieren/Konfigurieren gibt es auch bei Richard Weait ( http://weait.com/content/build-your-own-openstreetmap-server ) und im Wiki auf deutsch unter DE:How to minutely hstore von Peter Körner. Gruß Martin ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
M∡rtin Koppenhoefer wrote: Was den User angeht: ich benutze einfach den normalen User und mache den zum Datenbanksuperuser. Das funktioniert problemlos, ob es Sicherheitslücken öffnet, weiss ich aber nicht genau. Hi Martin, das kommt halt auf das Umfeld an. Ein gut per Firewall abgeschottetes System @Home ohne Mitbewohner kann ja relativ offen sein; Sind Kids im Haus oder surft der Opa mit, sollte man etwas aufpassen ;) Gruss Walter - Wenn du den Wald vor lauter Bäumen nicht siehst, fälle die Bäume und du wirst sehen, dass da kein Wald ist. -- View this message in context: http://gis.638310.n2.nabble.com/Wie-Kartenbereich-aus-API-Export-rendern-tp6466813p6477951.html Sent from the Germany mailing list archive at Nabble.com. ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, Am Dienstag 14 Juni 2011 12:51:41 schrieb Manuel Reimer: Wolfgang wolfgang at ivkasogis.de writes: Male 2 Linien. In der Logig des Programms legst du erst eine weiße Linie und darunter eine schwarze dickere Linie fest. Dann sieht du schon, dass die weiße Linie Vorrang vor der Schwarzen hat. Funktioniert. Danke erstmal dafür. Wie bekomme ich nun alles mit building=yes ausgeblendet, andere Polygone aber eingeblendet? Bei mir sind alle relevanten Daten im Feld tags verwurstet, egal wie ich die OSM-Daten importiere. 2 Möglichkeiten: 1. Du stellst die Darstellung auf Regelbasierend um und gibst einen Filter ein, ob und wie welche tags gerendert werden sollen (Siehe Attributliste) 2. Du erzeugst einen neuen Vektor-Layer und kopierst die Daten dort rein. Du kannst die Datensätze auch einfach löschen, wenn du sie nicht brauchst. Gruß, Wolfgang ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Wolfgang wolfgang at ivkasogis.de writes: Die Arbeit steckt darin, dass du den Stil aus Layern erst selbst zusammensetzen musst. Habe ich probiert. Stil für highway=residential basierend aus drei Linien. Eine weiße in der Mitte und zwei schwarze außen. Die Übergänge zwischen den Straßen sehen jetzt besch... aus. Die schwarzen Linien ragen in die kreuzenden Straßen. Was mache ich falsch? Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Am 14. Juni 2011 09:26 schrieb Manuel Reimer manuel.s...@nurfuerspam.de: Wolfgang wolfgang at ivkasogis.de writes: Die Arbeit steckt darin, dass du den Stil aus Layern erst selbst zusammensetzen musst. Habe ich probiert. Stil für highway=residential basierend aus drei Linien. Eine weiße in der Mitte und zwei schwarze außen. Die Übergänge zwischen den Straßen sehen jetzt besch... aus. Die schwarzen Linien ragen in die kreuzenden Straßen. Was mache ich falsch? oft rendert man erst eine etwas dickere schwarze Linie (für alle Straßen im Gebiet), (das nennt sich casing), und erst danach mit weiss (oder sonst wie) die eigentliche Straße darüber. Zuletzt die Beschriftung. Gruß Martin ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, Am Dienstag 14 Juni 2011 09:26:30 schrieb Manuel Reimer: Habe ich probiert. Stil für highway=residential basierend aus drei Linien. Eine weiße in der Mitte und zwei schwarze außen. Die Übergänge zwischen den Straßen sehen jetzt besch... aus. Die schwarzen Linien ragen in die kreuzenden Straßen. Was mache ich falsch? Male 2 Linien. In der Logig des Programms legst du erst eine weiße Linie und darunter eine schwarze dickere Linie fest. Dann sieht du schon, dass die weiße Linie Vorrang vor der Schwarzen hat. Wenn du verschiedene Straßentypen miteinander zum Schnitt bringen willst, ohne dass das Innere der einen Linie durch den Rand der anderen ausgesperrt wird, musst du alle dazugehörigen Straßentypen im selben Layer unterbringen und über die Schaltfläche Symboltypen eine Rangfolge definieren. Grundsatz: Rand mit niedriger Nummer, Mitte mit hoher Nummer. Im Prinzip funktioniert das mit 3 Linien genauso. (Version 1.7!) Für die Beschriftung gibt es eine extra-Schaltfläche im Hauptmenü unter Layers. Sie enthält eine erst kürzlich eingebaute, komfortablere Beschriftung als die Ältere, die im eigentlichen Layer zugängig ist. Gruß, Wolfgang ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Wolfgang wolfgang at ivkasogis.de writes: Male 2 Linien. In der Logig des Programms legst du erst eine weiße Linie und darunter eine schwarze dickere Linie fest. Dann sieht du schon, dass die weiße Linie Vorrang vor der Schwarzen hat. Funktioniert. Danke erstmal dafür. Wie bekomme ich nun alles mit building=yes ausgeblendet, andere Polygone aber eingeblendet? Bei mir sind alle relevanten Daten im Feld tags verwurstet, egal wie ich die OSM-Daten importiere. Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Nachtrag: Was ich gefunden habe, und mich angenehm überrascht hat, ist das hier: http://maps.cloudmade.com/editor Leider sind die Daten bei denen zu alt. Wege, die ich bräuchte, sind nicht in deren Datenbank. Ansonsten ist das Tool aber genial. Keine 10 Minuten habe ich gebraucht und hatte annähernd die Darstellung, die ich haben will. Hier und da hätte ich wohl noch retuschieren müssen, aber im groben hat das schon gut ausgesehen. Eine Anfrage habe ich noch bei QGIS laufen. Wenn das nichts bringt, gebe ich das Thema rendern wegen zu komplex auf und lade mir doch die Mapnik-Tiles ins GIMP um die gewünschten Änderungen manuell in der Rastergrafik zu machen. Ist ja ganz nett gemeint, aber ich baue mir doch nicht mein ganzes System um, nur um zwei Quadratkilometer Karte zu rendern... Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, On 06/14/11 15:03, Manuel Reimer wrote: Ist ja ganz nett gemeint, aber ich baue mir doch nicht mein ganzes System um, nur um zwei Quadratkilometer Karte zu rendern... Sorry, aber Du hast Deine Frage explizit so gestellt, dass Du ein grosses (und, wie wir annehmen mussten, druckfaehiges) PNG erstellen wolltest und nicht den Screenshot einer Webseite. Haettest Du gesagt, dass Dir eine Bildschirmaufloesung voellig ausreicht, haette Dich vermutlisch schon frueher jemand gen Cloudmade-Style-Editor geschickt. Und warum Du Dich partout weigerst, eine Postgres zu benutzen, ist mir immer noch nicht klar, denn gemessen an der Zeit, die Du offenbar in andere Experimente gesteckt hast, waere das nun wirklich der Weg des geringsten Widerstandes gewesen. Bye Frederik ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Frederik Ramm wrote: Und warum Du Dich partout weigerst, eine Postgres zu benutzen, ist mir immer noch nicht klar, denn gemessen an der Zeit, die Du offenbar in andere Experimente gesteckt hast, waere das nun wirklich der Weg des geringsten Widerstandes gewesen. Kommt darauf an, was da noch für Abhängigkeiten mitkommen. Wie schon geschrieben: Ich habe keine Lust für die zwei Quadratkilometer zig Programme nachzuinstallieren. Was ich suche ist die Lösung, die mit möglichst wenig externen Abhängigkeiten auskommt. PostgreSQL scheint keine externen Abhängigkeiten mitzuziehen. PostGIS (sofern man das nicht vermeiden kann) benötigt proj und geos, die ich schon für Merkaartor auf dem System habe. Also auch eher unkritisch. Frage ist halt, was noch alles als Rattenschwanz nachkommt. Dazu kommt, dass ich als Quelle auf jedem Fall ein kleines OSM-File nutzen will. Ich werde mit meiner DSL-Light-Verbindung keine Planet-Files ziehen! Irgendwie werde ich dieses SQL-Dingens zudem in Zukunft mit eben dieser OSM-Datei aktualisieren müssen. Auch sowas sollte gehen. Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Am 14. Juni 2011 17:43 schrieb Manuel Reimer manuel.s...@nurfuerspam.de: Dazu kommt, dass ich als Quelle auf jedem Fall ein kleines OSM-File nutzen will. Ich werde mit meiner DSL-Light-Verbindung keine Planet-Files ziehen! wie schon erwähnt: die Datenbank bietet Dir auch für kleine Files diverse Vorteile. Bis zu ein paar hundert MB osm-file (und das ist schon ganz schön viel, selbst in dichten Gebieten viel mehr als die erwähnten 2km²) kann man auch ohne slim mode auf kleinen Systemen in wenigen Sekunden die DB füllen und Indices erstellen. Irgendwie werde ich dieses SQL-Dingens zudem in Zukunft mit eben dieser OSM-Datei aktualisieren müssen. Auch sowas sollte gehen. genau darum geht es doch: die osm-Datei in die Datenbank einlesen und zum Rendern vorbereiten (Multipolygonrelationen parsen, Flächen berechnen, Renderreihenfolge vorberechnen, etc.) Gruß Martin ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Henning Scholland wrote: Hallo Manuel, ich würde dafür Maperitive nehmen. Du lädst dir den Bereich über die XAPI herunter und lädst sie in das Programm. Den Mapnik-Stil ist dort der Default. Es gibt auch einen Stil, der die klassischen Stadtpläne nachahmt. Der dürfte sich im wiki finden lassen. Sonst meld' dich einfach nochmal. Danke für den Tipp, aber ehe ich mir Mono installiere, gefriert die Hölle zu. Keiner eine Idee, wie es mit Mapnik funktioniert? Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, Am Montag 13 Juni 2011 11:21:50 schrieb Manuel Reimer: Henning Scholland wrote: Hallo Manuel, ich würde dafür Maperitive nehmen. Du lädst dir den Bereich über die XAPI herunter und lädst sie in das Programm. Den Mapnik-Stil ist dort der Default. Es gibt auch einen Stil, der die klassischen Stadtpläne nachahmt. Der dürfte sich im wiki finden lassen. Sonst meld' dich einfach nochmal. Ich lese immer wieder XAPI, aber jedes mal, wenn ich das Ding benutzen will, ist sie nicht erreichbar. Ist die Doku veraltet, oder mache ich was falsch? (asking libproxy about url 'http://www.informationfreeway.org/api/0.6/map?bbox=10.0,53.6,10.1,53.7') ... 2011-06-13 15:43:59 FEHLER 503: Service Unavailable. :-( Danke für den Tipp, aber ehe ich mir Mono installiere, gefriert die Hölle zu. :-D Keiner eine Idee, wie es mit Mapnik funktioniert? Schau dir mal QuantumGis an. Arbeitet auch direkt mit OSM-Files, gute deutschsprachige Anleitung, recht einfach zu verstehen. Leider nicht unbedingt ein Vorbild an Stabilität, deshalb oft zwischenspeichern (!@*#@!$$@@!) Gruß, Wolfgang ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, ich nutze die xapi von mapquest, wenn ich sie mal brauchen sollte: http://open.mapquestapi.com/xapi/api/0.6/*[bbox=...] Henning ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Wolfgang wrote: Arbeitet auch direkt mit OSM-Files, gute deutschsprachige Anleitung, recht einfach zu verstehen. Noch eine dumme Frage, bevor ich (mal wieder) umsonst Software kompiliere: Damit kann ich dann auch den Mapnik-Standard-Stil, wie man ihn von openstreetmap.org kennt, als Basis nehmen? Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hi, Manuel Reimer wrote: Wie aber verfahre ich weiter. Postgresql will ich *nicht* verwenden. Ich möchte direkt aus einem exportierten OSM (Sehr kleine Fläche. Etwa zwei Quadratkilometer) rendern. Als Basis hätte ich aber gerne die Stylesheets, die auch auf openstreetmap.org genutzt werden. Wenn mein Ergebnis dem entspricht, dass auf OSM.org zu sehen ist, Dann fuehrt um Mapnik UND Postgis kein Weg herum. Maperitive hat Stylesheets, die so aehnlich aussehen, aber nicht gleich sind, und braucht, wie Du bereits gelesen hast, Mono. QGis kann OSM-Daten lesen, kann aber auch nicht direkt die echten Mapnik-Styles verwenden, sondern hat eigene Style-Definitionen. Das gleiche gilt fuer Osmarender und Mapgen.pl, zwei weitere unabhaengige Kartenrenderer, die beide wieder ihre ganz eingenen Stilvorschriften haben. Mapnik kann zwar auch direkt aus OSM-Files rendern, aber dafuer koennen nicht die normalen Styles benutzt werden, denn die gehen davon aus, dass die Daten so vorverarbeitet sind, wie osm2pgsql das tut. - Wo bekomme ich die Stylesheets? Die Mapnik-Styles sind in svn.openstreetmap.org/applications/rendering/mapnik. Es gibt da auch den Stil von openstreetmap.de. - Wie muss ich diese anpassen, dass damit aus einer OSM gerendert werden kann? Wie gesagt, das ist praktisch unmoeglich oder wuerde *sehr* viel Handarbeit bedeuten. Wesentlich mehr als die voruebergehende Installation einer PostGIS. - Wie lasse ich Mapnik das ganze als großes PNG erstellen. Ich brauche *keine* Tiles! nik2img.py ist dafuer gut geeignet. Bye Frederik -- Frederik Ramm ## eMail frede...@remote.org ## N49°00'09 E008°23'33 ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Am 13. Juni 2011 19:56 schrieb Frederik Ramm frede...@remote.org: - Wie muss ich diese anpassen, dass damit aus einer OSM gerendert werden kann? Wie gesagt, das ist praktisch unmoeglich oder wuerde *sehr* viel Handarbeit bedeuten. Wesentlich mehr als die voruebergehende Installation einer PostGIS. und einiges würde trotzdem nicht einfach so gehen, z.B. das Sortieren der Flächen nach Größe vor dem Rendern. Postgres zu benutzen heisst ja nicht, dass man gleich mit riesigen Datenmengen umgeht, im Gegenteil, bei kleinen Gebieten macht es wesentlich mehr Spass, weil man da nur mal eben ne Minute warten muss, und nicht gleich 2 Wochen, bis die Daten drin sind. Wenn man das nicht will, wäre vielleicht Osmarender eine Alternative, da kann man hinterher das Ergebnis (z.B. Überlappungen) ganz gut von Hand nachbearbeiten. Apropos: ich kämpfe gerade auch mit Postgres: ist es normal, dass ein kleiner Server (8 GB Ram, Platten nur 7200 U/min ohne Raid, Prozessor Intel Xeon Dual core) für 6 Stunden diffs (ca. 400K nodes) einspielen 14 Stunden braucht? Oder habe ich da irgendwo Mist gebaut? Der Import hatte auch schon weit über ne Woche gedauert. Ich habe die extra-attribute drin (lediglich Version der Objekte), dann hstore mit allen tags und coastlines (sollte nicht viel ausmachen). Wenn ich mir mit htop die Nutzung ansehe, dann komme ich nicht über ca. 700 MB im RAM (das sollte in etwa den shared buffers entsprechen), ich habe jetzt mal die option -C 7500 dazugenommen (node cache), bringt aber nicht viel und den RAM nutzt er trotzdem nicht. Wo könnte ich denn da noch was tunen, oder ist mit der Kiste sowieso kein Land zu gewinnen? Die db hat nach dem Import ca. 670GB auf der Platte belegt, während des initialen Imports sogar zeitweise (mit tmp-tabellen) ca. 960 GB. Die Prozessoren langweilen sich die meiste Zeit (osm2pgsql, ca. 3-5% Auslastung) während auch bei Osmosis (changefiles) nur einer wirklich auf 100% läuft, der andere dümpelt da auch (bzw. ist da das Verhalten zyklisch: mal ist einer ganz ausgelastet und der andere nicht, dann laufen beide auf ca. der Hälfte, das wechselt sich alle paar Sekunden/Minuten ab). Für Tipps wäre ich sehr dankbar. Gruß Martin ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, Am Montag 13 Juni 2011 19:38:34 schrieb Manuel Reimer: Wolfgang wrote: Arbeitet auch direkt mit OSM-Files, gute deutschsprachige Anleitung, recht einfach zu verstehen. Noch eine dumme Frage, bevor ich (mal wieder) umsonst Software kompiliere: Damit kann ich dann auch den Mapnik-Standard-Stil, wie man ihn von openstreetmap.org kennt, als Basis nehmen? Damit kannst du (nahezu) jeden Stil realisieren. Die Arbeit steckt aber nicht im kompilieren, das Ding ist für nahezu jedes OS fertig downzuladen. Die Arbeit steckt darin, dass du den Stil aus Layern erst selbst zusammensetzen musst. Dafür hast du dann aber auch exakt deinen Wunschstil. Gruß, Wolfgang ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, Am Montag 13 Juni 2011 20:17:28 schrieb M∡rtin Koppenhoefer: Für Tipps wäre ich sehr dankbar. Nur so ein Schuss ins Blaue: Wenn du in einer vorhandenen Datenbank größere Mengen importieren/updaten willst und die Quelle zuverlässig genug ist, spart es viel Zeit, wenn man vorher alle Indices löscht und alle constraints etc außer Betrieb setzt. Ich weiß nicht, wie weit das in deiner Konstellation bereits geschieht. Nach dem Import werden sie alle wieder erzeugt/aktiviert. Wenn der Import sauber läuft, spart das u.U. sehr viel Zeit. Wenn nicht, hast du anschließend keine Langeweile mehr... Eventuell sollte man zunächst alles innerhalb einer Transaktion laufen lassen. Gruß, Wolfgang ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
[Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo, ich möchte für einen Flyer unserer Gemeinde einen Kartenbereich exakt so rendern, wie es vom Ersteller des Flyers gewünscht wird. So will ich z.B. keine Häuser rendern und die Gebietsfarben wollte ich etwas gegen weiß korrigieren. Also nicht alles weiß, aber Straßen sollen deutlicher herausstechen. Feldwege sollen auf dem Export auch etwas anders aussehen. Auf dem Entwurf des Flyers befindet sich hier noch eine umgemalte Google-Maps-Karte. Ich habe lizenzrechtliche Bedenken geäußert und mich angeboten, den Kartenbereich mit OSM-Daten neu zu erstellen. Selbstverständlich werde ich mich für korrekte Angabe der Quelle einsetzen. Es sollte auch kein Problem sein, eine PDF-Version davon ins Internet zu stellen, und hier den Link zu posten. Das ich zuallererst mal Mapnik kompilieren muss, das ist klar. Wie aber verfahre ich weiter. Postgresql will ich *nicht* verwenden. Ich möchte direkt aus einem exportierten OSM (Sehr kleine Fläche. Etwa zwei Quadratkilometer) rendern. Als Basis hätte ich aber gerne die Stylesheets, die auch auf openstreetmap.org genutzt werden. Wenn mein Ergebnis dem entspricht, dass auf OSM.org zu sehen ist, dann passe ich die Stylesheets solange an, bis das gewünschte Ergebnis erreicht wird. - Wo bekomme ich die Stylesheets? - Wie muss ich diese anpassen, dass damit aus einer OSM gerendert werden kann? - Wie lasse ich Mapnik das ganze als großes PNG erstellen. Ich brauche *keine* Tiles! Danke vielmals im Voraus Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hallo Manuel, ich würde dafür Maperitive nehmen. Du lädst dir den Bereich über die XAPI herunter und lädst sie in das Programm. Den Mapnik-Stil ist dort der Default. Es gibt auch einen Stil, der die klassischen Stadtpläne nachahmt. Der dürfte sich im wiki finden lassen. Sonst meld' dich einfach nochmal. Henning Am 12.06.2011 10:47, schrieb Manuel Reimer: Hallo, ich möchte für einen Flyer unserer Gemeinde einen Kartenbereich exakt so rendern, wie es vom Ersteller des Flyers gewünscht wird. So will ich z.B. keine Häuser rendern und die Gebietsfarben wollte ich etwas gegen weiß korrigieren. Also nicht alles weiß, aber Straßen sollen deutlicher herausstechen. Feldwege sollen auf dem Export auch etwas anders aussehen. Auf dem Entwurf des Flyers befindet sich hier noch eine umgemalte Google-Maps-Karte. Ich habe lizenzrechtliche Bedenken geäußert und mich angeboten, den Kartenbereich mit OSM-Daten neu zu erstellen. Selbstverständlich werde ich mich für korrekte Angabe der Quelle einsetzen. Es sollte auch kein Problem sein, eine PDF-Version davon ins Internet zu stellen, und hier den Link zu posten. Das ich zuallererst mal Mapnik kompilieren muss, das ist klar. Wie aber verfahre ich weiter. Postgresql will ich *nicht* verwenden. Ich möchte direkt aus einem exportierten OSM (Sehr kleine Fläche. Etwa zwei Quadratkilometer) rendern. Als Basis hätte ich aber gerne die Stylesheets, die auch auf openstreetmap.org genutzt werden. Wenn mein Ergebnis dem entspricht, dass auf OSM.org zu sehen ist, dann passe ich die Stylesheets solange an, bis das gewünschte Ergebnis erreicht wird. - Wo bekomme ich die Stylesheets? - Wie muss ich diese anpassen, dass damit aus einer OSM gerendert werden kann? - Wie lasse ich Mapnik das ganze als großes PNG erstellen. Ich brauche *keine* Tiles! Danke vielmals im Voraus Gruß Manuel ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Wie Kartenbereich aus API-Export rendern
Hab gerade noch den Link zu dem angesprochenen Stil in meinen Favoriten gefunden: http://wiki.openstreetmap.org/wiki/User:Chris49N Henning ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de