Meer

ArcMap Python-vraag: Proberen om hellingspercentage te berekenen in tekst

ArcMap Python-vraag: Proberen om hellingspercentage te berekenen in tekst


Ik heb een laag polygonen die ik ruimtelijk heb samengevoegd tot een raster om een ​​laag met hellingspercentages aan te wijzen. Mijn polygonen hebben nu het hellingspercentage in een veld met de naam Avg_point. Ik wil de veldcalculator gebruiken om dat percentage te nemen (zoiets als 22,345 of 56,45 enz.) en er een tekst van te maken in het veld "helling" (dat al in de laag polygonen zat) en ik wil dat die tekst zegt zoiets als "steil (>25%)"

Dus ik schreef een script

SLOPE=hellingcorrect(!SLOPE!, !Avg_grid_code!)

PreLogic:

def slopecorrect(helling, avg): indien avg > 25: return Steep

Ik krijg geen fouten, maar mijn "helling"-veld wordt gewoon ingevuld Ik heb andere dingen geprobeerd, maar ik krijg het niet voor elkaar om dat veld in te vullen

Ik heb wat rondgekeken en dacht dat deze draad nuttig was, maar het levert nog steeds geen resultaten op ArcMap Bereken veld... als "tekst" in !Veld!


def slope_correct(slope, avg): if avg > 25: return "holly crap" elif 0 < avg <= 25: return "easy peasy" else: return "unknown"

Hoe vectorpijlen genereren die voldoen aan een rasterhellinglaag?

Ik zou graag vectorpijlen willen genereren die overeenkomen met de topografie/helling van een rastergegevensset van een stroomgebied van een rivier.

Ik heb een visnetraster gemaakt van punten in ArcGIS en ik zou graag een enkele pijl maken voor elk punt van een ingestelde lengte die de vorm van de helling volgt, dwz volg het pad van de minste weerstand, de lijn zal geleidelijk kleine getallen volgen in een 3 x 3 rooster.

Ik denk dat ik de vectorpijlen kan genereren met behulp van vectorplot. Is het mogelijk om de lijnen te krijgen die in overeenstemming zijn met het raster?

200.000 lijnen die ik heb gegenereerd uit een raster van punten. Ik ga deze in een raster veranderen met R en stel het in op dezelfde resolutie als mijn hellingsraster.

Enig idee hoe ik de rasterlijnen op de helling kan leggen, zodat ik de lijnen de laagste waarden van de helling kan laten volgen?


Online basiskaarten gebruiken de 'Web Mercator'-projectie, maar de 'Mercator'-projectie wordt gebruikt voor navigatie. Een rechte lijn op de kaart is de peiling om een ​​vliegtuig of een boot te besturen van het startpunt naar de bestemming, maar dit verstoort de afstand en het gebied ernstig.

Hieronder volgen mogelijke oplossingen voor het probleem.

Wijs een meer geschikte projectie toe aan het ArcMap-gegevensframe

Raadpleeg het volgende artikel, Selecteer een geschikte kaartprojectie of coördinatensysteem, voor meer informatie. Het artikel is gekoppeld aan de Projections Table, die alle ondersteunde kaartprojecties in ArcGIS for Desktop en hun eigenschappen vermeldt.

Pas de geselecteerde projectie toe op het ArcMap-gegevensframe

  1. Navigeren naar Bekijk > Eigenschappen gegevensframe > Tabblad Coördinatensysteem > Geprojecteerde Coördinatensystemen.
  2. Zoek de gewenste projectie die de meest nauwkeurige resultaten oplevert.
  3. Klik Van toepassing zijn en OK.

Verkrijg de nauwkeurige berekeningsuitvoer

  1. Navigeer in de attributentabel naar Tabel Optiesen selecteer Veld toevoegen. Maak een Dubbele veld en wijs een naam toe zonder spaties en niet meer dan 10 tekens lang. Bijvoorbeeld een naam als Area_sqkm is geschikt om oppervlakten in vierkante kilometers op te slaan.
  2. Klik met de rechtermuisknop op de veldkop en selecteer Bereken geometrie.
  3. In de Bereken geometrie dialoogvenster, selecteer de optie Gebruik het coördinatensysteem van het dataframeen selecteer de gewenste eenheden als vereiste. De berekende waarde wordt weergegeven in de attributentabel.


Gebruik van %

Het antwoord van Brian (een aangepaste functie) is in het algemeen het juiste en eenvoudigste om te doen.

Maar als jij werkelijk wilde een numeriek type definiëren met een (niet-standaard) '%'-operator, zoals bureaucalculators doen, zodat 'X% Y' X * Y / 100.0 betekent, dan kun je vanaf Python 2.6 de mod() exploitant:

Dit kan gevaarlijk zijn als u ooit de operator '%' gebruikt in een combinatie van MyNumberClasswithPct met gewone gehele getallen of floats.

Wat ook vervelend is aan deze code, is dat je ook alle 21 andere methoden van een Integraal of Echt moet definiëren, om de volgende vervelende en obscure TypeError te voorkomen wanneer je het start


