Hărțile PUM/API și tehnici cartografice

Started by cristi5, July 11, 2017, 10:02:53 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

frunzaverde

#435
Am facut un extractor automat al datelor din Buletinele de Avizare ale Restrictiilor. Scoate datele din fisierul ala Word si le converteste in ceva rezonabil. E suficient de destept inca sa caute fisierul corect pe site-ul CFR (numele fisierului se schimba constant) si sa-l downloadeze si sa-l parseze.

Codul + datele le gasiti aici:
https://github.com/mihaicroicu/cfr_bar_parser

Gasiti acolo, inclusiv un CSV si un JSON cu datele din BAR-ul curent (editia Bucuresti). Pot sa-l rulez saptamanal, dar daca vreti sa automatizati deploymentul, as fi fericit.

Restrictiile parsate sunt aici : https://github.com/mihaicroicu/cfr_bar_parser/blob/main/bar_extras.csv
Cand esti amenintat cu ban permanent pentru ca ai criticat pozitia publica a unui politician, nu se mai poate numi conversatie sau forum, ci campanie electorala. Imi pare rau, dar din pacate, sunt nevoit va urez la revedere!

cristi5

Excelent! Cum sa mergem mai departe?

Putem pune datele pe OSM? Si cu ce tag?

Poti face un diff de la o luna la alta? Cred ca ar fi intetesant de publicat. In ultima luna, N noi restrictii, M rezolvate. Si agregat pe trimestru si an

Din diff-uri ne va fi usor sa punem pe OSM, poate chiar manual...

frunzaverde

Da, pot face un diff foarte, foarte usor. Voi face un diff la fiecare decada (10 zile), poate putem face un "monitor al restrictiilor" in viitor.

Pasii urmatori :

- sa integrez toate cele 8 regionale. Este trivial (un for (i=1;i<=8;i++) {...}), problema e ca anumite regionale sunt inca si mai creative cu editarea manuala a restrictiilor, si va trebui sa editez regexurile de curatenie. Regionala Brasov este "stress test"-ul. Le place inclusiv sa-si inventeze propriile simboluri in BAR, gen ≡.

- pot scrie un scriitor automat de rapoarte  - sa-i zicem "Monitorul Restrictiilor CFR", cu grafice si text. Este foarte simplu, si ma bucur ca am ales sa fac proiectelul asta in R, pentru ca am facilitati foarte bune de grafica (ggplot2, shiny, RMarkdown). Cand vom putea integra OSM, raportul va putea include si harti, si-l vom putea cu mare usurinta transforma intr-un web app (shiny face asta cu foarte mare usurinta).

  - sa vedem cum deducem si calculam kilometrajul pe OSM. Nu am deloc experienta cu OSM, am, insa experienta cu GIS traditional (PostGIS, ARC, PySAL...), asa ca inteleg conceptele (de la tiling la poligoane si de la linestring-uri la rute). Din ce-am vazut in explorarile mele minimale, pe OSM magistralele sunt stocate ca o colectie de segmente. Teoretic am putea downloada linia, transforma intr-o poliline cu un buffer minimal pentru locurile care sunt intrerupte, si masura distanta de la origine. Nu e complicat, dar, in functie de cat de realist e facuta segmentarea pe OSM, va trebui ajustat, ori manual, ori cu un sistem de ancore. Nu este simplu, pot sa ma ocup, dar o sa dureze un pic. Si am nevoie de ajutor sa downloadez segmentele intr-un format rezonabil (postgis? sau ARC?). Daca aveti o idee mai buna, sau se poate face ceva cu OSM direct - ziceti. HELP WANTED!.

- putem apoi pune restrictiile in acelasi fel in care sunt puse in Austria. Semnele lor de restrictie sunt identice cu cele romanesti, tot ce trebuie sa facem e sa gasim o restrictie in Austria si sa copiem modul in care este pusa pe OSM.
Cand esti amenintat cu ban permanent pentru ca ai criticat pozitia publica a unui politician, nu se mai poate numi conversatie sau forum, ci campanie electorala. Imi pare rau, dar din pacate, sunt nevoit va urez la revedere!

