Municipalmap - Karte mit Gemeindegrenzen - Dokumentation und HowTo


#1

für Freiburg http://openfreiburg.de/freifunk/municipalmap/
für gesamt DE http://openfreiburg.de/freifunk/municipalmap-de/
(baut gerade noch - und dauert einfach ewig … bisher kann er viele in Hamburg nicht eintragen, es scheint das dort keine Gemeindegrenzendaten vorliegen, dafür sind um Landshut schon einige zu diesem Zeitpunkt eingetragen)

ich hab hier im Forum nichts dazu gefunden, und bevor das wieder in der Ecke verstaubt wollt ich den Link nochmal teilen, weil da auch so ein Gedanke war: das könnte neben der http://freifunk-karte.de auch eine ganz gute Darstellung von Freifunk sein. Besonders für Menschen die in Gebietsgrenzen denken. (so Entscheidungsträger)
Ich versuch das mal weiter für ganz De - soweit möglich zu bauen.
Ich hab mir die Gesamtdaten der de-map (freifunk-karte.de) unter http://www.freifunk-karte.de/fetch.php?content=gpxfile gezogen und die GPX File dann naiv mit ein bisserl bash-script zu einem absoluten minimal nodelist.json gemacht.
Wäre schön gewesen ein Gesamtdeutsches nodelist.json file direkt von der de-map zu bekommen.
Das Ergebnis hab ich dann in die municipalmap geworfen, mit dem Effekt das alle Gemeinden hier mit ihren Knoten gezählt werden, mit der Referrenz Gemeindegrenze
(die municipalmap ordnet geocoord. Gemeinden zu) (natürlich wie bei der de-map nur diejenigen Knoten die Geocoordinaten haben)

vielleicht kanns der ein oder andere ja gebrauchen,
hier meine Kopie des Git, wo ich das jetzt her hatte weis ich nimmer

Hier meine “quick” and Dirty lösung dazu wie ich das angestellt hatte (dauert ewig!)
(ich hab hier ausgenutzt das die de-map schon viele unterschiedlich formatierte Quellen verarbeitet und ein bereinigten Output bereit stellt)

wget -O gpxfile http://www.freifunk-karte.de/fetch.php?content=gpxfile
cat gpxfile |sed "lon=" > gpxgeoonly
echo '{"nodes": [' > yay.json ; cat gpxgeoonly | sed s/"<wpt lon="/"{\"id\": \"foo$i\", \"position\": {\"long\": "/g | sed s/"\" lat=\""/"\", \"lat\":\""/g | sed s/"\">"/"\"}, \"name\": \"foo$i\"},"/g >> yay.json  ; echo ']}' >> yay.json 
rm yay2.json; i=1 ; for line in $(cat yay.json);do echo $line |sed s/foo1/foo$i/ >> yay2.json ; let i+=1;echo -n "-"$i; done
# eventuell vom letzten Eintrag das überzählige Komma am Ende löschen 
# am Ende 
./mkpoly -f nodelist http://openfreiburg.de/freifunk/municipalmap/yay2.json

Hier ein Bild vom Freiburger Flickenteppich, von Straßburg , bis Basel, bis zum Bodensee…


#2

Moin.

Hey @fuzzle. Super Sache das.

Du schreibst von Gemeindegrenzdaten. Wenn es sie gibt, funzt das auch auf Kreis.- und Städteebene?