Invoering

Hoewel weguitlijning wordt gebruikt in veel verkeersveiligheidsgerelateerde onderzoeken, ontbreekt vaak informatie over de vraag of een wegsegment een bocht of een raaklijn is in de oorspronkelijke wegennetwerkdatabases. Het identificeren van horizontale bochten uit wegennetgegevens is nog steeds een tijdrovend en foutgevoelig proces. Bovendien kan dergelijk werk, wanneer het handmatig wordt afgeleid, in de toekomst niet worden gereproduceerd. Op dit moment wordt een grote hoeveelheid wegennetgegevens opgeslagen in GIS, met een voldoende ruimtelijke precisie om geautomatiseerde gegevensverwerking mogelijk te maken. Er bestaat daarom vraag naar een volledig geautomatiseerd hulpmiddel voor het extraheren van weguitlijningen uit digitale gegevens (bijv. [1, 2, 3]).

Een gebrek aan gegevens over weguitlijning en de noodzaak om de weggeometrie handmatig te identificeren, is naar alle waarschijnlijkheid de oorzaak van het relatief lage aantal individuele horizontale bochten dat in de meeste onderzoeken wordt gebruikt. McBean [4] had bijvoorbeeld slechts 100 horizontale curven bij het werken met gegevens uit Groot-Brittannië, evenals Othman al. [5] bij het bestuderen van de veiligheidsprestaties van horizontale bochten uit naturalistische rijgegevens. Fitzpatrick et al. [6] werkte met 260 bochten. Fink en Krammes [7] en Persaud et al. [8] gebruikten een groter aantal gegevens, meer dan 500. Zegeer et al. [9], Sakshaug [10] en Khan et al. [11] had meer dan 10.000 bochten. De informatie over de weggeometrie haalden ze uit de nationale wegendatabases. De meeste rijkswegendatabases bevatten dergelijke informatie doorgaans niet voor het hele netwerk.

Eerder werk aan geautomatiseerde identificatie van horizontale curven uit digitale gegevens

Er is momenteel geen volledig automatisch hulpmiddel dat in staat is om horizontale krommen en raaklijnen nauwkeurig te identificeren uit digitale vectorgegevens. Halfautomatische identificatie is een veelgebruikte aanpak [12, 13]. Een expert bepaalt de eindpunten van een horizontale curve op een scherm en de straal en lengte worden vervolgens automatisch berekend. Deze aanpak is echter niet geschikt voor grote datasets. De “Curve Calculator” [14] is een typische vertegenwoordiger van deze methoden.

