Dit is de opdracht v.net.visibilitygrass 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.zichtbaarheid - Voert de constructie van zichtbaarheidsgrafieken uit.
TREFWOORDEN
vector, netwerk, kortste pad, zichtbaarheid
KORTE INHOUD
v.net.zichtbaarheid
v.net.zichtbaarheid --help
v.net.zichtbaarheid invoer=naam uitvoer=naam [coördinaten=Noord Oost] [zichtbaarheid=naam]
[--beschrijven] [--uw] [--breedsprakig] [--rustig] [--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
uitvoer=naam [verplicht]
Naam voor uitvoervectorkaart
coördinaten=Noord Oost
coördinaten
zichtbaarheid=naam
Naam van de invoervectorkaart met zichtbare punten
Voeg punten toe na het berekenen van de zichtbaarheidsgrafiek
PRODUCTBESCHRIJVING
v.net.zichtbaarheid berekent de zichtbaarheidsgrafiek van een vectorkaart met lijnen en gebieden
(grenzen) en punten. De zichtbaarheidsgrafiek is de grafiek waarbij de knooppunten het einde zijn
punt van de lijnen, grenzen of gewoon punten. Er is een rand tussen twee knooppunten als
ze zijn 'zichtbaar' voor elkaar. Twee knooppunten zijn zichtbaar als er geen segmenten in zitten
ertussen, dwz dat de rand geen enkele lijn of grens in de vectorkaart snijdt.
Dit is handig om het kortste pad in een vectorkaart vanuit twee willekeurige punten te berekenen. Te doen
Hiervoor moet u eerst de zichtbaarheidsgrafiek berekenen en daaruit de kortste berekenen
pad gebruiken v.net.pad or d.pad.
BELANGRIJK: the algoritme niet werk well with kruisend lijnen (dat omvat
overlappend)
OPMERKINGEN
Als je na het berekenen van de zichtbaarheidsgrafiek een kortste pad berekent, zul je dat merken
dit pad kan door een hoekpunt van een lijn gaan. Als dit niet is wat je wilde, zou je dat misschien kunnen doen
moet de kaart verwerken v.buffer, aanvankelijk met een kleine waarde. Voorbeeld:
v.buffer input=kaartuitvoer=gebufferde kaartbuffer=1 type=punt,lijn,gebied,grens
Het eerste argument is de invoerkaart. Het ondersteunt lijnen, grenzen (dus gebieden) en punten.
Het algoritme is namelijk zo geschreven dat het werkt met lijnen en grenzen die elkaar niet kruisen
andere (inclusief overlapping).
De resulterende kaart met de zichtbaarheidsgrafiek wordt weergegeven in de uitvoerkaart.
Als u extra punten moet toevoegen om achteraf een kortste pad ertussen te berekenen
u kunt de gebruiken coördinaten parameter, bijvoorbeeld:
coördinaten=25556200,6686400,25556400,6686600
waarbij 25556200,6686400 de coördinaat is van het eerste punt en 25556400,6686600 de
coördinaten van het tweede punt. Uiteraard kunt u zoveel punten geven als u nodig heeft. Zij
worden toegevoegd aan de zichtbaarheidsgrafiek en de randen daarvan worden berekend. Je kan altijd
voeg die punten toe na het berekenen van de zichtbaarheidsgrafiek. Gebruik gewoon de zichtbaarheid
parameter. De invoer zal de originele vectorkaart zijn, de vis zal de berekende zijn
zichtbaarheidsgrafiek en de uitvoer de nieuwe zichtbaarheidsgrafiek die de vis + de nieuwe zal zijn
punten gegeven met coördinaat (randen worden ook berekend).
v.net.visibility input=kaartzichtbaarheid=vis_map output=new_vis_map \
coördinaten=25556200,6686400,25556400,6686600
Voorbeelden
Voorbeeld 1
Een eenvoudig voorbeeld (voorbeeldgegevens uit North Carolina) dat laat zien hoe u de module kunt gebruiken:
v.extract input=zipcodes_wake output=areas_7_11_25 katten=7,11,25
g.regio vector=zipcodes_wake
d.mon wx0
d.vectorgebieden_7_11_25
v.net.visibility input=areas_7_11_25 output=grafiek
d.vector grafiek
d.vect area_7_11_25 kleur=rood type=grens
Voorbeeld 2
Een voorbeeld van hoe te gebruiken v.buffer samen met de module:
v.buffer input=lijnenuitvoer=buffered_lines buffer=1
v.net.visibility input=buffered_lines output=grafiek
d.vector grafiek
d.vect-lijnen col=rood
Voorbeeld 3
Een voorbeeld van het gebruik van de coördinatenparameter. Hiermee wordt de zichtbaarheidsgrafiek berekend
van de vectorkaartlijnen met het punt 2555678,6686343:
v.net.visibility input=lijnen output=grafiekcoördinaten=2555678,6686343
d.vector grafiek
d.vect-lijnen col=rood
Voorbeeld 4
Een voorbeeld (voorbeeldgegevens uit North Carolina) over het gebruik van de coördinaatparameter met de
vis-parameter. Hier wordt de vectorkaartgrafiek berekend en vervolgens een nieuwe zichtbaarheidsgrafiek
daaruit berekend met het punt 669547.97,208348.20 extra:
v.extract input=zipcodes_wake output=areas_7_11_25 katten=7,11,25
g.regio vector=zipcodes_wake
d.mon wx0
d.vectorgebieden_7_11_25
v.net.visibility input=zipcodes_wake output=grafiek
v.net.visibility input=zipcodes_wake zichtbaarheid=grafiek output=new_graph \
coördinaten=669547.97,208348.20
d.wissen
d.vectorgebieden_7_11_25
echo "symbool basis/ster 20 669547.97 208348.20 zwart rood" | d.grafiek -m
d.vect nieuwe_grafiek
d.vect area_7_11_25 kleur=rood type=grens
Voorbeeld 5
Een voorbeeld voor verbindingen van punten (Spearfish):
v.net.visibility input=archsites output=grafiek
g.region vector=archsites
d.mon wx0
d.vector grafiek
d.vect archsites col=rood
BEKENDE KWESTIES
In sommige gevallen, wanneer 3 punten of knooppunten collineair zijn, worden er verkeerde randen toegevoegd. Dit
komt slechts heel zelden voor en zou geen groot probleem moeten zijn. Wanneer twee punten exact zijn
dezelfde x-coördinaat en zijn zichtbaar, er zijn enkele verkeerde randen toegevoegd.
Gebruik v.net.visibilitygrass online met behulp van onworks.net-services