Wäre doch was für Metacommunity`s wo es noch keine eigenen Gemeinschaften gibt, oder?

Nur so eine Überlegung, die mir zu deinem Beitrag einfiel. Oder habe ich da was missverstanden?

Gruß


#3

Funzen tun nur kewle Proggies von l3373n Coderz…

Aber im ernst: Shapefiles gibt’s zum Mitnehmen bei OSM.


#4

das mit der de-map wird schwieriger, müsste erst noch ne ḾapIt Instanz aufsetzen, oder weis jemand ob es sowas gibt, bzw wolle eh schonmal für Freifunk so eine VM aufsetzen? ( http://mapit.poplus.org/docs/self-hosted/install/install-script/ ) - für einmal De -map brauchts halt gleich mal 26.000 Anfragen.

und @Nordrunner , jede Metacomunity kann ihre nodelist.json da reinpacken und dann kommt da sowas raus … für 1…2…3 könnt ich das einfach machen. Sonst git clone tralala und selber machen. das mpoly schluckt das alte ffmap oder nodelist aus dem meshviewer. Es werden reale geocoordinaten innerhalb der gemeindegrenzen zusammengezählt - nicht wenger/ nicht mehr - fürs herzeigen - gerade auf ländlicher Ebene an Ortsvorsteher/Kirche/Bäcker ganz brauchbar.

ich wollte das ganz große Kino, mal sehen ob das die Tage kommt


#5

Moin @fuzzle

:grin: Genau dahin gingen nämlich meine Überlegungen. Wenn ich mal so frech sein darf und dich bitten unsere Homepage aufzurufen? FF Nord
Wie du siehst sind dort die Kreise und Sädte abgebildet. Also, so nebenbei, ich bin da gaaaaaaaaaaaaanz Oben Kreis Schleswig-Flensburg.
So, wenn ich das richtig verstanden habe, kann man mit deiner Programmierkunst, sagen wir ruhig mal Sl-Fl als Hauptkartenausschnitt mit den Gemeinden drinn nehmen und dann werden abhängig von den Gemeindegrenzen die darin enthaltene Menge an Knoten angezeigt.

Ich überlege gerade, wenn man über die magentafarbenen Bereiche fährt, kann man zu den entspr. Communityhomepages kommen.

Wenn man Ähnliches für diese Kreiskarten macht…, aber dann halt bei einem Klick drauf ein vergrößerter Kartenausschnitt von der Gemeinde angezeigt wird …, mit den Geolokalisierten Knoten darin…

Ich denke mal so als Präsentationshilfe kann das doch nützlich sein.
“Hey Bürgermeister, sieh mal. So sieht es hier bei uns im Kreis aus. In unserer Gemeinde stehen schon x Knoten. Guck mal die Meiers, weist doch, die mit dem großen Hund, die sind auch dabei…”
“Oder hier, in der Gemeinde Y, da haben wir das Gemeindezentrum von Pastor Z verfreifunkt.”
“Übrigens, den MarktTreff von W, da gibt es auch Freifunk und der läuft da auch unter Gemeindeverwaltung.”

Übrigens, das mit dem MarktTreff SH gibbet wirklich.

So könnte ich mir das vorstellen.

Bitte das jetzt nicht missverstehen. Das ist keine Aufforderung das für mich/uns zu machen! Wenn müsste ich das schon an den/die Zuständigen bei uns herantragen. Es geht mir nur um das Abklopfen der Machbarkeit.
Und vielleicht sind meine, eher praktischen Überlegungen, ein Anreiz für eine Umsetzung und Nutzung in anderen Regionen.

Gruß


#6

mhm, auf die schnelle gesagt : ich werd da nix groß Porgrammieren,
Also im Prinzip findet man bei euch die zughörigen API http://mesh.ffnord.net/api/ und dann eben http://mesh.ffnord.net/data/nodelist.json - in dem ordner liegen auch die anderen notwendigen Daten , so dass ihr auch den Meshviewer dort anlegen könntet.
den meshviewer mit der municipalmap zusammenbringen übersteigt mein können und meine Motivation,
hab das hier mal zusammen gekleistert in wenigen Minuten mit den vorhandenen Daten : http://openfreiburg.de/freifunk/meshviewer-ffnord/ und http://openfreiburg.de/freifunk/municipalmap-ffnord/


(ich lass das mal laufen - meshviewer aktualisiert alle 10 min, municipalmap 1* tag)

hoffe ich hab da jetzt nichts falsch verstanden.


#7

Alter …!

Coooooooooooool! Danke!!!, für den ersten Blick!

@Tarnatos, gugg mal bitte.

Neeeeeeee, alles gut. Wenn ich das richtig verstanden habe fehlt es jetzt nur noch ein Layer, welcher das ganze auf den Kreis, oder Stadt begrenzt. Je nachdem, wo sich ein Haufen zusammenfindet. Geile Sache das!!!

Danke @fuzzle


#8

@fuzzle
Coole Karte, was man nicht alles mit ein bisschen Script Magie hinbekommt.

Den Meshviewer kannst du aber wieder vom Netz nehmen. Der läuft bei uns unter mesh.ffnord.net

Gruß
Tarnatos


#9

@Tarnatos willste dir das selber irgendwo hinlegen … dann lösch ich beides und ihr seid nicht von mir abhängig?


#10

Gerne. Wie wird denn das generiert darf ich das Script auch mopsen?

Aber lass es mal noch ein Weilchen da liegen. Sitz grad im Zug :slight_smile:


#11

siehe erster Post, woher ich das hatte weis ich auch nimmer
siehe oben cccfr.de/git/viisauksena/


#12

Ah ok. Ja ich gucks mir am WE an. :sunny:


#13

Moin Moin.

@fuzzle @Tarnatos

Siehste! Jetzt wirds gerade aktuell bei uns und wir könnten die aktuelle Karte für eine Präsentation im Kreis (Amt) am 5.9. gebrauchen. Die Karte lässt sich zwar aufrufen, ist aber nicht aktuell. Kann man da was machen?

Gruß


#14

@noderunner … mhm, municipalmap läuft eigentlich noch … ihr solltet euch wirklich selber darum bemühen :wink:

hatte den meshviever-ffnord weg genommen und da lagen die nodelist.json und so zeug drin … die wiederum braucht mkpoly für die municipalmap (ja ich hätt das auch darein kopieren können) - aber auch dann gehts nimmer : an weiteren “Dingen” kann ich nix machen
so leitet ihr http://mesh.ffnord.net/data/nodelist.json um direkt auf die meshviewer Seite wenn ich das mit wget holen will - das failed, und ohne nodelist, keine municipal

##konkrete “Fehler” :

Falsche umleitung http>https

* About to connect() to mesh.ffnord.net port 80 (#0)
*   Trying 46.4.155.50...
* connected
* Connected to mesh.ffnord.net (46.4.155.50) port 80 (#0)
> GET /data/nodelist.json HTTP/1.1
> User-Agent: curl/7.26.0
> Host: mesh.ffnord.net
> Accept: */*
> 
* additional stuff not fine transfer.c:1037: 0 0
* HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 301 Moved Permanently
< Server: nginx/1.10.1
< Date: Wed, 17 Aug 2016 03:44:28 GMT
< Content-Type: text/html
< Content-Length: 185
< Connection: keep-alive
< Location: https://mesh.nord.freifunk.net

falsche umleitung 301 trotz https direkt

curl -4 -v https://mesh.ffnord.net/data/nodelist.json                                        
* About to connect() to mesh.ffnord.net port 443 (#0)
*   Trying 46.4.155.50...
* connected
* Connected to mesh.ffnord.net (46.4.155.50) port 443 (#0)
* successfully set certificate verify locations:
...
* HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 301 Moved Permanently
< Server: nginx/1.10.1
< Date: Wed, 17 Aug 2016 03:46:17 GMT
< Content-Type: text/html
< Content-Length: 185
< Connection: keep-alive
< Location: https://mesh.nord.freifunk.net

kein v6

curl -6 -v https://mesh.ffnord.net/data/nodelist.json
* About to connect() to mesh.ffnord.net port 443 (#0)
*   Trying 2a01:4f8:130:71a4::7...
... timeout 

von Hand gemopst

ist da eine Coordinate mit nem fehler drin … hatte das damals schon … irgendwo irgendwas faules … zu lang, doppelt, komma - mkpoly spuckt mir einen fehler aus wenn ich den von Hand füttern will mit eurer nodelist.json (mühsam über den browser geladen) … erinnere mich nicht mehr, ich probiers nochmal

vorher

jetzt

tip : jostlemke karten

@jotzt ping :wink:


edit hab mir derweil meinen server abgeschossen , weis nicht wie schnell der wieder da ist (dauert länger)


#15

Moin

Hey @fuzzle , alles Gut. Klar ist das unsere Sache! Ich hoffe @Tarnatos und seine Mannen haben dein “Machwerk” für FF-Nord gesichert. :wink:

Wenn nicht, muss es auch ohne gehen. Wäre aber ein echt nettes Schmankerl gewesen für die Präsentation.

Ich danke Dir für deine Info`s! Vielleicht fließt das mal als 2. Karte bei uns ein.

Gruß


#16

ist nicht wirklich schwer, mkpoly skript aufrufen und mit eurer nodelist.json füttern


#17

Der link ist falsch :wink: die map bietet daten unter https://mesh.nord.freifunk.net/data/nodes.json


#18

Unsere Nodes sind noch nicht wieder in der Freifunk-Karte.

Wenn dass soweit ist kann ich mich mal dransetzen…


#19

Hm ich habe das mal bei mir nun aufgesetzt. Nur erhalte ich immer die folgende Fehlermeldung: “TypeError: ‘method’ object is not subscriptable” mir ist grade nicht klar ob ich alle notwendigen Module in Python3 eingerichtet habe. Die Nodelist ist minimalisiert auf folgendes:

{“nodes”: [“position”: {“lat”: 53.24679290499842, “long”: 9.841645002234145}, “id”: “60e327be2010”}]}

Hat jemand einen Tip für mich?


#20

Fehler gefunden: wenn man die aller neuste Version von requests verwendet die mit pip3 geliefert wird (2.4.3) muss jedes “requests.json” zu “requests.json()” geändet werden. Danach funktioniert dieses Script einwand frei. (Wenn gewünscht mache ich auch eine pull request im Git auf)