Xu en Wei [3] presenteerden een methode gebaseerd op azimutberekening voor elk wegknooppunt. Zij stellen dat werken met GIS de meest effectieve manier is vanuit zowel tijds- als economisch perspectief, bij het analyseren van grote datasets. Li et al. [1] hebben een volledig geautomatiseerde methode ontwikkeld voor een GIS die de "peilhoek" berekent. Ze hanteerden een drempel bij het kiezen tussen horizontale krommen en raaklijnen. Li et al. [1] verklaarde dat “Naast deze halfautomatische aanpak, er is geen literatuur gevonden die een volledig automatische methode documenteert. daarom, CurveFinder is echt innovatief en uniek door de middelen te bieden om automatisch de locatie van de bocht en geometrische informatie te verkrijgen uit GIS-wegenkaarten. We zullen hier een benadering presenteren die beter presteert dan CurveFinder, omdat onze benadering niet alleen de peilingshoek gebruikt om te beslissen of een wegvertex tot een horizontale curve of tot een raaklijn behoort, maar ook vijf andere verklarende variabelen (EV's) van weggeometrie en een classificatie procedure in plaats van een eenvoudige drempel (zie de sectie Methoden hieronder voor details).

Crashmodificatiefactoren voor horizontale bochten in verschillende landen

Crashmodificatiefactoren (CMF's) voor horizontale bochten behoren tot de meest toegepaste velden waar weggeometrie wordt gebruikt. We hebben deze applicatie geselecteerd om de prestaties van de ROCA-software te demonstreren binnen verkeersveiligheidsgerelateerde studies.

Jurewicz en Pyta [15] werkten met horizontale curven die eerder in drie groepen waren ingedeeld. Zij concludeerden dat als het aantal ongevallen in bochten met een straal van meer dan 1500 m gelijk wordt gesteld aan 1, de corresponderende waarden 1.422 waren voor bochten met een straal tussen 600 en 1500 m en 2.437 voor bochten met een straal kleiner dan 600 m . Persaud et al. [8] gebruikten gegevens over horizontale bochten met stralen tussen 87 en 1150 m in hun onderzoek naar de identificatie van gevaarlijke bochten op snelwegen. Ze vonden de 15 slechtste curven met het hoogste risico op basis van de berekening van de Empirical Bayes Estimate. Elvik [16] presenteerde een metastudie over CMF's op basis van gegevens uit verschillende eerder gepubliceerde onderzoeken uit verschillende landen. Ongevallenrisico's op curven, in relatie tot de lengte van de voorgaande raaklijn, zijn ook een focus van onderzoek (bijv. [17, 18]), evenals ongevalsrisicoverschillen tussen horizontale curven en raaklijnen (bijv. [19, 20] ).

Het doel van dit werk is om de ROCA-software te presenteren die in staat is om de efficiëntie van het verkeersveiligheidsgerelateerd onderzoek waar informatie over de geometrie van wegsegmenten vereist is, aanzienlijk te verhogen.


6 antwoorden 6

Hier is een opschoning van uw functie, maar het doet waarschijnlijk niet wat u wilt dat het doet. Momenteel krijgt het het gemiddelde van alle waarden in alle kolommen:

Ik zou de csv-module gebruiken (die het ontleden van csv gemakkelijker maakt), met een Counter-object om de kolomtotalen te beheren en een contextmanager om het bestand te openen (geen behoefte aan close() ):

Allereerst, zoals mensen zeggen: het CSV-formaat ziet er eenvoudig uit, maar het kan behoorlijk niet-triviaal zijn, vooral als er snaren in het spel komen. monnik heeft je al twee oplossingen gegeven, de opgeschoonde versie van je code, en nog een die de CSV-bibliotheek gebruikt. Ik geef nog een andere optie: geen bibliotheken, maar veel idiomatische code om op te kauwen, die je gemiddelden voor alle kolommen tegelijk geeft.

Dingen om op te merken: In uw code is f een bestandsobject. Je probeert het te sluiten nadat je de waarde al hebt geretourneerd. Deze code wordt nooit bereikt: er wordt niets uitgevoerd nadat een retour is verwerkt, tenzij je een poging hebt gedaan. eindelijk construeren, of met constructie (zoals ik gebruik - waarmee de stream automatisch wordt gesloten).

map(f, l) , of equivalent [f(x) voor x in l] , maakt een nieuwe lijst waarvan de elementen worden verkregen door functie f toe te passen op elk element op l .

f(*l) zal de lijst l "uitpakken" voordat de functie wordt aangeroepen, waarbij functie f elk element als een afzonderlijk argument wordt gegeven.


2 antwoorden 2

Ik vond de volgende afbeelding van een uitgangskenmerk op Wikipedia (merk op dat de y-as log-schaal is, dus de afvoerstroom bereikt nooit nul). Ik ben niet bekend met TFET's, maar als het principe vergelijkbaar is met dat van CMOS, komt het wel goed.

De AAN-stroom zou de stroom zijn die je behaalt bij een logische "hoge" poortspanning. Deze hoge spanning is afhankelijk van het proces dat u gebruikt. Evenzo zou de UIT-stroom de afvoerstroom zijn met een logische "lage" poortspanning. De verhouding, stel ik me voor, is dan de verhouding van deze twee stromen. Beide curven zijn gemeten bij een constante afvoer-bronspanning, en als u het worstcasescenario wilt meten, wilt u misschien een paar curven meten.

U hoeft dus alleen maar te weten:

Uit welk soort curves je deze cijfers haalt, maakt niet uit.


Is er een vervanging voor het gebruik van een InsertCursor om naar een tabel te schrijven?

Ik begrijp een beetje meer *wat* er gebeurt waardoor mijn code crasht, maar ik weet niet precies waarom, omdat mijn CompSci-Fu erg zwak is. Blijkbaar is er een probleem met mijn code die vergeet om lees-/schrijftoegang te vragen, en dit gebeurt hoogstwaarschijnlijk vanwege een probleem in de onderliggende C-code van de arcpy-functies. Ik heb PyCharm-debugger tot mijn beschikking, maar ik weet niet echt waar ik naar moet zoeken in de debugger om erachter te komen wat ik moet veranderen om mijn code gelukkig te maken.

Ik zou heel graag *niet* mijn code willen veranderen, maar ik weet niet zeker of ik een optie heb, tenzij ik een professionele tussenkomst heb.

Mijn code crasht op twee plaatsen: ergens tussen regel 368 en 371 met verschillende aantallen herhalingen door de buitenste lus OF het crasht na regel 381 wanneer de tabel is geconverteerd naar Excel en opgeslagen, maar voordat de code vanzelf is voltooid.

Het crasht met de volgende melding in de console: Proces voltooid met afsluitcode -1073741819 (0xC0000005)

Heeft u suggesties voor mij? Ik heb het niet nodig om een ​​tussenstap te hebben als een GIS-tabel. Ik kan het rechtstreeks naar een CSV of Excel schrijven, denk ik. Ik maak me zorgen omdat de waarden die ik schrijf komma's bevatten en ik wil niet dat dit de CSV verpest. Ik aarzel ook om een ​​bibliotheek van derden te introduceren vanwege het onderhoud van de code.


Beslissen en implementeren van een trending-algoritme in Django

Ik heb een Django-applicatie waarin ik een eenvoudig trending/ranking-algoritme moet implementeren. Ik ben erg verloren als een:

Ik heb twee modellen, Book en Reader. Elke avond worden er nieuwe boeken aan mijn database toegevoegd. Het aantal lezers voor elk boek wordt ook elke nacht bijgewerkt, d.w.z. één boek heeft meerdere statistiekrecords voor lezers (één record voor elke dag).

Over een bepaalde periode (afgelopen week, afgelopen maand of afgelopen jaar) wil ik de meest populaire boeken op een rij zetten, welk algoritme moet ik hiervoor gebruiken?

De populariteit hoeft op geen enkele manier realtime te zijn, omdat het aantal lezers voor elk boek slechts dagelijks wordt bijgewerkt.

Ik vond een artikel waarnaar werd verwezen in een ander SO-bericht dat liet zien hoe ze trending Wikipedia-artikelen berekenden, maar het bericht liet alleen zien hoe de huidige trend werd berekend.

Zoals iemand op SO opmerkte, is het een heel eenvoudig basislijntrendalgoritme en berekent het alleen de helling tussen twee gegevenspunten, dus ik denk dat het de trend tussen gisteren en vandaag laat zien.

Ik ben niet op zoek naar een zeer complex trending-algoritme zoals dat wordt gebruikt op Hacker News, Reddit, enz.

Ik heb slechts twee gegevensassen, het aantal lezers en de datum.

Om het even welke ideeën over wat en hoe ik zou moeten uitvoeren. Voor iemand die nog nooit met statistiek/algoritmen heeft gewerkt, lijkt dit een zeer ontmoedigende onderneming.


4.1. Tijd van concentratie

De concentratietijd is de tijd die nodig is voor overtollige regen om van het meest afgelegen punt van het bassin naar de uitlaat te reizen. Aan het einde van deze tijd zal het hele bassin bijdragen aan de stroming bij de uitlaat. In de literatuur zijn verschillende vergelijkingen beschikbaar voor het berekenen van de concentratietijd (ASCE, 1996). Na overweging van de beschikbaarheid van parameters wordt de volgende SCS-vergelijking gekozen voor deze studie.

Waar, Tc is de tijd van concentratie in minuten, L is het langste stroompad van het bassin in voet, CN is de gemiddelde waarde van het curvenummer van het stroomgebied en zo is de gemiddelde helling van het stroomgebied. Het langste stroompad is de maximale waarde van Flowlength Grid ( FlGrid ). Zoals beschreven in de volgende sectie, vertegenwoordigt de FlGrid de reisafstand van elke cel in het bassin naar de uitlaat. In deze studie worden twee FlGrids berekend: voor gewichtsconditie en geen gewichtsconditie. De gemiddelde CN-waarde van het bekken werd bepaald op 76. De gemiddelde helling van het stroomgebied is afgeleid van het hellingsraster (SGrid) van het bekken, dat wordt verkregen uit DEM. Na het knippen van SGrid met de grens van het stroomgebied, wordt de gemiddelde waarde van het geknipte SGrid bepaald als 0,3327. Door deze waarden in vergelijking 1 in te voegen, wordt de concentratietijdwaarde van Ulus Basin verkregen als 8113,6 minuten voor de conditie van het gewichtsraster en 450,8 minuten voor de conditie zonder gewichtsraster.

4.2. Opslag dempingscoëfficiënt

De opslagverzwakkingscoëfficiënt, die het opslageffect van het stroomkanaal weergeeft, wordt berekend op basis van een waargenomen overstromingshydrografie van het stroomgebied. Zoals beschreven in figuur 4, wordt R grafisch berekend als de verhouding van het volume onder de hydrograaf na het tweede buigpunt (onder de recessiecurve) tot de waarde van de stroming op het buigpunt (POI) (HEC, 1982).

De waargenomen overstromingshydrografie van het bekken is verkregen van State Hydraulic Works of Turkey, het is de storm, die plaatsvond op 23-25 ​​juli 1995. Met behulp van vergelijking 2 wordt de opslagcoëfficiënt verkregen als 410,1 minuten.

Figuur 4. Berekening van de opslagverzwakkingscoëfficiënt (R)

4.3. Histogram tijdgebied

Het gebied van het bassin is verdeeld in reistijdzones. Elke zone vertegenwoordigt het deel van het bassin dat de overtollige regenval van de unit met een bepaald tijdsinterval afvoert naar de uitlaat. De plot van deze gebieden met betrekking tot overeenkomstige tijdsintervallen geeft het tijdgebiedhistogram van het bassin. Het is de belangrijkste parameter van de methodologie, omdat het de afvoerreactie van het bassin op de regenval bij de uitlaat weerspiegelt.

Het 10 x 10 m celformaat digitale hoogtemodel van het bassin wordt gebruikt voor het bepalen van het tijd-gebiedhistogram. Hiervoor wordt eerst de stromingsrichting van elke cel gevonden. Door de stroomrichting te volgen, wordt de reisafstand van de stroom van elke cel naar de afvoer van het bassin berekend. Deze afstanden worden omgezet in reistijdwaarden. Ten slotte wordt door het aantal cellen naar oppervlakte te converteren, het histogram van het tijdgebied afgeleid. Deze stappen worden in de volgende secties uitgelegd.

Zoals beschreven in figuur 3, wordt, om de tijd-gebiedgrafiek van Ulus Basin te verkrijgen, eerst het stroomlengteraster (FlGrid) van het stroomgebied ontwikkeld. Het FlGrid vertegenwoordigt voor elke cel de totale reislengte van de waterdruppel van die cel naar de afvoer van het bassin in de stromingsrichting. Vereiste invoer voor berekening zijn stroomrichtingraster (FdGrid) en gewichtsraster (WGrid), waarbij het gebruik van een gewichtsraster optioneel is.

In een vierkante rasteromgeving is elke rastercel omgeven door acht cellen. Zoals beschreven in figuur 5, kan de stroomrichting vanuit een cel worden weergegeven door een getal toe te wijzen dat een van de acht richtingen vertegenwoordigt. Met behulp van GIS-tools wordt de stroomrichtingswaarde van elke cel in het bassin berekend uit de DEM van het bassin, waarna een raster met deze waarden wordt verkregen en wordt genoemd als stroomrichtingsraster, FdGrid.

De stroomsnelheid in een gebied zal verschillen afhankelijk van de topografie en de landgebruiksomstandigheden. Water zal langzaam stromen op een milde helling of over een dichte weidegebied en sneller op een kaal land. Om de impedantie of weerstand van de cel tegen de stroming weer te geven, kan een rooster worden gemaakt. De waarde bij elke cel in dit raster vertegenwoordigt de weerstand per afstandseenheid om door de cel of het gewicht van die cel te stromen. Het raster met waarden die het gewicht van elke cel vertegenwoordigen, wordt genoemd als gewichtsraster ( WGrid ).

Na het bepalen van de stroomrichting van een cel naar een van de aangrenzende acht cellen, wordt de hellingsafstand tussen de hartlijnen van deze cellen berekend. Vervolgens wordt deze afstand vermenigvuldigd met de WGrid-waarde van de eerste cel om de gewogen afstandswaarde tussen deze twee cellen te verkrijgen. Ten slotte worden de FlGrid-celwaarden verkregen door deze waarden langs het stroompad naar de uitlaat voor elke cel op te tellen. Zoals eerder vermeld, is het gebruik van WGrid bij de berekening van FlGrid optioneel. In dit onderzoek wordt naast de conditie van het gewichtsraster ook geen conditie van het gewichtsraster geanalyseerd. Voor de eerste wordt een gewichtsraster gemaakt zoals hieronder beschreven en gebruikt met het stroomrichtingraster voor het berekenen van het stroomlengteraster. Voor de laatste wordt alleen het stroomrichtingraster gebruikt bij de berekening, waarbij het gewicht van elke cel als hetzelfde en gelijk aan 1 wordt geaccepteerd.

4.3.2. Gewichtsraster: van toepassing van Manning's vergelijking voor: Overlandstroom

De vergelijking van Manning (vergelijking 3), die vaak wordt gebruikt in de vloeistofmechanica, is ook van toepassing op stroming over land. In deze studie wordt de snelheidsvergelijking van Manning gebruikt om het snelheidsraster genaamd VGrid te berekenen. Het raster geeft de stroomsnelheid in elke cel weer. Om een ​​snelheidsraster te verkrijgen, worden alle parameters van de vergelijking (n, R en S) opgesteld in de vorm van rasters en ingevoegd in vergelijking 3 zoals gegeven in vergelijking 4.

Het raster, dat waarden bevat die de ruwheid van Manning vertegenwoordigen, wordt nGrid genoemd en wordt bepaald als een functie van vegetatietype of landgebruik. Het hellingsraster van het bassin is afgeleid van DEM van het gebied en wordt SGrid genoemd. Voor open kanalen is de hydraulische straal de verhouding van het stromingsoppervlak tot de bevochtigde omtrek, maar voor stroming over land wordt dit geaccepteerd als de stromingsdiepte. Het raster met hydraulische straalwaarden voor stromen en stromingsdiepte voor de andere delen van het bassin wordt RGrid genoemd. De Manning-vergelijking geeft VGrid-waarden die de stroomsnelheid in elke cel vertegenwoordigen.

Manning's ruwheidscoëfficiënt voor stroming over land

De ruwheidscoëfficiënt is de belangrijkste parameter van de Manning-vergelijking. Het hangt af van de vegetatiebedekking of het type landgebruik van het gebied. Tabellen met n-waarden voor verschillende soorten landgebruik zijn beschikbaar in de literatuur. De ruwheidswaarden voor het Ulus-bekken worden geselecteerd met behulp van de landgebruikskaart van het bekken en coëfficiënttabellen die zijn opgesteld voor gebruik in de Manning-vergelijking voor overlandstroming (Fleckenstein, 1998), die worden gegeven in Tabel 1. Vervolgens van de landgebruikskaart een ruwheidscoëfficiëntkaart van het bekken wordt afgeleid met behulp van de waarden van tabel 1. Deze kaart wordt vervolgens geconverteerd naar een raster met een resolutie van 10 m en genoemd als nGrid.

Tabel 1. Manning's ruwheidscoëfficiënten voor landgebruiktypes

Hydraulische straal voor stromen en stroming over land

De tweede parameter van de Manning-vergelijking is de waarde van de hydraulische straal. Voor open kanalen wordt de hydraulische straal berekend uit de verhouding van het stroomgebied tot de bevochtigde omtrek van het kanaal. Maar om het snelheidsraster van het hele bassin te verkrijgen, moeten naast stroomgeulen ook hydraulische straalwaarden van de overlandgebieden worden toegekend. Er wordt een raster met de naam RGrid gemaakt dat de hydraulische straalwaarde van elke cel in het bassin weergeeft. In deze studie wordt voor twee gevallen rekening gehouden met de hydraulische straal in de vergelijking van Manning.

een) Over land stroom: Bij open-kanaalhydrauliek is het bekend dat de hydraulische straal van brede rechthoekige kanalen kan worden aanvaard als de stromingsdiepte. De cellen in de RGrid die geen stroomkanalen vormen, worden geaccepteerd als stroomgebieden over land. Op overlandstroomgebieden zal een dunne laag stroming ontstaan, waar deze cellen als brede kanalen kunnen worden behandeld. Aangezien een unit-hydrograaf aan het einde van het onderzoek moet worden geëvalueerd, wordt een afvloeiingsdiepte van 1 mm (0,001 m) genomen als de stroomdiepte.

b) stromen: Hydraulische straal van open kanalen wordt berekend op basis van de geometrie van het kanaal. Maar in een rastergebaseerde weergave van de topografie is het moeilijk in te schatten welke cellen stroombedden vormen. Hiervoor wordt gebruik gemaakt van het stroomaccumulatierooster, genaamd FaGrid , van het bassin. FaGrid wordt berekend uit de FdGrid die wordt verkregen uit DEM van het bassin. Elke celwaarde van FaGrid geeft het aantal cellen aan dat al hun oppervlaktewater aan die cel geeft. Vervolgens wordt het riviernetwerk geëxtraheerd door de cellen te accepteren als stroombeddingen die een FaGrid-waarde hebben die groter is dan een vooraf gedefinieerde drempelwaarde, die in deze studie als 1000 wordt geaccepteerd (Usul, 2002). Op een DEM met roosters van 10 x 10 m vertegenwoordigen 1000 cellen een stroominitiatiegebied van 0,10 km2 en vormen de cellen met een drainagegebied groter dan 0,10 km2 het stroomnetwerk. Na het definiëren van de stromen worden de hydraulische straalwaarden van deze cellen geschat. In een soortgelijk onderzoek (Fleckenstein 1998) dat gebruik maakt van de vergelijking van Manning met een resolutie van 30x30 m, worden de R-waarden uit tabel 2 gebruikt. De stroominitiatiedrempelwaarde die in dat onderzoek werd gebruikt, is 100 cellen. Vervolgens wordt, zoals beschreven in Tabel 2, het aantal cellen dat stromen vormt in vier groepen gerangschikt volgens hun stroomaccumulatiewaarden, en wordt aan elke groep een enkele hydraulische straalwaarde toegewezen. Op de 30x30 m DEM vertegenwoordigen 100 cellen een stroominitiatiegebied van 0,09 km2. Als we deze studiewaarde accepteren die dicht genoeg bij de waarde ligt die is geselecteerd voor Ulus Basin, worden dezelfde hydraulische straalwaarden gebruikt in deze studie en wordt een raster gevormd om hydraulische waarden weer te geven (RGrid). Voor de overige cellen in FaGrid, die geen stroomnetwerk vormen, wordt de oppervlakte-afvoerdiepte van 0,001 m toegewezen als R-waarde.

