Viac

Pgrouting - vytvorenie topológie s explicitným súborom uzlov


Ak sa naučím smerovanie, chcel by som vytvoriť jednoduchý smerovací motor verejnej dopravy.

Počnúc jednoduchou sieťou metra (v mojom prípade DC, pozri výňatok nižšie), chcel by som skombinovať geometrie línií (LineStrings) a geometrie staníc (Body), aby som vytvoril smerovateľnú sieť po projektoch, ako sú tieto, od @underdark!

Čo mi nie je jasné, je ak existuje spôsob, ako využiť explicitné geometrie staníc ako vstup do funkcie pgr_createTopology na vytvorenie topológie siete?

Screenshot z geometrie čiar prekrytých umiestneniami staníc: .


S programom pgr_createTopology nemôžete priamo, vygenerovaný uzol však môžete namapovať na stanice. Týmto veľmi presným problémom sa venujeme v našej pripravovanej knihe: http://locatepress.com/pgrouting

Čo by ste teda robili je asi také:

ALTER TABLE dc_stations ADD COLUMN node_id integer; UPDATE dc_stations SET node_id = X.id FROM dc_lines_vertices_pgr X WHERE ST_DWithin (dc_stations.geom, X.the_geom, 0,000001);

Vyššie uvedený kód predpokladá, že vaše jednotky sú v stupňoch, ak nie sú, mali by ste zvýšiť toleranciu. Tiež predpokladá, že vaše vlasce vedenia sú už na zastávkach zlomené (každá zastávka je začiatkom alebo koncom okraja). Pokiaľ nie, budete musieť prerušiť vedenie linky na uzloch staničných uzlov.


Pozri si video: Open Source Street Routing With PgRouting For Local Government - Dynamic Data and Performance (Október 2021).