Dit is de opdracht v.net.timetablegrass die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
v.net.dienstregeling - Vindt het kortste pad met behulp van dienstregelingen.
TREFWOORDEN
vector, netwerk, kortste pad
KORTE INHOUD
v.net.dienstregeling
v.net.dienstregeling --help
v.net.dienstregeling invoer=naam [lagen=snaar] uitvoer=naam [boog_laag=snaar]
[knooppunt_laag=snaar] [boog_kolom=snaar] [boog_achterwaartse_kolom=snaar]
[knooppunt_kolom=snaar] [loop_laag=snaar] route_id=naam stoptijd=naam stoppen=naam
loop_lengte=naam [--beschrijven] [--uw] [--breedsprakig] [--rustige] [--ui]
vlaggen:
--overschrijven
Toestaan dat uitvoerbestanden bestaande bestanden overschrijven
--help
Gebruiksoverzicht afdrukken
--uitgebreid
Uitgebreide module-uitgang
--stil
Stille module-uitgang
--ui
Geforceerd starten van GUI-dialoogvenster
parameters:
invoer=naam [verplicht]
Naam van invoer vectorkaart
Of gegevensbron voor directe OGR-toegang
lagen=snaar
Laagnummer of naam
Vectorobjecten kunnen categoriewaarden in verschillende lagen hebben. Dit aantal bepaalt
welke laag te gebruiken. Bij gebruik met directe OGR-toegang is dit de laagnaam.
Standaard: 1
uitvoer=naam [verplicht]
Naam voor uitvoervectorkaart
boog_laag=snaar
Booglaag
Vectorobjecten kunnen categoriewaarden in verschillende lagen hebben. Dit aantal bepaalt
welke laag te gebruiken. Bij gebruik met directe OGR-toegang is dit de laagnaam.
Standaard: 1
knooppunt_laag=snaar
Knooppuntlaag
Vectorobjecten kunnen categoriewaarden in verschillende lagen hebben. Dit aantal bepaalt
welke laag te gebruiken. Bij gebruik met directe OGR-toegang is dit de laagnaam.
Standaard: 2
boog_kolom=snaar
Boog vooruit/beide richting(en) kostenkolom (getal)
boog_achterwaartse_kolom=snaar
Boog achterwaartse richting kostenkolom (getal)
knooppunt_kolom=snaar
Kolom knooppuntkosten (getal)
loop_laag=snaar
Laagnummer of naam met loopverbindingen of -1
Een enkele vectorkaart kan worden verbonden met meerdere databasetabellen. Dit nummer
bepaalt welke tabel moet worden gebruikt. Bij gebruik met directe OGR-toegang is dit de laag
naam.
Standaard: -1
route_id=naam [verplicht]
Naam van de kolom met route-ID's
Standaard: route_id
stoptijd=naam [verplicht]
Naam van de kolom met stoptijdstempels
Standaard: stoptijd
stoppen=naam [verplicht]
Naam van de kolom met stop-ID's
Standaard: stoppen
loop_lengte=naam [verplicht]
Naam van de kolom met looplengtes
Standaard: lengte
PRODUCTBESCHRIJVING
v.net.dienstregeling vindt het kortste pad tussen twee punten met behulp van dienstregelingen.
v.net.dienstregeling leest invoer, één query per regel, van de standaardinvoer en schrijft uitvoer
zowel voor de standaarduitvoer als voor de uitvoer kaart en naar tabellen gekoppeld aan lagen 1 en
2. Elke invoerregel moet een van de volgende formaten volgen:
PATH_ID FROM_X FROM_Y TO_X TO_Y START_TIME MIN_CHANGE MAX_CHANGES LOPEN_CHANGE
PATH_ID VAN_STOP NAAR_STOP START_TIME MIN_CHANGE MAX_CHANGES LOPEN_CHANGE
waarbij PATH_ID de identificatie is van een query die wordt gebruikt in de uitvoertoewijzing
onderscheid maken tussen zoekopdrachten. Zoeken begint om START_TIME. MIN_CHANGE geeft het minimum aan
aantal tijd (inclusief) voor een overstap van de ene route naar de andere. MAX_CHANGES geeft aan
het maximaal toegestane aantal wijzigingen of -1 als het oneindig is. WALK_CHANGE is afhankelijk van 1 of 0
of het lopen van een halte naar een andere halte als een verandering wordt beschouwd of niet. eindelijk, de
pad wordt gevonden van FROM_STOP naar TO_STOP in het laatste geval en vanaf de dichtstbijzijnde halte
(FROM_X, FROM_Y) coördinaten naar de halte die het dichtst bij (TO_X, TO_Y) coördinaten ligt in de voormalige
geval.
Voor elke invoerquery voert de module een beschrijving uit van het kortste pad naar de standaard
uitgang. Gebruik bijvoorbeeld de onderstaande tabellen voor de volgende invoer:
47 130 300 0 1 5 0
de volgende uitvoer wordt geproduceerd:
Route 15, vanaf 130, vertrek om 15 uur, aankomst tot 250, om 22 uur
Loop vanaf 250, vertrek om 22 en arriveer naar 300 om 24
Bovendien schrijft de module het pad naar het uitvoer kaart en slaat alle informatie op
nodig om het pad naar de tabellen te reconstrueren. Tabel die overeenkomt met stops/punten is
gekoppeld aan laag 1 en ziet er na de query als volgt uit:
cat|path_id|stop_id|index|arr_time|dep_time
1|47|130|1|0|15
2|47|250|2|22|22
3|47|300|3|24|24
waarbij CAT de categorie is van een punt op de kaart, PATH_ID de padidentificator is,
STOP_ID is de identificatie van de stop zoals gebruikt in de invoerkaart, INDEX is de index van
de halte op het pad (dwz index=1 is de eerste bezochte halte, ...) en ARR_TIME en
DEP_TIME geeft respectievelijk de aankomsttijd en vertrektijd aan. Aankomsttijd voor de
de eerste stop op het pad is altijd gelijk aan START_TIME en de vertrektijd voor de laatste stop
is altijd gelijk aan de aankomsttijd.
De tabel gekoppeld aan de tweede laag komt overeen met deelroutes tussen haltes. De
voor de bovenstaande zoekopdracht wordt de volgende tabel verkregen:
cat|path_id|from_id|to_id|route_id|index|from_time|to_time
1|47|130|250|15|1|15|22
2|47|250|300|-1|2|22|24
waarbij CAT de categorie lijnen van de subroute tussen haltes FROM_ID tot TO_ID is, is ROUTE_ID dat
de identificatie van de afgelegde route of -1 bij lopen, INDEX en PATH_ID zijn zoals hierboven en
FROM_TIME en TO_TIME geven de tijden aan waartussen de route wordt afgelegd.
De uitvoer kaart bevat de punten op de posities van gebruikte haltes. Als er een subroute wordt genomen
tussen twee haltes wordt een lijnsegment toegevoegd tussen twee overeenkomstige punten. Eindelijk,
in plaats van een recht lijnsegment kunnen de werkelijke paden van routes worden opgegeven paden laag.
Als deze parameter wordt gebruikt, moet elke regel in de invoerkaart identificatiegegevens bevatten
categorienummers van alle routes die door de lijn gaan. De module vindt vervolgens het pad
tussen twee stops en schrijft in plaats daarvan dit pad. Als u van één halte naar
er wordt een andere, rechte lijn tussen de haltes gebruikt.
OPMERKINGEN
De dienstregelingen worden opgeslagen in een tabel die aan het gegeven is gekoppeld lagen van de invoer kaart. Rooster
bestaat uit routes en elke route is slechts een reeks tussenstops met een gespecificeerde aankomst
keer. Als twee reeksen stops alleen in tijden verschillen, komen ze nog steeds overeen met twee
trajecten. Bijvoorbeeld als er een buslijn is die elke 20 minuten vertrekt en volgt
Elke keer precies hetzelfde pad, dan moet er toch voor iedereen een aparte route zijn
tijd. Voor elke stop (gegeven door het categorienummer van het punt) wordt de tabel opgeslagen
informatie over de routes moet de lijst bevatten van alle routes die stoppen bij de
stop(gegeven door route-identificatoren) samen met aankomsttijden. Dat wil zeggen, de tafel moet
bevatten drie kolommen: stop - wat de sleutel van de tabel is, route_id en stoptijd met de meeste
elke triple komt overeen met een route die aankomt bij een halte en een bepaalde tijd. Bijvoorbeeld, een
Een geldige tabel kan er als volgt uitzien:
cat|route_id|stop_time
100 | 5 | 0
130 | 5 | 10
150 | 5 | 20
250 | 5 | 30
300 | 5 | 40
260 | 15 | 5
130 | 15 | 15
250 | 15 | 22
150 | 35 | 17
250 | 35 | 27
300 | 35 | 37
100 | 35 | 50
Merk op dat stoptijd is een geheel getal en u kunt dus elke eenheid en aanbieding gebruiken om op te geven
aankomsttijden.
Ook kunnen loopverbindingen tussen haltes worden gegeven door middel van een daaraan gekoppelde tabel wandel laag
the invoer kaart. Als deze parameter -1 is, is wandelen tussen haltes niet toegestaan. De
tabel moet drie kolommen bevatten: stop - wat de sleutel van de tabel is, stoppen en
lengte. Een record in de tabel zegt dat dit nodig is lengte
tijdseenheden om van halte naar te lopen stoppen. Het volgende is een geldige tabel:
kat|lengte|tot_stop
250 | 2 | 300
Let op: dit betekent alleen dat het mogelijk is om van halte 250 naar halte 300 te lopen, maar dat is niet het geval
andersom.
Voorbeelden
Om een pad te vinden van halte met identificatienummer 130 naar halte met categorie 300, beginnend bij
tijd 0, met één tijdseenheid voor wissel, maximaal 5 wissels en bij lopen niet
beschouwd als een routewijziging, gebruiken we het volgende commando:
echo "47 130 300 0 1 5 0" | v.net.tijdschema
input=bussen output=padlaag=5 lopen=6 pad=7
Als we daarentegen de coördinaten van de plaatsen kennen, dan is het volgende commando
kan worden gebruikt:
echo "47 10.31 54.31 90.21 28.21 0 1 5 0" | v.net.tijdschema
input=bussen output=padlaag=5 lopen=6 pad=7
Gebruik v.net.timetablegrass online met behulp van onworks.net-services