Tabel 2. Hydraulische radiuswaarden

Na het afleiden van de helling van het bassin wordt het snelheidsraster (VGrid) verkregen met behulp van Manning's vergelijking (vergelijking 4). De VGrid vertegenwoordigt de stroomsnelheid in elke cel van het bassin, die wordt gebruikt om het gewichtsraster te berekenen. Het gewichtsraster dat in deze studie wordt gebruikt, wordt berekend als het omgekeerde van VGrid en wordt genoemd als WGrid (vergelijking 5). Ten slotte wordt dit gewichtsraster ( WGrid ) gebruikt om FlGrid van het bassin te berekenen zoals eerder beschreven.

FlGrid van het bassin wordt vervolgens bepaald uit de invoerroosters van FdGrid en WGrid.

Na het berekenen van de reisafstand van elke cel ( FlGrid ), is de volgende stap het berekenen van de reistijdwaarden. De maximale waarde van de FlGrid behoort tot de verste cel van het bassin tot aan de uitlaat. De reistijd van de stroom van die cel naar de uitlaat geeft de concentratietijd van het bassin. Vergelijking 6 wordt gebruikt om de waarden van FlGrid pro rata te berekenen en om te zetten in tijdwaarden (Kul en Feldman, 1998). Het reistijdraster van het bassin wordt dan bepaald uit vergelijking 6 en TtGrid genoemd.

