Dit is de opdracht r.horizongrass 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
r.horizon - Berekent de horizonhoekhoogte op basis van een digitaal hoogtemodel.
De module heeft twee verschillende werkingsmodi: 1. Berekent de gehele horizon rond a
enkel punt waarvan de coördinaten worden opgegeven met de optie 'coord'. De horizonhoogte (in
radialen). 2. Berekent een of meer rasterkaarten van de horizonhoogte in één richting.
De invoer hiervoor is de hoek (in graden), waarmee tegen de klok in wordt gemeten
oost=0, noord=90 enz. De uitvoer is de horizonhoogte in radialen.
TREFWOORDEN
raster, zonne-, zonpositie
KORTE INHOUD
r.horizon
r.horizon --help
r.horizon [-dc] elevatie=naam [richting=drijven] [stap=drijven] [begin=drijven]
[einde=drijven] [buffer zone=drijven] [e_buff=drijven] [w_buff=drijven] [n_buff=drijven]
[s_buff=drijven] [maximale afstand=drijven] [uitvoer=basisnaam] [coördinaten=Noord Oost]
[afstand=drijven] [filet=naam] [--beschrijven] [--uw] [--breedsprakig] [--rustig] [--ui]
vlaggen:
-d
Schrijf de uitvoer in graden (standaard is dit radialen)
-c
Schrijf uitvoer in kompasrichting (standaard is CCW, Oost=0)
--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:
elevatie=naam [verplicht]
Naam van invoer hoogterasterkaart
richting=drijven
Richting waarin u de horizonhoogte wilt weten
stap=drijven
Hoekstapgrootte voor multidirectionele horizon [graden]
begin=drijven
Starthoek voor multidirectionele horizon [graden]
Standaard: 0.0
einde=drijven
Eindhoek voor multidirectionele horizon [graden]
Standaard: 360.0
buffer zone=drijven
Voor horizonrasters leest u uit de DEM een extra buffer rond het huidige gebied
e_buff=drijven
Voor horizonrasters leest u vanuit de DEM een extra buffer oostwaarts naar het huidige gebied
w_buff=drijven
Voor horizonrasters leest u vanuit de DEM een extra buffer westwaarts de huidige regio
n_buff=drijven
Voor horizonrasters leest u vanuit de DEM een extra buffer noordwaarts van het huidige gebied
s_buff=drijven
Voor horizonrasters leest u vanuit de DEM een extra buffer zuidwaarts van de huidige regio
maximale afstand=drijven
De maximale afstand waarmee rekening moet worden gehouden bij het bepalen van de horizonhoogte
uitvoer=basisnaam
Naam voor uitvoer basisnaam rasterkaart(en)
coördinaten=Noord Oost
Coördinaat waarvan u de horizon wilt berekenen
afstand=drijven
Stapcoëfficiënt van de bemonsteringsafstand (0.5-1.5)
Standaard: 1.0
filet=naam
Naam van bestand voor uitvoer (gebruik output=- voor stdout)
Standaard: -
PRODUCTBESCHRIJVING
r.horizon berekent de hoekhoogte van de terreinhorizon in radialen. Het leest een raster van
hoogtegegevens en voert de horizonomtrek uit in een van de volgende twee modi:
· enkel punt: als een reeks horizonhoogten in de opgegeven richtingen vanaf de
gegeven punt. De resultaten worden naar de stdout geschreven.
· raster: in dit geval is de uitvoer één of meer rasterkaarten, met elk punt in a
raster dat de horizonhoogte in een specifieke richting weergeeft. Er wordt één raster gemaakt
voor elke richting.
De richtingen worden gegeven als azimuthoeken (in graden), waarbij de hoek begint met 0
richting het oosten en tegen de klok in bewegen (noord is 90, enz.). De berekening houdt rekening met
Houd rekening met de daadwerkelijke projectie, zodat de hoeken worden gecorrigeerd voor richtingsvervormingen
erdoor opgelegd. De richtingen zijn dus uitgelijnd met die van de geografische projectie en
niet het coördinatensysteem dat wordt gegeven door de rijen en kolommen van de rasterkaart. Deze correctie
impliceert dat de resulterende hoofdrichtingen de ware oriëntatie op de richting vertegenwoordigen
Oost, Noord, West en Zuid. De enige uitzondering op deze functie is LOCATION met x,y
coördinatensysteem, waar deze correctie niet wordt toegepast.
De -c vlag, worden de azimuthoeken afgedrukt in kompasrichting (Noord=0,
met de klok mee).
Invoer parameters:
De elevatie parameter is een rasterkaart met ingevoerde hoogte. Als de bufferopties worden gebruikt
(zie hieronder), zou dit raster zich moeten uitstrekken over het gebied dat momenteel geschikt is
gedefinieerde regio plus gedefinieerde bufferzones.
De stap parameter geeft de hoekstap (in graden) tussen opeenvolgende azimuts
aanwijzingen voor de berekening van de horizon. Dus een waarde van 5 voor de stap zal een
totaal van 360/5=72 richtingen (72 rasterkaarten indien gebruikt in de rasterkaartmodus).
De begin parameter geeft de hoekbegin (in graden) voor de berekening van de horizon.
De standaardwaarde is 0 (Oost waarbij Noord 90 is enz.).
De einde parameter geeft het hoekeinde (in graden) voor de berekening van de horizon. De
eindpunt is weggelaten! Dus als we bijvoorbeeld r.horizon uitvoeren met step=10, start=30 en
end=70 de rasterkaarten gegenereerd door r.horizon zijn alleen voor hoeken: 30, 40, 50, 60. De
standaardwaarde is 360.
De richting parameter geeft de initiële richting van de eerste uitvoer. Deze parameter
fungeert als een richtingshoekverschuiving. Als u bijvoorbeeld horizonhoeken wilt verkrijgen
richtingen 45 en 225 graden, de richting moet worden ingesteld op 45 en stap tot 180. Als jij
Als u slechts één enkele richting wilt, gebruikt u deze parameter om de gewenste richting van de horizon op te geven
hoek en stel de in stap grootte tot 0 graden. Anders alle hoeken voor een gegeven start
richting met stap van stap worden berekend.
De afstand regelt de stapgrootte van de bemonsteringsafstand voor het zoeken naar horizon langs de
gezichtsveld. De standaardwaarde is 1.0, wat betekent dat de stapgrootte wordt overgenomen van de
rasterresolutie. Als u de waarde lager dan 1.0 instelt, kunnen de resultaten enigszins verbeteren
andere richtingen dan de hoofdrichtingen, maar verhoogt de verwerkingslast van de zoekopdracht
algoritme.
De maximale afstand waarde geeft een maximale afstand aan die vanaf de oorsprong langs de lijn mag worden verplaatst
gezichtsveld om de horizonhoogte te zoeken. De standaard maximale afstand is de volledige
kaart omvang. Hoe kleiner deze waarde, hoe sneller de berekening, maar hoe groter het risico
dat u mogelijk een terreinelement mist dat aanzienlijk kan bijdragen aan de horizon
overzicht. Merk op dat een viewshed kan worden berekend met r. bekeken.
De coördineren parameter neemt een paar oost-noord-waarden aan in de huidige coördinaat
systeem en berekent de waarden van de hoekhoogte van de horizon rond dit punt. Naar
Om de consistentie van de resultaten te bereiken, wordt de puntcoördinaat uitgelijnd op het middelpunt van
de dichtstbijzijnde hoogterastercel.
Als een geanalyseerd punt (of rastercel) dicht bij de rand van het gedefinieerde gebied ligt, wordt de
De berekening van de horizon is mogelijk niet realistisch, omdat er mogelijk geen significant terrein zichtbaar is
kenmerken die aan de horizon hadden kunnen bijdragen, omdat deze kenmerken zich buiten de horizon bevinden
de regio. Er zijn twee opties voor het instellen van de grootte van de buffer die wordt gebruikt
vergroot het gebied van de horizonanalyse. De buffer zone parameter kunt u opgeven
dezelfde buffergrootte voor alle windrichtingen en de parameters e_buff, n_buff,
s_buff en w_buff kunt u voor elk van de vier afzonderlijk een buffergrootte opgeven
routebeschrijving. De bufferparameters beïnvloeden alleen de grootte van de gelezen hoogtekaart, terwijl de
analyse in de rastermodus wordt alleen uitgevoerd voor het gebied dat is opgegeven door de huidige regio
definitie.
De basisnaam parameter geeft de basisnaam van de rasterkaarten met uitvoerhorizon. Het raster
naam van elk horizonrichtingraster zal worden geconstrueerd als basisnaam_HOEK, waarbij HOEK
is de hoek in graden met de richting. Als je gebruikt r.horizon in de single point-modus
deze optie wordt genegeerd.
De uitvoer parameter maakt het mogelijk de resulterende horizonhoeken op te slaan in een door komma's gescheiden ASCII
bestand (alleen single point-modus). Als je gebruikt r.horizon in de rasterkaartmodus deze optie
zal worden genegeerd.
Op dit moment moeten de hoogte en de maximale afstand in meters worden gemeten, ook als u dat doet
gebruik geografische coördinaten (lengte-/breedtegraad). Als uw projectie op afstand is gebaseerd
(oost en noord), ook deze moeten in meters zijn. De bufferparameters moeten zich in de
dezelfde eenheden als de rastercoördinaten (voor lengte- en breedtegraadlocaties zijn dat bijvoorbeeld buffers).
gemeten in gradeneenheid).
METHODE
De berekeningsmethode is gebaseerd op de methode die wordt gebruikt in r.zon schaduwen berekenen. Het
begint in een zeer ondiepe hoek en loopt langs de gezichtslijn en vraagt bij elke stap
of de zichtlijn het terrein "raakt". Als dat zo is, wordt de hoek vergroot om de
zichtlijn om op dat punt net boven het terrein te passeren. Dit wordt voortgezet tot en met
De gezichtslijn bereikt een hoogte die hoger is dan enig punt in de regio of tot daar
bereikt de grens van de regio (zie ook de bufferzone,e_buff, n_buff, s_buff en
w_buff). Het aantal zichtlijnen (azimutrichtingen) wordt bepaald op basis van de
richting en stap parameters. De methode houdt rekening met de kromming van de aarde
waarbij externe functies lager lijken dan ze in werkelijkheid zijn. Het is ook verantwoord
de hoekveranderingen in de richting van hoofdrichtingen veroorzaakt door de projectie (zie hierboven).
Voorbeelden
De voorbeelden zijn bedoeld voor de voorbeeldgegevensset van North Carolina.
Enkele punt mode
Voorbeeld 1: bepaal de horizonhoek in een richting van 225 graden (uitvoer van horizonhoeken CCW
vanuit het oosten):
g.regio raster=elevatie -p
r.horizon hoogte=hoogterichting=215 stap=0 bufferzone=200 \
coördinaten=638871.6,223384.4 maximale afstand=5000
Voorbeeld 2: horizonwaarden bepalen vanaf 90 graden (noord), stapgrootte van 5 graden, besparing
resultaat als CSV-bestand:
r.horizon hoogte=hoogterichting=90 stap=5 bufferzone=200 \
coördinaten=638871.6,223384.4 maxdistance=5000 bestand=horizon.csv
Voorbeeld 3: testpunt nabij snelwegkruising, resultaat opslaan als CSV-bestand voor plotten
de horizon rond het snelwegkruispunt:
g.regio n=223540 s=220820 w=634650 e=638780 res=10 -p
r.horizon hoogte=hoogterichting=0 stap=5 bufferzone=200 \
coördinaten=636483.54,222176.25 maxdistance=5000 -d bestand=horizon.csv
Testpunt nabij kruispunt van snelwegen (voorbeeldgegevensset uit North Carolina)
Horizonhoeken voor testpunt (CCW vanuit oost)
We kunnen de horizon in poolcoördinaten plotten met behulp van Matplotlib in Python:
numpy importeren als np
matplotlib.pyplot importeren als plt
horizon = np.genfromtxt('horizon.csv', scheidingsteken=',')
horizon = horizon[1:, :]
ax = plt.subplot(111, polair=True)
staven = ax.plot(horizon[:, 0] / 180 * np.pi,
(90 - horizon[:, 1]) / 180 * np.pi)
# verwijder de commentaartekens op de 2 volgende regels bij gebruik van de vlag -c
# ax.set_theta_direction(-1)
# ax.set_theta_zero_location('N')
plt.show ()
Horizonplot in poolcoördinaten.
Raster kaart mode
Rasterkaartmodus (uitvoerkaarten "horangle*" worden invoer voor r.zon):
# we plaatsen een bufferzone van 10% van de maximale afstand rond het studiegebied
# bereken alleen de richting tussen 90 en 270 graden
r.horizon hoogte=hoogtestap=30 start=90 eind=300 \
bufferzone=200 output=horangle maxdistance=5000
REFERENTIES
Hofierka J., 1997. Modellering van directe zonnestraling binnen een open GIS-omgeving.
Proceedings of JEC-GI'97-conferentie in Wenen, Oostenrijk, IOS Press Amsterdam, 575-584
Hofierka J., Huld T., Cebecauer T., Suri M., 2007. Open source zonnestralingshulpmiddelen voor
Milieu- en hernieuwbare energietoepassingen, internationaal symposium over milieu
Softwaresystemen, Praag, 2007
Neteler M., Mitasova H., 2004. Open Source GIS: een GRASS GIS-benadering, Springer, New York.
ISBN: 1-4020-8064-6, 2e editie 2004 (herdrukt 2005), 424 pagina's
Project PVGIS, Europese Commissie, DG Gemeenschappelijk Centrum voor Onderzoek 2001-2007
Suri M., Hofierka J., 2004. Een nieuw op GIS gebaseerd zonnestralingsmodel en de toepassing ervan voor
Fotovoltaïsche beoordelingen. Transacties in GIS, 8(2) 175-190
Gebruik r.horizongrass online met behulp van onworks.net-services