Buraddo

Odată ce vom termina gruparea datelor în colecții (relații e termenul folosit în OSM), se va putea face un query care îți va downloada toate liniile din țară.
Vezi serviciul Overpass Turbo, are și un API deci se poate integra direct în program, introduci acolo codul relației care va include toate magistralele (ți-l vom da îndată ce va exista una) și poți exporta/downloada datele în format GeoJSON/KML/raw OSM, vezi cum îți va fi mai comod.

Legat de calculul kilometrajului, s-ar putea să avem probleme în cazul liniilor cu fire multiple, în acest caz relațiile sunt mai greu de ordonat, așa că mai degrabă putem consideră că segmentele sunt la grămadă. Numărul firului cred că va trebui să-l tagguim manual și să parsezi relația după acest tag (tag - atribut specific fiecărui segment).

Legat de semnalizare, nu sunt fan al refolosirii celor din Austria, folosesc denumiri în germană, spre exemplu un semn de restricție de viteză folosește tagul railway:signal:speed_limit=AT-V2:geschwindigkeitstafel
https://wiki.openstreetmap.org/wiki/Tag:railway%3Dsignal
Din câte am observat la prima vedere pe această pagină, taggingul specific fiecărei țări are scopul de reprezentare a semnului (formă, poziție, tip etc). Iar în cazul acesta nu avem de unde să știm fără a ne deplasa pe teren. Putem folosi taguri standard, fără detalii: (pe cel mai apropiat punct railway=signal și railway:signal:speed_limit:speed=60 - adică există aici un marcaj de restricție de viteză, nu știm cum arată și nici nu ne interesează).

Legat de abătute și macaze cred că am putea să le ignorăm pentru moment, nici noi nu le introducem în relații, ar complica prea mult treaba și nici nu cred că ne va fi așa de folos în produsul final.

frunzaverde

#439
Multumesc de ajutor!

Cu firele duble nu e o problema. In majoritatea cazurilor, avem nevoie de ambele fire - restrictiile sunt pe un singur fir. Daca n-avem nevoie decat de un fir (sa reducem reprezentarea la un singur fir), ar trebui sa fie relativ usor de eliminat : ceva gen st_ring(st_buffer(st_buffer(x, 0.25km),-0.25km)) ar trebui sa rezolve problema rapid si eficient (sa speram). Asa vom putea cu relativa usurinta masura si pozitiile km.

In rest, inteleg mai bine cum va arata treaba (relatiile/colectiile au sens, se vor stoca, daca avem nevoie, intr-o baza de date PostGIS cu usurinta, impreuna cu codul de relatie). Pentru restrictiile de viteza, pare ca va trebui sa adoptam un tag propriu : nu e chiar "speed limit" (CFR-ul nu foloseste panouri de limita de viteza ubicue, in acelasi fel ca majoritatea operatorilor; limita standard de viteza e in livret) e restrictie sub limita de viteza.
Cand esti amenintat cu ban permanent pentru ca ai criticat pozitia publica a unui politician, nu se mai poate numi conversatie sau forum, ci campanie electorala. Imi pare rau, dar din pacate, sunt nevoit va urez la revedere!

cristi5

@frunzaverde

Pe pum.project-online.se este postgis si datele OSM Romania

Iti facem un cont acolo sau poti sa instalezi acest Docker

https://github.com/cristianbogdan/road-coloring/tree/overpass-data/docker

RobertH

Un mic update legat de restrictii de viteza pe CF.