In Vergelijking 6 is 'maximum van de celreislengtes' de maximale waarde van FlGrid en Tc is de tijd van concentratiewaarde van het bassin. Er worden twee reistijdrasters berekend met behulp van de twee stroomlengterasters en vergelijking 6, voor gewichtsraster en geen gewichtsrastervoorwaarden.

De derde parameter van de Clark's methodologie, het tijd-gebiedhistogram van het bekken, wordt bepaald uit TtGrid van het bekken. Ten eerste worden histogrammen van de TtGrid afgeleid voor verschillende tijdsintervallen. Het is waargenomen dat naarmate het interval kleiner wordt, de vorm van het histogram lijkt op complexe hydrofoto's, en naarmate het groter wordt, ziet de vorm er ruwweg uit als een hydrograaf met enkele piek. Het doel van het proberen van verschillende intervalwaarden is om een ​​histogramvorm te bepalen die dicht bij een hydrograafvorm met een enkele piek ligt met het kleinst mogelijke interval. Na verschillende waarden geprobeerd te hebben, wordt een tijdsinterval van 400 minuten geselecteerd voor de conditie gewichtsraster en 55 minuten voor geen gewichtsrasterconditie (Figuur 6).

Figuur 6. Histogrammen van reistijdraster met verschillende tijdsintervallen voor geen gewichtsrasterconditie

