Wie Länge des Hochspannungsnetzes ermitteln ?
-
Wie Länge des Hochspannungsnetzes ermitteln ? · member111 (Gast) · 01.08.2012 10:31 · [flux]
Hallo!
Ich würde gerne für Deutschland die Gesamtlänge des bei OSM erfassten 110kV-Hochspannungsnetzes herausbekommen und habe bislang nur herausgefunden, dass man die Daten der einzelnen Bundesländer bei Geofabrik herunterladen kann. Und das diese per osmosis gefiltert werden können. Nur leider habe ich keine Ahnung, wie ich mit diesem Programm umgehen muss und ich steige nicht ganz durch die beschreibung bei wiki durch.Wäre toll, wenn mir jemand weiterhelfen könnte!!!
- Re: Wie Länge des Hochspannungsnetzes ermitteln ? · toc-rox (Gast) · 01.08.2012 11:35 · [flux]
Vorab: Willkommen im Forum ...
Dein Vorhaben ist m.E. schwieriger als es zunächst scheint.
Erst aber mal eine Reihe von Fragen:
- Ist nur das 110kV-Netz ist gewünscht (keine 60 / 220 / 380 kV) ?
- Überlandleitungen, Erdkabel, Seekabel oder alles ?
- Möchtest du eine Karte erstellen oder am Ende nur eine Zahl haben ?Gruß Klaus
PS: Der Name des Threads ist etwas ungünstig - besser vielleicht: "Wie Länge des Hochspannungsnetzes ermitteln ?"
- Re: Wie Länge des Hochspannungsnetzes ermitteln ? · SunCobalt (Gast) · 01.08.2012 12:12 · [flux]
Wegelängen der verschiedenen Werte mit dem Key voltage= aus der Geofabrik File germany.osm.pbf von gestern
0 228.0km
1000 8.7km
10000 297.6km
10000;400 0.0km
11000 13.2km
110000 41145.6km
1100000 0.3km
110000;0 39.8km
110000;10000 13.2km
110000;10500 0.3km
110000;11000 4.6km
110000;15000 34.9km
110000;20000 383.6km
110000;25000 4.5km
110000;30000 20.7km
110000;35000 17.9km
110000;35000;10000 3.0km
110000;medium 1.4km
12 0.0km
1200 20.2km
12000 0.2km
132000 51.5km
132000;110000 1.0km
132000;110000;15000 0.6km
1500 73.6km
15000 34729.4km
150000 169.1km
2000 0.3km
20000 2142.1km
20000;10000 0.9km
20000;400 0.1km
220 0.7km
220000 6042.7km
220000;0 29.6km
220000;110000 1406.0km
220000;110000;20000 3.7km
220000;110000;25000 0.3km
225000 40.0km
230 1.4km
240 0.8km
25000 72.9km
27000 0.1km
3000 66.4km
30000 300.7km
300000 0.7km
30000;6000 0.1km
35000 125.1km
35000;20000 3.6km
35000? 0.3km
35000|10000 1.6km
380 0.3km
380000 8447.9km
380000;0 25.7km
380000;110000 987.9km
380000;110000;20000 2.5km
380000;20000 11.1km
380000;220000 1940.1km
380000;220000;0 7.0km
380000;220000;110000 541.5km
380000;220000;110000;25000 1.2km
380000;220000;25000 1.5km
400 34.0km
40000 1.1km
400000 174.8km
420000 0.3km
450000 252.5km
500 2.9km
600 523.9km
6000 17.4km
60000 300.8km
600;750 185.0km
63000 75.9km
650 3.2km
65000 33.4km
6600 133.7km
750 2568.1km
800 252.0km
fixme 168.8km
high 5.6km
medium 12.0km
medium;low 0.0km
none 0.0km - Re: Wie Länge des Hochspannungsnetzes ermitteln ? · member111 (Gast) · 01.08.2012 12:13 · [flux]
Hey, danke 🙂!
- Ja, es geht mir nur um die insgesamt aktuell durch OMS erfasste Länge des 110kV Netzes.
- Die Unterscheidung zwischen der Art der Leitung ist erstmal nicht so wichtig.
- Eine Karte wäre toll. Aber zunächst ist erstmal nur diese eine Zahl für mich relevant.LG!
- Re: Wie Länge des Hochspannungsnetzes ermitteln ? · SunCobalt (Gast) · 01.08.2012 12:26 · [flux]
oh, die Werte oben beinhalten auch Oberleitungen (falls die auch mit 110kv betrieben werden ...keine Ahnung ob es das gibt). Falls die nicht dabei sein sollen, müsste ich vorfiltern
- Re: Wie Länge des Hochspannungsnetzes ermitteln ? · SunCobalt (Gast) · 01.08.2012 12:38 · [flux]
hier nun nur power=line + voltage=* Werte
0 154.1km
10000 24.6km
11000 11.8km
110000 39495.2km
110000;0 39.8km
110000;10000 13.0km
110000;11000 4.6km
110000;15000 12.5km
110000;20000 379.7km
110000;25000 4.5km
110000;30000 20.0km
110000;35000 17.4km
110000;35000;10000 3.0km
110000;medium 1.3km
132000 17.1km
132000;110000 1.0km
15000 9.1km
150000 43.4km
2000 0.3km
20000 532.8km
20000;10000 0.3km
220000 5822.3km
220000;0 29.6km
220000;110000 1360.4km
220000;110000;20000 3.7km
220000;110000;25000 0.3km
225000 40.0km
25000 0.2km
27000 0.0km
30000 108.1km
35000 23.3km
35000? 0.1km
380000 7933.9km
380000;0 25.7km
380000;110000 945.9km
380000;110000;20000 2.5km
380000;20000 11.1km
380000;220000 1919.1km
380000;220000;0 7.0km
380000;220000;110000 524.0km
380000;220000;110000;25000 1.2km
380000;220000;25000 1.5km
400 0.6km
40000 1.1km
400000 120.8km
420000 0.3km
450000 252.5km
500 0.9km
6000 1.4km
60000 297.7km
63000 75.9km
65000 33.3km
fixme 10.6km
high 5.6km
medium 5.1km - Re: Wie Länge des Hochspannungsnetzes ermitteln ? · member111 (Gast) · 01.08.2012 12:42 · [flux]
SunCobalt wrote:
oh, die Werte oben beinhalten auch Oberleitungen (falls die auch mit 110kv betrieben werden ...keine Ahnung ob es das gibt). Falls die nicht dabei sein sollen, müsste ich vorfiltern
Vielen Dank!!!!
Kannst du mir vielleicht auch erklären, wie ich diese Werte flitern kann? Ich habe bislang osmosis installiert und die Datei germany.osm.pbf heruntergeladen.Ich dachte ich kann diese Datei dann über die Eingabeauforderung von Windows aufrufen, aber immer wenn ich das veruche erscheint nur der Text: "SCHWERWIEGEND: Execution aborted" als Fehler Meldung und noch sehr viel mehr Text.
Die Oberleitungen müsste ich dann noch herausfiltern, weil ich nur das Energieversorgungsnetz benötige.
LG
- Re: Wie Länge des Hochspannungsnetzes ermitteln ? · tunnelbauer (Gast) · 01.08.2012 12:45 · [flux]
Thomas hat dir schon nur die "Powerlines" gegeben - das beinhaltet keine Oberleitungen mehr (vorausgesetzt es wurde richtig getagged - das wiederum findest du aber nur raus wenn du railway und powerline auswerfen lässt.
Zu deinem Error: Was ist dein Input?
- Re: Wie Länge des Hochspannungsnetzes ermitteln ? · SunCobalt (Gast) · 01.08.2012 12:47 · [flux]
Du bräuchtest Osmium, müsstest ein C++ Programm kompilieren und dabei verschiedene Libaries einbinden 😉 Der zweite Datensatz beinhaltet nur power=line (siehe http://wiki.openstreetmap.org/wiki/DE:Tag:power%3Dline)
Das müsste die Zahl sein, die Du suchst - Re: Wie Länge des Hochspannungsnetzes ermitteln ? · member111 (Gast) · 01.08.2012 12:54 · [flux]
http://download.geofabrik.de/osm/europe/
hier habe ich die Datei heruntergeladen - Re: Wie Länge des Hochspannungsnetzes ermitteln ? · wambacher (Gast) · 01.08.2012 13:23 · [flux]
member111 wrote:
http://download.geofabrik.de/osm/europe/
hier habe ich die Datei heruntergeladenund dann???? windows-mäßig draufgeklickt 😉
also Butter bei die Fische: Befehle, Fehlermeldungen, SCREENSHOTS - alles was greifbar ist.
Gruss
walter - Re: Wie Länge des Hochspannungsnetzes ermitteln ? · member111 (Gast) · 01.08.2012 13:44 · [flux]
SunCobalt wrote:
Du bräuchtest Osmium, müsstest ein C++ Programm kompilieren und dabei verschiedene Libaries einbinden 😉 Der zweite Datensatz beinhaltet nur power=line (siehe http://wiki.openstreetmap.org/wiki/DE:Tag:power%3Dline)
Das müsste die Zahl sein, die Du suchstIch habe jetzt das Programm Osmium heruntergeladen und C++2010 Express. Wie müsste ich nun weiter vorgehen, damit ich auf die entsprechenden Daten der Datei "gemany.osm.pbf "zugreifen kann?
- Re: Wie Länge des Hochspannungsnetzes ermitteln ? · SunCobalt (Gast) · 01.08.2012 14:02 · [flux]
zusätzlich brauchst doch dann noch einige Libaries - siehe unten-. Nicht unbedingt alle, aber ohne den Quellcode zu studieren, kann ich Dir nicht sagen, welche Libaries zu weglassen kannst. Das eigentliche C++ Programm (war ursprünglich für highways) ist nicht so dramatisch, aber wie man das unter Windows kompiliert, weiß ich nicht
boost (several libraries)
http://www.boost.org/
Debian/Ubuntu: libboost-devzlib (for PBF support)
http://www.zlib.net/
Debian/Ubuntu: zlib1g-devshapelib (for shapefile support in osmjs)
http://shapelib.maptools.org/
Debian/Ubuntu: libshp-devlibsqlite3 (for some applications only)
http://sqlite.org/
Debian/Ubuntu: libsqlite3-devlibgd (for tagstats and nodedensity applications only)
http://www.libgd.org/
Debian/Ubuntu: libgd2-xpm-devGDAL (for OGR support)
http://gdal.org/
Debian/Ubuntu: libgdal1-devhttp://expat.sourceforge.net/
Debian/Ubuntu: libexpat1-devGEOS (for assembling multipolygons etc.)
http://trac.osgeo.org/geos/
Debian/Ubuntu: libgeos-devGoogle sparsehash
http://code.google.com/p/google-sparsehash/
Debian/Ubuntu: libsparsehash-devGoogle V8 Javascript engine (for Javascript support)
http://code.google.com/apis/v8/
Debian/Ubuntu: libv8-devLibICU (for UTF-8/UTF-16 conversion, only for Javascript support)
http://site.icu-project.org/
Debian/Ubuntu: libicu-devGoogle protocol buffers (for PBF support)
http://code.google.com/p/protobuf/ (at least Version 2.3.0 needed)
Debian/Ubuntu: libprotobuf-dev protobuf-compiler
Also see http://wiki.openstreetmap.org/wiki/PBF_FormatDoxygen (to build API documentation)
http://www.stack.nl/~dimitri/doxygen/
Debian/Ubuntu: doxygenlibboost-test (for tests)
http://www.boost.org/doc/libs/1_47_0/li … index.html
Debian/Ubuntu: libboost-test-devOSMPBF (for PBF support)
https://github.com/scrosby/OSM-binary
You need to build this first./*
This␣is␣an␣example␣tool␣that␣computes␣the␣sums␣of␣highway␣lengths. by␣Frederik␣Ramm␣<frederik@remote.org>
*/
#include␣<cstdlib>
#include␣<osmium.hpp> #include␣<osmium/storage/byid.hpp> #include␣<osmium/handler/coordinates_for_ways.hpp>
typedef␣Osmium::Storage::SparseTable<Osmium::OSM::Position>␣storage_sparsetable_t; typedef␣Osmium::Storage::Mmap<Osmium::OSM::Position>␣storage_mmap_t; typedef␣Osmium::Handler::CoordinatesForWays<storage_sparsetable_t,␣storage_mmap_t>␣cfw_handler_t;
class␣RoadLengthHandler␣:␣public␣Osmium::Handler::Base␣{
storage_sparsetable_t␣store_pos; storage_mmap_t␣store_neg; cfw_handler_t*␣handler_cfw; std::map<std::string,␣unsigned␣int>␣length; std::string␣hwy;
public:
RoadLengthHandler() { handler_cfw␣=␣new␣cfw_handler_t(store_pos,␣store_neg); }
~RoadLengthHandler() { }
void␣init(Osmium::OSM::Meta&␣meta) { handler_cfw->init(meta); }
void␣node(const␣shared_ptr<Osmium::OSM::Node␣const>&␣node) { handler_cfw->node(node); }
void␣after_nodes() { handler_cfw->after_nodes(); }
unsigned␣int␣distance(double␣lat1,␣double␣lon1,␣double␣lat2,␣double␣lon2) { if␣((lon1==lon2)&&(lat1==lat2))␣return␣0; double␣r␣=␣6371000; lon1␣=␣lon1␣*␣M_PI/180; lon2␣=␣lon2␣*␣M_PI/180; lat1␣=␣lat1␣*␣M_PI/180; lat2␣=␣lat2␣*␣M_PI/180; double␣dlat␣=␣lat2-lat1; double␣dlon␣=␣lon2-lon1; double␣x␣=␣pow(sin(dlat/2),2)␣+␣cos(lat1)␣*␣cos(lat2)␣*␣pow(sin(dlon/2),2); double␣y␣=␣2␣*␣atan2(sqrt(x),␣sqrt(1-x)); return␣r*y+0.5; }
unsigned␣int␣way_length(const␣shared_ptr<Osmium::OSM::Way>&␣way) { double␣last_lat,␣last_lon,␣this_lat,␣this_lon; unsigned␣int␣len␣=␣0; if␣(way->node_count()␣<␣2)␣return␣0; last_lat␣=␣way->get_lat(0); last_lon␣=␣way->get_lon(0); for␣(unsigned␣int␣i=1;␣i<␣way->node_count();␣i++) { this_lat␣=␣way->get_lat(i); this_lon␣=␣way->get_lon(i); len␣+=␣distance(last_lat,␣last_lon,␣this_lat,␣this_lon); last_lon␣=␣this_lon; last_lat␣=␣this_lat; } return␣len; }
void␣way(const␣shared_ptr<Osmium::OSM::Way>&␣way) { handler_cfw->way(way); const␣char*␣highway␣=␣way->tags().get_tag_by_key("voltage"); if␣(highway) { hwy.assign(highway); length[hwy]␣+=␣way_length(way); } }
void␣after_ways() { for␣(std::map<std::string,␣unsigned␣int>::const_iterator␣i␣=␣length.begin();␣i␣!=␣length.end();␣i++) { printf("%-20s%8.1fkm\n",␣i->first.c_str(),␣i->second␣/␣1000.0); } } };
int␣main(int␣argc,␣char␣*argv[]) { Osmium::init(true);
if␣(argc␣!=␣2) { std::cerr␣<<␣"Usage:␣"␣<<␣argv[0]␣<<␣"␣OSMFILE"␣<<␣std::endl; exit(1); }
Osmium::OSMFile␣infile(argv[1]); RoadLengthHandler␣handler; infile.read(handler); }
- Re: Wie Länge des Hochspannungsnetzes ermitteln ? · ikonor (Gast) · 01.08.2012 14:24 · [flux]
SunCobalt wrote:
Das eigentliche C++ Programm (war ursprünglich für highways) ist nicht so dramatisch, aber wie man das unter Windows kompiliert, weiß ich nicht
Wäre schön, wenn das mal jemand versuchen würde, aber ich fürchte Osmium unter Windows ist Neuland:
Osmium has not been tested on Windows systems, there will probably be problems with some libraries and POSIX functions that are not available on Windows.
Jochen Topf wrote:
- Osmium does not seem to be Windows ready according to its doc.
Yes. I hope somebody who knows anything about Windows development will help
with that at some point.[OSM-dev] New OGR driver to read OpenStreetMap .osm / .pbf files