Am vorbit pe OSM cu un editor care stie destul de bine feroviarul si mi-a explicat urmatoarele:
- trebuie sa ne dezvoltam noi un sistem de tagging al semnelor si sa-l punem pe osm wiki. Daca nu stim precis cum le zice la semne putem pune ceva de genu railway:signal:speed_limit = RO-CFR . Restul tagg-urilor raman la fel ca si la https://www.openstreetmap.org/node/5684273191 ;
- sa nu ne stresam de fragmentarea way-urilor. In Germania si Olanda is foarte fragmentate si nu e o problema;
- maxpeed sa fie viteza maxima permisa pe linie indiferent de trenuri. A dat exemplu liniei Amsterdam - Utrech care a fost proiectata pentru 200 dar din cauza costurilor foarte mari in raport cu beneficiile pentru a mentine viteza respectiva s-a trecut la viteza maxima de 160 devenind noua viteza stabilita.

Se pare ca nu exista tag pentru viteza proiectata . Putem inventa noi unul daca vrem sa facem un raport al situatiei de pe calea ferata.

tom_sawyer


RobertH

Quote from: danpandrea on March 30, 2021, 06:10:42 PM
M-a emoționat un pic treaba asta: să văd traseul Ploiești - Buzău fără să apăs pe butonul de proiecte propuse. Partea bună e că @RobertH nu va avea mult de lucru când vom vedea planșele - mai mută un nod, mai adaugă altul, chestii faine :D

@danpandrea Defapt o sa am la fel de munca ca si cum nu ar fi nimic pe harta.

Cel mai mult timp consumat nu e pe desenarea liniilor si adaugarea de atribute ci calibratul planselor. Cu cat stau mai mult sa le potrivesc, cu atat am mai putin de munca dupa aparitia pe google maps a lucrarilor.


cristi5

#444
Nu are OSM ceva tag pt centralizarea garii?

Centralizare = instalatia care schimba macazuri sub comanda impiegatului de miscare (IDM). In versiunile de sec 20 IDM vede trenurile pe o "luminoschema" sau ecran digital.

Ar fi fain sa vizualizam care au centralizare de sec 19, cu tabla trasa cu sarma, care au centralizare electrodinamica (adica cu relee), electronica (adica digitala) si eventual si ce echipament (Siemens, Thales,... Alstom)

In mod incredibil pe linii secundare garile au acum centralizare electronica iar statiile de pe Koridor nu au centralizare deloc :lol:

frunzaverde

Are CFR-ul harta cu centralizarile si sistemele de circulatie:
http://cfr.ro/files/ddr/RO%202021/Anexa%201.c%20-%20Harta%20sisteme%20circulatie%202021%20v10.0.0.pdf

Sunt impartite pe caprarii.
- steluta e centralizare electronica.
- dreptunghiul portocaliu e centralizare pe relee (electrodinamica) comandata digital, cu calculator de proces.
- dreptunghiul mov e centralizare electrodinamica, pe relee.
- triunghiul verde e centralizare (electro-)mecanica, adica semafoare cu palete, si instalatii cu manivele, roti dintate, scripeti si alte chestii 'steampunk', ca de pe-atunci dateaza (au un secol si ceva majoritatea).
- cercurile albastre sunt puncte de sectionare pe zone cu conducere centralizata, unde nu exista centralizare locala, doar acari care pun macazurile in baza ordinelor scrise de circulatie in prealabil.
Cand esti amenintat cu ban permanent pentru ca ai criticat pozitia publica a unui politician, nu se mai poate numi conversatie sau forum, ci campanie electorala. Imi pare rau, dar din pacate, sunt nevoit va urez la revedere!


vladioan_bv

buna ziua, se pot grupa in doua categorii, rutier si feroviar, lucrarile care apar pe harta api? adica printr-un singur click sa se afiseze doar rutier iar feroviar sa fie ascunse si invers?


pentium10

A8 are depusa documentatia pentru acordul de mediu.
Ar trebui sa scoatem din proiecte propuse. Ce ziceti? Sa se vada "default" la incarcare pe harta.
Waze advocate, Google Developer Expert, In Mures