IUH van het bassin wordt afgeleid als het geselecteerde tijdsinterval oneindig klein is. Het is praktisch onmogelijk om het histogram van TtGrid te verkrijgen met een oneindig klein tijdsinterval. Er wordt dus een zo klein mogelijk tijdsinterval gekozen om de techniek van Clark toe te passen.

Histogram van TtGrid heeft tijdwaarden op de abscis en het aantal cellen op de ordinaat. Het histogram van het tijdgebied van het bassin wordt berekend op basis van het histogram van TtGrid door het aantal cellen om te zetten in oppervlakte (100 m2 voor een raster van 10x10 m). De grafieken van het tijdgebied van het Ulus-bassin worden verkregen voor gewichtsraster (Figuur 7) en geen gewichtsrastervoorwaarden.

Afbeelding 7. Tijdgebiedhistogram van Ulus Basin voor conditie van het gewichtsraster

4.4. Vertaling Hydrografie

Na het bepalen van de drie parameters van Clark's methodologie, wordt de eenheid overtollige regenval gelijkmatig verdeeld over het bassin. Vervolgens wordt deze neerslag door een translatie-hydrograaf naar de afvoer van het bassin getransporteerd. Voor dit doel wordt het tijdgebiedhistogram van het bassin, dat in de vorige stap is verkregen, gebruikt. Zoals weergegeven in figuur 7, vertegenwoordigt het histogram van het tijdgebied het percentage van het bekkenoppervlak dat bijdraagt ​​aan de stroming bij de uitlaat in elk tijdsinterval.

Na onmiddellijke toepassing van eenheidsregenval, wordt het totale watervolume dat zal worden waargenomen bij de bekkenuitlaat bepaald door het bekkenoppervlak (955 km 2 ) te vermenigvuldigen met de neerslagdiepte (1 mm). Vervolgens wordt uit het tijdgebiedhistogram van het bassin het percentage van het totale volume dat bijdraagt ​​aan de stroom bij de uitlaat in elk tijdsinterval berekend. Volumes worden vervolgens omgezet in ontladingen voor overeenkomstige tijdsintervallen. Ten slotte wordt door deze waarden uit te zetten op de middelste waarden van tijdsintervallen de translatie-hydrograaf bepaald. Net als bij een tijdgebiedgrafiek worden twee translatie-hydrografieken verkregen, een voor de conditie van het gewichtsraster (Figuur 8) en een andere voor de conditie zonder gewichtsraster.

Figuur 8. De translatie-hydrograaf van Ulus Basin voor de conditie van het gewichtsraster

4.5. Lineaire reservoirroutering Rou

Zoals eerder vermeld, wordt de instantane eenheid overtollige regenval door twee componenten naar de uitlaat van het bassin getransporteerd: een translatie-hydrograaf en lineaire reservoirroutering. De translatie-hydrograaf geeft de relatie tussen regen en afvoer van het bekken weer door middel van alleen de oppervlaktestroming. Het effect van stroomkanaalopslag op de hydrograaf wordt weerspiegeld door lineaire reservoirroutering. De translatie-hydrograaf die in de vorige sectie is verkregen, wordt gerouteerd door vergelijking 7 (HEC, 2000).

In vergelijking 7 is I( t) de berekende translatie-hydrograaf, is R de opslagverzwakkingscoëfficiënt en is Dt het geselecteerde tijdsinterval voor routering. Q( t) die na routering wordt verkregen, is de momentane eenheidshydrograaf van het bassin. Het routeringsproces wordt voortgezet totdat een overtollige stroomdiepte van 1 mm onder de hydrograaf is verkregen. Instantaneous Unit Hydrograph van Ulus Basin, wordt afzonderlijk verkregen voor gewichtsraster en geen gewichtsrastervoorwaarden.

In deze studie worden twee momentane eenheidshydrografieën verkregen. Eerst wordt een gewichtsraster gemaakt en gebruikt als invoer om het tijdsgebiedhistogram van het bassin af te leiden. Het gewichtsraster weerspiegelt de weerstand van elke cel in het bassin om te stromen volgens de topografische en plantaardige bedekkingsomstandigheden. Ten tweede wordt er geen gewichtsraster gebruikt waarbij wordt aangenomen dat alle cellen in de DEM van het bassin een gelijke weerstand tegen de stroming hebben.

Vervolgens worden deze hydrografieken vergeleken met de waargenomen eenheidshydrografie van het bekken, die in een ander onderzoek is bepaald (Usul, 2002). Aangezien de geobserveerde eenheidshydrografiek 60 minuten duurt, worden ook eenheidshydrografieken van dezelfde duur bepaald met behulp van deze IUH's. De drie eenheidshydrografische grafieken (waargenomen, Clark-gewicht, Clark -geen gewicht) worden gegeven in figuur 9. De piekafvoer, tijd tot piek en basistijdwaarden van de drie UH60 worden gegeven in Tabel 3.

Tabel 3. Eigenschappen voor eenheidshydrografieën

Zoals aangetoond in figuur 9 heeft de Clark-geen-gewichtseenheid-hydrograaf een vroege en hogere piek dan de piek van de waargenomen eenheids-hydrograaf. Omdat in dit geval geen gewichtsraster wordt gebruikt, is er geen vertraging in de stroming en wordt een eerdere hydrograafpiek gevormd. Bovendien is door de snelle ontwikkeling van de afvoer deze waarde hoger dan de waargenomen waarde. Om de piekwaarde te verlagen, moet de stromingsweerstand in het bassin worden weerspiegeld.

Figuur 9. Synthetische en waargenomen hydrografieën van 1 uur durende eenheid van Ulus Basin

In het tweede geval wordt een gewichtsraster gemaakt om de topografische en plantaardige bedekkingscondities van het bassin weer te geven. Maar het gebruik van het gewichtsraster resulteert in een late aankomst en een lagere piekafvoer dan de piek van de waargenomen eenheidshydrografie. Het gewichtsraster, dat is ontwikkeld op basis van de vergelijking van Manning, resulteert in een hoge vertraging in de stroming. De afvoerontwikkeling verliep dus langzaam en er werd een late hydrograafpiek gevormd. Er wordt dus geconcludeerd dat het weerstandseffect van de Manning-vergelijking op de stroming groter is dan de feitelijke bekkenomstandigheden. De belangrijkste parameter van de Manning-vergelijking is de ruwheidscoëfficiënt. De papieren bodem- en landgebruikkaarten die werden gebruikt om de coëfficiënten te verkrijgen, waren oud en geven daarom mogelijk niet de werkelijke landcondities weer. Na het significante verschil in de twee hydrografieën van synthetische eenheden te hebben overwogen, wordt ook geconcludeerd dat het gebruik van een gewichtsraster in deze methodologie erg belangrijk is en dat een herzien gewichtsraster de discrepanties in het resultaat kan verhelpen.

ASCE, 1996: American Society of Civil Engineers Hydrology Handbook, 2e editie, ASCE, VS.

Clark, CD, 1945: Opslag en de Unit Hydrograph, ASCE Transactions, 110, p. 1419-1446.

Esri, 1997: ArcView Watershed Delineator User s Manual, Esri Publ . , USA .

Esri, 1998: ArcView User s Manual, Esri Publ . , USA .

Esri, 1999: Arc/Info User s Manual, Esri Publ . , USA .

Fleckenstein , J., 1998: Using GIS to derive Velocity Fields and Travel Times to Route Excess Rainfall in a Small-Scale Watershed, Univ. of California Davis web site.

HEC, 1982: Hydrologic Engineering Center: HEC-1 Training document No.15, U.S. Army Corps of Engineers, Davis , California , USA .

HEC, 2000: Hydrologic Engineering Center HEC-HMS User s Manual, Davis , California .

Kull , D. W. and Feldman, A. D., 1998: Evaluation of Clark s Unit Graph Method to Hydrologic Engineering Center Spatially Distributed Runoff, Journal of Hydrologic Engineering.

Usul , N., 2002: A Pilot Project for Flood Analysis by Integration of Hydrologic-Hydraulic Models and Geographic Information Systems (in Turkish), METU, Ankara , Turkey


Bekijk de video: PYTHON IN ARC GIS #10Clip management and Extent of Raster and Polygon. Arcpy