Viktigt

Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.

14. Arbeta med Mesh-data

14.1. Vad är ett nät?

Ett mesh är ett ostrukturerat rutnät som vanligtvis har temporala och andra komponenter. Den rumsliga komponenten innehåller en samling hörn, kanter och/eller ytor i 2D- eller 3D-rymd:

  • vertices - XY(Z)-punkter (i skiktets referenssystem för koordinater)

  • kanter - förbinder par av hörn

  • ytor - en yta är en uppsättning kanter som bildar en sluten form - vanligtvis en triangel eller en fyrhörning (quad), sällan polygoner med fler hörn

På grundval av ovanstående kan nätskikten således ha olika typer av struktur:

  • 1D Meshes: består av hörn och kanter. En kant förbinder två hörn och kan ha tilldelade data (skalärer eller vektorer) på sig. 1D mesh-nätverket kan t.ex. användas för modellering av ett urbant dräneringssystem.

  • 2D-mesh: består av ytor med trianglar, regelbundna eller ostrukturerade kvadrater.

  • 3D-skiktade nät: består av flera staplade ostrukturerade 2D-nät som var och en extruderas i vertikal riktning (nivåer) med hjälp av en vertikal koordinat. Topparna och ytorna har samma topologi i varje vertikal nivå. Nätdefinitionen (extrudering på vertikal nivå) kan i allmänhet ändras med tiden. Uppgifterna definieras vanligen i volymscentra eller genom någon parametrisk funktion.

../../../_images/mesh_grid_types.png

Fig. 14.1 Olika typer av nät

Mesh ger information om den rumsliga strukturen. Dessutom kan mesh ha dataset (grupper) som tilldelar ett värde till varje vertex. Ett exempel är ett triangulärt nät med numrerade hörn enligt bilden nedan:

../../../_images/triangual_grid_with_numered_vertices.png

Fig. 14.2 Triangulärt rutnät med numrerade hörn

Varje vertex kan lagra olika dataset (vanligtvis flera kvantiteter), och dessa dataset kan också ha en tidsdimension. En enda fil kan alltså innehålla flera dataset.

Följande tabell ger en uppfattning om vilken information som kan lagras i mesh-dataset. Tabellens kolumner representerar index för nätets hörnpunkter, varje rad representerar en dataset. Datauppsättningar kan ha olika datatyper. I det här fallet lagras vindhastigheten på 10 m vid en viss tidpunkt (t1, t2, t3).

På liknande sätt kan mesh-datasetet också lagra vektorvärden för varje vertex. Till exempel vindriktningsvektorn vid de givna tidsstämplarna:

Table 14.1 Exempel på nätdataset

10 meter vind

1

2

3

10 meters hastighet vid tid=t1

17251

24918

32858

10 meters hastighet vid tiden=t2

19168

23001

36418

10 meters hastighet vid tiden=t3

21085

30668

17251

10m vindriktning tid=t1

[20,2]

[20,3]

[20,4.5]

10m vindriktning tid=t2

[21,3]

[21,4]

[21,5.5]

10m vindriktning tid=t3

[22,4]

[22,5]

[22,6.5]

Vi kan visualisera data genom att tilldela värdena färger (på samma sätt som görs med Singleband pseudocolor rasterrendering) och interpolera data mellan hörn enligt mesh-topologin. Det är vanligt att vissa storheter är 2D-vektorer i stället för enkla skalärvärden (t.ex. vindriktning). För sådana storheter är det önskvärt att visa pilar som anger riktningarna.

../../../_images/mesh_visualisation.png

Fig. 14.3 Möjlig visualisering av maskdata

14.2. Format som stöds

QGIS har åtkomst till mesh-data med hjälp av MDAL-drivrutinerna och har inbyggt stöd för många olika format. Huruvida QGIS kan redigera ett mesh-lager beror på formatet och typen av mesh-struktur.

För att ladda en mesh-datauppsättning i QGIS använder du fliken addMeshLayer Mesh i dialogrutan Data Source Manager. Läs Ladda ett nätlager för mer information.

14.3. Egenskaper för nätdataset

Dialogrutan Layer Properties för ett mesh-skikt innehåller allmänna inställningar för att hantera skiktets datasetgrupper och deras rendering (aktiva datasetgrupper, symbologi, 2D- och 3D-rendering). Den innehåller också information om skiktet.

För att komma till dialogrutan Layer Properties:

  • Dubbelklicka på lagret i panelen Layers eller högerklicka och välj Properties… från popup-menyn;

  • Gå till menyn Layer ► Layer Properties… när lagret är markerat.

Dialogrutan mesh Layer Properties innehåller följande avsnitt:

Table 14.2 Flikar för egenskaper för nätlager

metadata Information

system Källa

|symbologi| Symbologi[1]

3d 3D View[1]

temporal Temporal

labelingSingle Labels[1]

|elevationsskala| Elevation

rendering Rendering

editMetadata Metadata

[1] Finns även i Layer stylingpanel

Observera

De flesta av egenskaperna för ett mesh-lager kan sparas i eller laddas från en .qml med hjälp av Style-menyn längst ned i dialogrutan. Mer information finns på Hantera anpassade stilar.

14.3.1. Informationsegenskaper

../../../_images/mesh_info_properties.png

Fig. 14.4 Egenskaper för information om nätlager

Fliken metadata Information är skrivskyddad och utgör en intressant plats för att snabbt hämta sammanfattad information och metadata om det aktuella lagret. Tillhandahållen information är:

  • allmänna uppgifter som namn i projektet, källsökväg, lista över hjälpfiler, senaste spartid och storlek, den använda leverantören

  • anpassade egenskaper som används för att lagra ytterligare information om lagret i det aktiva projektet. Standardanpassade egenskaper kan inkludera layer notes. Fler egenskaper kan skapas och hanteras med hjälp av PyQGIS, särskilt genom metoden setCustomProperty().

  • baserat på skiktets leverantör: utsträckning, vertex, yta, kanter och/eller antal datasetgrupper

  • det koordinatsatta referenssystemet: namn, enheter, metod, noggrannhet, referens (dvs. om det är statiskt eller dynamiskt)

  • hämtat från fylld metadata: access, extents, länkar, kontakter, historik…

14.3.2. Källfastigheter

Fliken system Source visar grundläggande information om det valda nätet, inklusive:

../../../_images/mesh_source.png

Fig. 14.5 Egenskaper för Mesh Layer Source

  • det skiktnamn som ska visas i Layers-panelen

  • inställning av koordinatreferenssystem: Visar skiktets Assigned Coordinate Reference System (CRS). Du kan ändra skiktets CRS genom att välja ett nyligen använt i listrutan eller klicka på setProjection :guilabel:Select CRS-knappen (se Väljare för referenssystem för koordinater). Använd denna process endast om det CRS som används för lagret är fel eller om inget CRS har använts.

  • I ramen Available datasets listas alla datasetgrupper (och undergrupper) i mesh-lagret, med typ och beskrivning i en trädvy. Både vanliga datamängder (dvs. deras data lagras i filen) och virtuella datamängder (som beräknas i farten) listas.

    • Använd knappen add Assign extra dataset to mesh för att lägga till fler grupper i det aktuella mesh-lagret.

    • collapseTree Collapse all och expandTree Expand all datasetets träd, i händelse av inbäddade grupper

    • Om du är intresserad av ett fåtal dataset kan du avmarkera de andra och göra dem otillgängliga i projektet

    • Dubbelklicka på ett namn så kan du byta namn på datasetet.

    • refresh Reset to defaults: kontrollerar alla grupper och byter namn på dem tillbaka till deras ursprungliga namn i leverantören.

    • Högerklicka på en virtuell datasetgrupp så kan du:

      • Remove dataset group från projektet

      • :guilabel:``Spara datasetgruppen som…` en fil på disken, i valfritt format. Den nya filen hålls tilldelad det aktuella mesh-lagret i projektet.

  • Om du markerar gruppen unchecked Treat as static dataset kan du ignorera egenskaperna map temporal navigation när du renderar mesh-lagret. För varje aktiv datasetgrupp (som valts i fliken symbology Symbology –gt; general Datasets) kan du:

    • inställd på None: datasetgruppen visas inte alls

    • Display dataset: t.ex. för datasetet ”bed elevation” som inte är tidsmedvetet

    • extrahera ett visst datum och en viss tid: den datauppsättning som matchar den angivna tiden återges och förblir fixerad under kartnavigering.

14.3.3. Egenskaper för symbologi

Klicka på knappen symbology Symbology för att aktivera dialogrutan. Symbologiegenskaperna är indelade i flera flikar:

14.3.3.1. Datamängder

Fliken general Datasets är den viktigaste platsen för att kontrollera och ställa in vilka dataset som ska användas för skiktet. Den presenterar följande objekt:

  • Grupper tillgängliga i mesh-datasetet, med angivande av om de tillhandahåller:

    • meshcontoursoff skalär dataset

    • eller meshvectorsoff vektordatauppsättning: som standard har varje vektordatauppsättning en skalärdatauppsättning som representerar dess magnitud automatiskt genererad.

    Klicka på ikonen bredvid datasetnamnet för att välja vilken grupp och typ av data som ska representeras.

  • Metadata för vald(a) datasetgrupp(er), med detaljer om:

    • typ av nät: kanter eller ytor

    • datatyp: toppar, kanter, ytor eller volym

    • oavsett om den är av vektortyp eller inte

    • det ursprungliga namnet i mesh-lagret

    • enheten, om tillämpligt

  • blending mode tillgänglig för de valda dataseten.

../../../_images/mesh_symbology_datasets.png

Fig. 14.6 Dataset för nätskikt

Du kan tillämpa symbologi på den valda vektor- och/eller skalärgruppen med hjälp av följande flikar.

14.3.3.2. Konturer Symbologi

Observera

Fliken meshcontours Contours kan endast aktiveras om en skalär dataset har valts i fliken general Datasets.

I fliken meshcontours Contours kan du se och ändra de aktuella visualiseringsalternativen för konturer för den valda gruppen, vilket visas i Fig. 14.7 nedan:

../../../_images/mesh_symbology_contours.png

Fig. 14.7 Styling av konturer i ett mesh-lager

  • För 1D-mesh, ställ in Stroke width för kanterna. Detta kan vara en fast storlek för hela datasetet, eller variera längs geometrin (mer detaljer med interpolated line renderer)

  • Använd skjutreglaget eller snurrboxen för att ställa in Opacity för den aktuella gruppen, om den är av typen 2D mesh.

  • Ange det värdeintervall som du vill representera i den aktuella gruppen: använd refresh Load för att hämta min- och maxvärdena i den aktuella gruppen eller ange egna värden om du vill utesluta vissa.

  • För 2D/3D-mesh, välj Resampling method för att interpolera värdena på de omgivande hörnen till ytorna (eller från de omgivande ytorna till hörnen) med hjälp av Neighbour average-metoden. Beroende på om datasetet är definierat på vertikalerna (respektive på ytorna), har QGIS denna inställning som standard till None (respektive Neighbour average) för att använda värden på vertikalerna och behålla standardrenderingen jämn.

  • Klassificera datasetet med hjälp av color ramp shader-klassificeringen.

14.3.3.3. Vektorer Symbologi

Observera

Fliken meshvectors Vectors kan endast aktiveras om ett vektordataset har valts på fliken general Datasets. Klicka på ikonen meshvectors Vectors på höger sida av fliken general Datasets.

På fliken meshvectors Vectors kan du se och ändra de aktuella visualiseringsalternativen för vektorer för den valda gruppen, som visas i Fig. 14.8:

../../../_images/mesh_symbology_vectors.png

Fig. 14.8 Styling av vektorer i ett mesh-lager med pilar

Mesh-vektordataset kan utformas med hjälp av olika typer av Symbologi:

  • Pilar: vektorer representeras med pilar på samma plats som de definieras i rådatasetet (dvs. på noderna eller i mitten av elementen) eller på ett användardefinierat rutnät (de är alltså jämnt fördelade). Pilens längd är proportionell mot pilens storlek enligt definitionen i rådata, men kan skalas med olika metoder.

  • Streamlines: vektorer representeras med strömlinjer som utgår från startpunkter. Startpunkterna kan utgå från nätets hörn, från ett användarnät eller slumpmässigt.

  • Traces: en snyggare animation av strömlinjerna, den typ av effekt du får när du slumpmässigt kastar sand i vattnet och ser var sandföremålen flyter.

  • Vindpinnar: vektorer representeras med vindpinnar, ett vanligt sätt att representera vindhastighet och riktning.

Vilka egenskaper som är tillgängliga beror på den valda symbologin enligt följande tabell.

Table 14.3 Tillgänglighet och innebörd av egenskaperna för symbologin vektorer

Label

Beskrivning och egenskaper

Pil

Streamlines

Spår

Wind Barbs

Linjebredd

Bredd på vektorrepresentationen

checkbox

checkbox

checkbox

checkbox

Färgningsmetod

  • en Enkel färg som tilldelas alla vektorer

  • eller en variabel färg baserad på vektorstorleken, med hjälp av en Color ramp shader <color_ramp_shader>`

checkbox

checkbox

checkbox

checkbox

Filtrera efter magnitud

Endast vektorer vars längd för den valda datauppsättningen ligger inom intervallen Min och Max visas

checkbox

checkbox

checkbox

Visa på användarens rutnät

Placerar vektorn på ett rutnät med anpassade X spacing och Y spacing och interpolerar deras längd baserat på grannar

checkbox

checkbox

checkbox

Huvudalternativ

Längd och Bredd på pilspetsen, som en procentandel av dess skaftlängd

checkbox

Pilens längd

  • Definieras av Min och Max: Du anger den minsta och största längden för pilarna, QGIS interpolerar deras storlek baserat på den underliggande vektorns magnitud

  • Skala till magnitud: pilarnas längd är proportionell mot deras vektors magnitud

  • Fixed: alla vektorer visas med samma längd

checkbox

Streamlines såddmetod

  • På mesh/grid: förlitar sig på användarens grid för att visa vektorerna

  • Slumpmässigt: Vektorplaceringen görs slumpmässigt med hänsyn till en viss densitet

checkbox

Partikelantal

Mängden ”sand” som du vill lägga i visualiseringen

checkbox

Max svanslängd

Tiden tills partikeln tonar ut

checkbox

Wind Barbs

  • Längd: Anger längden på vindhakarna. Välj enhet från en rullgardinsmeny.

  • Dataenheter: Anger enheterna för vindhastighetsdata. Wind barbs kodar vinden i knop (nautiska mil per timme). Därför bör du välja de enheter som dina data är i, eller använda en anpassad Multiplier för att konvertera dina dataenheter till knop. På så sätt säkerställs att vindhastigheten återges på ett korrekt sätt.

checkbox

14.3.3.4. Rendering

På fliken meshframe Rendering erbjuder QGIS möjligheter att visa och anpassa nätstrukturen. Line width och Line color kan ställas in för att representera:

  • kanterna för 1D-mesh

  • För 2D-mesh:

    • Native mesh rendering: visar originalytor och kanter från lagret

    • Triangular mesh rendering: lägger till fler kanter och visar ytorna som trianglar

../../../_images/mesh_symbology_grid.png

Fig. 14.9 rendering av 2D-nät

14.3.3.5. Metod för medelvärdesberäkning av staplade nät

3D-skiktade nät består av flera staplade ostrukturerade 2D-nät som var och en extruderas i vertikal riktning (nivåer) med hjälp av en vertikal koordinat. Topparna och ytorna har samma topologi i varje vertikal nivå. Värdena lagras vanligen på volymer som regelbundet staplas över basens 2D-maskor. För att kunna visualisera dem på en 2D-bild måste du konvertera värden på volymer (3d) till värden på ytor (2d) som kan visas i mesh-lagret. Metoden meshaveraging Stacked mesh averaging method tillhandahåller olika metoder för medelvärdesberäkning/interpolation för att hantera detta.

Du kan välja metod för att härleda 2D-dataset och motsvarande parametrar (nivåindex, djup- eller höjdvärden). För varje metod visas ett exempel på tillämpning i dialogrutan, men du kan läsa mer om metoderna på https://fvwiki.tuflow.com/Depth_Averaging_Results.

14.3.4. Etiketter Egenskaper

Fliken labelingSingle Labels ger dig dynamisk märkning av mesh-vertikaler och native mesh-ytor baserat på geometriska egenskaper och anpassade uttryck. Denna dialogruta kan också nås från panelen Layer Styling.

../../../_images/mesh_label_properties.png

Fig. 14.10 Egenskaper för nätetiketter

Välj märkningsmetod från rullgardinsmenyn. Tillgängliga metoder är:

  • labelingNone No labels: standardvärdet, visar inga etiketter från lagret.

  • labelingSingle Märker på hörn: märker nätets hörn som en punktfunktion.

  • labelingSingle Märker på ytor: märker nätets ytor som en polygonfunktion.

../../../_images/mesh_label_example.png

Fig. 14.11 Metoder för märkning av nät

När du har valt märkningsmetod öppnar du expression Expression dialog och väljer en mesh-funktion. Du kan kombinera meshes-funktioner med andra funktioner från listan för att ändra etiketten.

Nedan visas alternativ för att anpassa etiketterna, under olika flikar:

Beskrivning av hur man ställer in varje egenskap finns på Ställa in en etikett.

14.3.5. egenskaper för 3D-vy

Mesh-lager kan användas som terrain i en 3D-kartvy baserat på deras vertikala Z-värden. Från egenskapsfliken 3d 3D View är det också möjligt att rendera mesh-skiktets dataset i samma 3D-vy. Därför kan den vertikala komponenten i vertikalerna ställas in lika med datasetvärden (t.ex. vattenytans nivå) och mesh-strukturen kan ställas in för att återge andra datasetvärden med färgskuggning (t.ex. hastighet).

../../../_images/mesh_3d.png

Fig. 14.12 Mesh-dataset 3D-egenskaper

Markera checkbox Enable 3D Renderer och du kan redigera följande egenskaper:

  • Under Triangelinställningar

    • Utjämnade trianglar: Vinklar mellan på varandra följande trianglar jämnas ut för en bättre 3D-rendering

    • Show wireframe där du kan ställa in Line width och Color

    • Detaljnivå: Styr hur :ref:``förenklat <meshrendering>` mesh-lagret som ska renderas ska vara. Längst till höger är det basmeshen, och ju mer du går åt vänster, desto mer förenklas lagret och återges med färre detaljer. Detta alternativ är endast tillgängligt om alternativet Simplify mesh under fliken Rendering är aktiverat.

  • Vertikala inställningar för att styra beteendet för den vertikala komponenten i topparna i renderade trianglar:

    • Datasetgrupp för vertikalt värde: den datasetgrupp som ska användas för maskans vertikala komponent

    • uncheckedDataset-värde i förhållande till hörnens Z-värde: om dataset-värdena ska betraktas som absoluta Z-koordinater eller i förhållande till hörnens ursprungliga Z-värde

    • Vertical scale: den skalfaktor som ska tillämpas på datasetets Z-värden

  • Rendering color settings med en Rendering style som kan baseras på den färgrampshader som anges i Konturer Symbologi (2D contour color ramp shader) eller som en Single color med en associerad Mesh color

  • :guilabel:Show arrows: visar pilar på meshskiktets dataset 3D-enhet, baserat på samma vektor-datasetgrupp som används i :ref:``vector 2D rendering <mesh_symbology_vectors>`. De visas med hjälp av 2D-färginställningen. Det är också möjligt att definiera Pilavstånd och om det är en Fixerad storlek eller skalad på magnitud. Denna inställning för avstånd definierar också maxstorleken för pilar eftersom pilar inte kan överlappa varandra.

14.3.6. Rendering av egenskaper

../../../_images/mesh_rendering.png

Fig. 14.13 Egenskaper för rendering av nät

I grupprutan Scale dependent visibility kan du ställa in Maximum (inclusive) och Minimum (exclusive) skala, vilket definierar ett skalområde inom vilket mesh-element kommer att vara synliga. Utanför detta intervall är de dolda. Knappen mapIdentification Set to current canvas scale hjälper dig att använda den aktuella kartans canvasskala som gräns för synlighetsområdet. Se Väljare för synlighetsskala för mer information.

Observera

Du kan också aktivera skalberoende synlighet på ett lager från panelen Layers: högerklicka på lagret och välj Set Layer Scale Visibility i snabbmenyn.

Eftersom mesh-lager kan ha miljontals ytor kan renderingen av dem ibland vara mycket långsam, särskilt när alla ytor visas i vyn trots att de är för små för att kunna ses. För att snabba upp renderingen kan du förenkla mesh-lagret, vilket resulterar i ett eller flera nät som representerar olika detaljnivåer och välja på vilken detaljnivå du vill att QGIS ska rendera mesh-lagret. Observera att det förenklade nätet endast innehåller triangulära ytor.

På fliken rendering Rendering, markera checkbox Simplify mesh och ställ in:

  • a Reduktionsfaktor: Styr genereringen av successiva nivåer av förenklade nät. Om t.ex. basnätet har 5 miljoner ytor och reduktionsfaktorn är 10, kommer det första förenklade nätet att ha ungefär 500 000 ytor, det andra 50 000 ytor, det tredje 5000, … Om en högre reduktionsfaktor snabbt leder till enklare nät (dvs. med trianglar av större storlek), ger den också färre detaljnivåer.

  • Minsta triangelstorlek: den genomsnittliga storleken (i pixlar) på de trianglar som får visas. Om nätets genomsnittliga storlek är mindre än detta värde utlöses rendering av ett nät med lägre detaljnivå.

14.3.7. Temporala egenskaper

Fliken temporal Temporal ger alternativ för att styra återgivningen av skiktet över tid. Det gör det möjligt att dynamiskt visa temporära värden för de aktiverade datasetgrupperna. En sådan dynamisk rendering kräver att :ref:temporal navigation <maptimecontrol> är aktiverad över kartans canvas.

../../../_images/mesh_temporal.png

Fig. 14.14 Mesh Temporala egenskaper

Temporära inställningar för skikt

  • Reference time i datasetgruppen, som ett absolut tidsdatum. Som standard analyserar QGIS källskiktet och returnerar den första giltiga referenstiden i skiktets datasetgrupp. Om den inte är tillgänglig kommer värdet att ställas in av projektets tidsintervall eller falla tillbaka till aktuellt datum. De Starttid och Sluttid som ska beaktas beräknas sedan baserat på det interna tidsstämpelsteget i datasetet.

    Det är möjligt att ange en anpassad Reference time (och sedan tidsintervallet) och återgå till ändringarna med hjälp av knappen refresh Reload from provider. Om du markerar kryssrutan Alltid ta referenstid från datakällan säkerställer du att tidsegenskaperna uppdateras från filen varje gång lagret laddas om eller projektet öppnas på nytt.

  • Dataset matching method: avgör vilken dataset som ska visas vid den angivna tidpunkten. Alternativen är Find closest dataset before requested time eller Find closest dataset from requested time (after or before).

Leverantörens tidsinställningar

  • Tidsenhet extraherad från rådata, eller användardefinierad. Detta kan användas för att anpassa mesh-skiktets hastighet till andra skikt i projektet under karttidsnavigering. Enheter som stöds är Seconds, Minutes, Hours och Days.

14.3.8. Elevation Egenskaper

På fliken elevationscale Elevation finns alternativ för att styra skiktets höjdegenskaper i en 3D-kartvy och 2D-kartvy och dess utseende i profile tool charts. Du kan särskilt konfigurera hur höjder från din datauppsättning ska tolkas:

../../../_images/mesh_elevation.png

Fig. 14.15 Egenskaper för Mesh Elevation

  • From vertices: hur Z-värdena för meshskiktets vertikaler ska tolkas som terränghöjd. Du kan använda en Scale-faktor och en Offset. Den här inställningen är tillgänglig för 3D map view och profile tool charts.

  • Fixed Elevation Range: nätskiktet är kopplat till ett fast höjdintervall. Detta läge är tillämpligt när ett skikt antingen har en enda fast höjd eller ett intervall (skiva) av höjdvärden. Om ett intervall anges kommer mesh-värdena att extruderas över detta intervall. Du kan ställa in Lower och Upper höjdintervallvärden för lagret och ange om de nedre eller övre Limits är inkluderande eller exklusiva. När skiktet är aktiverat kommer det endast att vara synligt i :ref:``höjdfiltrerade 2D-kartor <elevation_controller>` när skiktets intervall ingår i kartans Z-intervall.

  • Fixed Elevation Range Per Group: varje grupp i mesh-skiktet är associerad med ett fast höjdintervall. Detta läge kan användas när ett skikt har höjddata som exponeras genom olika datasetgrupper. Den här funktionen visas som en användarredigerbar tabell för datasetgrupper med lägre och högre värden. Du kan antingen fylla i de nedre och övre värdena manuellt eller använda ett |uttryck| Expression för att automatiskt fylla i alla gruppvärden baserat på ett uttryck. När detta är aktiverat filtreras skiktet i 2D-kartvyn och visar endast värden inom kartfiltrets intervall. I 3D map view eller profile tool charts visas skiktets hela utsträckning, utan hänsyn till filtreringen.

  • Profile Chart Appearance: styr återgivningen av nätelementens höjd i profildiagrammet. Profilen Style kan ställas in som:

    • en Linje med en specifik Linjestil

    • en höjdyta som återges med en fyllnadssymbol antingen ovanför (Fill above) eller nedanför (Fill below) höjdkurvans linje. Ytsymboliken representeras med hjälp av:

      • a Fyllstil

      • och en Limit: den maximala (respektive minimala) höjden som bestämmer hur hög fyllnadsytan kommer att vara

14.3.9. Egenskaper för metadata

Fliken editMetadata Metadata ger dig alternativ för att skapa och redigera en metadatarapport om ditt lager. Se Metadata för mer information.

14.4. Redigera ett mesh-lager

QGIS gör det möjligt att skapa ett mesh-lager från grunden eller baserat på ett befintligt. Du kan skapa/ändra geometrierna i det nya skiktet som du kan tilldela dataset efteråt. Det är också möjligt att redigera ett befintligt mesh-lager. Eftersom redigeringsoperationen kräver ett lager med endast ramar kommer du att bli ombedd att antingen ta bort alla associerade dataset först (se till att du har dem tillgängliga om de fortfarande behövs) eller skapa en kopia (endast geometrier) av lagret.

Observera

QGIS tillåter inte att kanter digitaliseras på mesh-lager. Endast hörn och ytor är mesh-element som kan skapas. Alla mesh-format som stöds kan inte heller redigeras i QGIS (se permissions).

14.4.1. Översikt över digitaliseringsverktygen för nät

Följande verktyg finns tillgängliga för att interagera med eller redigera ett element i basnätskiktet.

Table 14.4 Verktyg för digitalisering av nät

Label

Syfte

Plats

allEdits Aktuella redigeringar

Möjlighet att spara, rulla tillbaka eller avbryta ändringar i alla eller valda lager samtidigt

Digitalisering verktygsfält

toggleEditing Toggle för att redigera

Aktivera/avaktivera lagret i redigeringsläget

Digitalisering verktygsfält

saveEdits Spara redigeringar

Spara ändringar som gjorts i lagret

Digitalisering verktygsfält

undo Undo

Ångra den senaste ändringen (ändringarna) - Ctrl+Z

Digitalisering verktygsfält

redo Redo

Gör om de senast ogjorda åtgärderna - Ctrl+Shift+Z`

Digitalisering verktygsfält

cad Aktivera avancerade digitaliseringsverktyg

Slå på/av :ref:``Advanced Digitizing Panel <advanced_digitizing_panel>`

:guilabel:Verktygsfältet `Avancerad digitalisering

meshReindex Reindexera ansikten och vertikaler

Återskapa index och numrera om mesh-elementen för optimering

Mesh meny

meshDigitizing Digitisera nätelement

Välj/skapa hörn och ytor

Mesh Digitalisering verktygsfält

meshSelectPolygon Välj nätelement efter polygon

Välj hörnpunkter och ytor som överlappas av en ritad polygon

Mesh Digitalisering verktygsfält

meshSelectExpression Välj nätelement efter uttryck

Välj toppar och ytor med hjälp av ett uttryck

Mesh Digitalisering verktygsfält

meshTransformByExpression Transformera vertikaler koordinater

Ändra koordinaterna för ett urval av hörnpunkter

Mesh Digitalisering verktygsfält

meshEditForceByVectorLines Force efter valda geometrier

Dela ytor och begränsa Z-värdet med hjälp av en linjär geometri

Mesh Digitalisering verktygsfält

14.4.2. Utforska logiken för tilldelning av Z-värde

När ett mesh-lager försätts i redigeringsläge öppnas en widget Vertex Z-värde uppe till höger på kartbilden. Som standard motsvarar dess värde det Default Z value som ställts in i :menuselection:` Settings –> Options –> Digitizing fliken. När det finns valda hörnpunkter visar widgeten det genomsnittliga Z-värdet för de valda hörnpunkterna.

Under redigeringen tilldelas Vertex Z value till nya vertikaler. Det är också möjligt att ställa in ett eget värde: redigera widgeten, tryck på Enter så åsidosätts standardvärdet och det nya värdet används i digitaliseringsprocessen. Klicka på ikonen clearText i widgeten för att återställa dess värde till Options standardvärde.

14.4.2.1. Regler för överlåtelse

När du skapar en ny vertex kan definitionen av dess Z-värde variera beroende på det aktiva valet i mesh-lagret och dess placering. I följande tabell visas de olika kombinationerna.

Table 14.5 Matris för tilldelning av Z-värde till ny toppunkt

Skapande av vertex

Finns det markerade vertikaler i mesh-lagret?

Källa till det tilldelade värdet

Tilldelat Z-värde

”Fri” vertex, inte kopplad till någon yta eller kant på en yta

Nej

Vertex Z-värde

Standard eller användardefinierad

Advanced Digitizing Panel (om z widget är i locked Locked tillstånd)

z widget if in locked Locked tillstånd

Ja

Vertex Z-värde

Medelvärde av de valda topparna

Toppunkt på en kant

Nätlager

Interpolerad från kantens hörnpunkter

Toppunkt på en yta

Nätlager

Interpolerad från ansiktets hörnpunkter

Vertex snäppt till en 2D-vektorfunktion

Vertex Z-värde

Standard eller användardefinierad

Vertex snappad till en 3D-vektorvertex

Ett vektorlager

Toppunkt

Vertex knäppt till ett 3D-vektorsegment

Ett vektorlager

Interpolerad längs vektorsegmentet

Observera

Widgeten Vertex Z value inaktiveras om :ref:``Advanced Digitizing Panel <advanced_digitizing_panel>` är aktiverad och inget mesh-element är valt. Den senares widget z styr då tilldelningen av Z-värdet.

14.4.2.2. Ändra Z-värdet för befintliga hörn

Det enklaste sättet att ändra Z-värdet för toppar är:

  1. Välj en eller flera hörn. Widgeten Vertex Z value visar den genomsnittliga höjden för urvalet.

  2. Ändra värdet i widgeten.

  3. Tryck på Enter. Det inmatade värdet tilldelas hörnpunkterna och blir standardvärde för nästa hörnpunkt.

Ett annat sätt att ändra Z-värdet för en vertex är att flytta och snäppa den på en vektorlagerfunktion med Z-värdesfunktion. Om mer än en vertex är markerad kan Z-värdet inte ändras på det här sättet.

I dialogrutan Transform mesh vertices kan du också ändra Z-värdet för ett urval av hörnpunkter (tillsammans med deras X- eller Y-koordinater).

14.4.3. Välja nätelement

14.4.3.1. Använda Digitize Mesh Elements (Digitalisera nätelement)

Aktivera verktyget meshDigitizing Digitize Mesh Elements. Håll muspekaren över ett element så markeras det och du kan välja det.

  • Klicka på en vertex så blir den markerad.

  • Klicka på den lilla fyrkanten i mitten av en yta eller en kant så blir den markerad. Anslutna hörnpunkter markeras också. Omvänt gäller att om du markerar alla hörn på en kant eller en yta markeras även det elementet.

  • Dra en rektangel för att markera överlappande element (en markerad yta har alla sina hörnpunkter). Tryck på Alt om du bara vill välja element som är helt inneslutna.

  • Om du vill lägga till element i en markering trycker du på Shift medan du markerar dem.

  • Om du vill ta bort ett element från markeringen trycker du på Ctrl och markerar det igen. En bortvald yta kommer också att avmarkera alla sina hörn.

14.4.3.2. Använda Välj nätelement efter polygon

Aktivera verktyget meshSelectPolygon :sup:Välj nätelement efter polygon och:

  • Rita en polygon (vänsterklicka för att lägga till vertex, Backspace för att ångra den sista vertexen, Esc för att avbryta polygonen och högerklicka för att validera den) över mesh-geometrierna. Alla delvis överlappande hörn och ytor kommer att väljas. Tryck på Alt medan du ritar om du bara vill välja helt inneslutna element.

  • Högerklicka över geometrin för ett vektorlagers funktion, välj den i listan som dyker upp och alla delvis överlappande hörn och ytor i mesh-lagret kommer att väljas. Använd Alt medan du ritar för att endast välja helt inneslutna element.

  • Om du vill lägga till element i en markering trycker du på Shift medan du markerar dem.

  • Om du vill ta bort ett element från markeringen trycker du på Ctrl medan du ritar över markeringspolygonen.

14.4.3.3. Använda Välj nätelement med uttryck

Ett annat verktyg för val av nätelement är meshSelectExpression Välj nätelement med uttryck. När du trycker på verktyget öppnas dialogen mesh expression selector dialog där du kan välja:

  1. Välj metod för urval:

    • Select by vertices: tillämpar det angivna uttrycket på vertikaler och returnerar matchande sådana och deras eventuellt associerade kanter/ytor

    • Select by faces: tillämpar det angivna uttrycket på ansikten och returnerar matchande ansikten och deras tillhörande kanter/vertikaler

  2. Skriv uttrycket för valet. Beroende på den valda metoden kommer tillgängliga funktioner i Meshes group att filtreras i enlighet med detta.

  3. Kör frågan genom att ställa in hur urvalet ska bete sig och trycka på :

    • expressionSelect Select: ersätter alla befintliga markeringar i skiktet

    • selectAdd Lägg till i aktuellt urval

    • selectRemove Ta bort från aktuellt urval

14.4.4. Modifiera nätelement

14.4.4.1. Lägga till hörn

Lägga till hörnpunkter i ett mesh-lager:

  1. Tryck på knappen meshDigitizing Digitize mesh elements (Digitalisera nätelement)

  2. En widget med Vertex Z-värde visas i det övre högra hörnet av kartbilden. Ställ in detta värde på den Z-koordinat som du vill tilldela de efterföljande vertikalerna

  3. Dubbelklicka sedan:

    • outside a face: lägger till en ”fri vertex”, dvs. en vertex som inte är kopplad till någon face. Denna vertex representeras av en röd prick när lagret är i redigeringsläge.

    • på kanten av befintlig(a) yta(r): lägger till en vertex på kanten, delar upp den eller de ytor som berör den i trianglar som är anslutna till den nya vertexen.

    • inuti en yta: delar upp ytan i trianglar vars kanter förbinder de omgivande topparna med den nya toppen.

14.4.4.2. Lägga till ansikten

Så här lägger du till ytor i ett mesh-lager:

  1. Tryck på knappen meshDigitizing Digitize mesh elements (Digitalisera nätelement)

  2. En widget med Vertex Z-värde visas i det övre högra hörnet av kartbilden. Ställ in detta värde på den Z-koordinat som du vill tilldela de efterföljande vertikalerna.

  3. Håll muspekaren över en toppunkt och klicka på den lilla triangeln som visas bredvid.

  4. Flytta markören till nästa toppunktsposition; du kan snäppa till befintligt toppunkt eller vänsterklicka för att lägga till ett nytt.

  5. Fortsätt enligt ovan för att lägga till så många toppar som du vill för ansiktet. Tryck på Backspace-knappen för att ångra det sista toppunktet.

  6. När du flyttar musen visas ett gummiband som visar ansiktets form. Om det visas i grönt är den förväntade ytan giltig och du kan högerklicka för att lägga till den i mesh. Om det är rött är ytan inte giltig (t.ex. för att den skär sig själv, överlappar en befintlig yta eller vertex, skapar ett hål, …) och kan inte läggas till. Du måste ångra några vertex och fixa geometrin.

  7. Tryck på Esc för att avbryta digitaliseringen av ansiktet.

  8. Högerklicka för att validera ansiktet.

../../../_images/invalid_mesh.png

Fig. 14.16 Exempel på ogiltiga maskor

14.4.4.3. Ta bort nätelement

  1. Välj målelement

  2. Aktivera verktyget meshDigitizing Digitize mesh elements (Digitalisera nätelement)

  3. Högerklicka och välj:

    • Remove Selected Vertices and Fill Hole(s) eller tryck på Ctrl+Del: tar bort vertikaler och länkade ytor och fyller hålet/hålen genom triangulering från grannvertikalerna

    • Remove Selected Vertices Without Filling Hole(s) eller tryck på Ctrl+Shift+Del: tar bort vertikaler och länkade ytor och fyller inte i hål

    • Remove Selected Face(s) eller tryck på Shift+Del: tar bort ansikten men behåller hörnpunkterna

Dessa alternativ är också tillgängliga från den kontextuella menyn när du håller muspekaren över ett enskilt objekt utan att välja.

14.4.4.4. Flytta nätelement

För att flytta hörn och ytor i ett mesh-lager:

  1. Välj målelement

  2. Aktivera verktyget meshDigitizing Digitize mesh elements (Digitalisera nätelement)

  3. Börja flytta elementet genom att klicka på en vertex eller centroiden för en yta/kant

  4. Flytta markören till målpositionen (snapping till vektorfunktioner stöds).

  5. Om den nya platsen inte genererar en invalid mesh visas de flyttade elementen i grönt. Klicka igen för att släppa dem på den här platsen. Faces vars alla hörn är markerade translateras och deras grannar omformas i enlighet med detta.

14.4.4.5. Omvandling av nätets hörnpunkter

Verktyget meshTransformByExpression Transform Vertices Coordinates ger ett mer avancerat sätt att flytta vertikaler genom att redigera deras X-, Y- och/eller Z-koordinater med hjälp av uttryck.

  1. Välj de hörn som du vill redigera koordinaterna för

  2. Tryck på meshTransformByExpression Transform Vertices Coordinates. En dialogruta öppnas med uppgift om antalet valda vertikaler. Du kan fortfarande lägga till eller ta bort vertikaler från urvalet.

  3. Beroende på vilka egenskaper du vill ändra måste du kontrollera X coordinate, Y coordinate och/eller Z value.

  4. Ange sedan målpositionen i rutan, antingen som ett numeriskt värde eller som ett uttryck (med hjälp av dialogen expression :sup:Expression)

  5. När vertexCoordinates Import Coordinates of the Selected Vertex är aktiverat fylls rutorna X, Y och Z automatiskt med koordinaterna när en enskild vertex väljs. Ett bekvämt och snabbt sätt att justera topparna individuellt.

  6. Tryck på Preview Transform för att simulera topparnas nya placering och förhandsgranska nätet med transformationen.

    • Om förhandsgranskningen är grön är det transformerade nätet giltigt och du kan tillämpa transformationen.

    • Om förhandsgranskningen är röd är det transformerade nätet ogiltigt och du kan inte använda transformationen förrän det har korrigerats.

  7. Tryck på Apply Transform för att ändra de valda koordinaterna för uppsättningen hörnpunkter.

14.4.4.6. Omformning av nätgeometri

Den kontextuella menyn
  1. Aktivera meshDigitizing Digitize mesh elements (Digitalisera nätelement)

  2. Välj eller avstå från att välja maskpost(er)

  3. Håll muspekaren över ett mesh-element så markeras det.

  4. Högerklicka så kan du göra det:

    • ta bort objektet/objekten

    • Split Selected Face(s) (Split Current Face): delar upp ansiktet du håller muspekaren över eller varje valt quad mesh-ansikte i två trianglar

    • Delaunay Triangulation with Selected vertices: bygger triangulära ytor med hjälp av utvalda fria hörn.

    • Refine Selected Face(s) (Refine Current Face): delar upp ytan i fyra ytor, baserat på hörn som läggs till i mitten av varje kant (en triangel resulterar i trianglar, en fyrkant i fyrkant). Triangulerar även intilliggande ytor som är anslutna till de nya hörnen.

Kantmarkeringarna

När funktionen meshDigitizing Digitize mesh elements är aktiv och du håller muspekaren över en kant, markeras kanten och det är möjligt att interagera med den. Beroende på sammanhanget kan följande markörer vara tillgängliga:

  • en fyrkantsvy i mitten av kanten: klicka på den för att välja yttersta hörn.

  • ett kors om de två ansiktena på vardera sidan kan slås samman: klicka på det för att ta bort kanten och slå samman ansiktena.

  • en cirkel om kanten ligger mellan två trianglar: Klicka på den för att vända på kanten, dvs. koppla den istället till de två andra ”fria” hörnen på ytorna

Verktyget Force by Selected Geometries (kraft genom valda geometrier)

Verktyget meshEditForceByVectorLines Force by Selected Geometries ger avancerade sätt att tillämpa brytlinjer med hjälp av linjegeometri. En brytlinje tvingar mesh att ha kanter längs linjen. Observera att brytlinjen inte betraktas som beständig när operationen är klar; resulterande kanter fungerar inte som begränsningar längre och kan modifieras som vilken annan kant som helst. Detta kan t.ex. användas för att lokalt modifiera ett mesh-lager med exakta linjer, som flodbankar eller vägbankar.

  1. Aktivera verktyget meshEditForceByVectorLines Force genom valda geometrier

  2. Ange den geometri som ska användas som ”forcing line”; det kan vara:

    • hämtas från en linje- eller polygonfunktion i kartbilden: högerklicka på vektorfunktionen och välj den från listan i snabbmenyn.

    • en virtuell linje som dras över meshramen: vänsterklicka för att lägga till vertices, högerklicka för validering. Vertex Z-värde ställs in via widgeten Vertex Z-värde eller widgeten z om widgeten Avancerad digitaliseringspanel är aktiverad. Om linjen knäpps till ett mesh-vertex eller ett vertex eller segment i en 3D-vektorfunktion, får det nya vertexet det knäppta elementets Z-värde.

Meshytor som överlappar linjegeometrin eller polygonens gräns påverkas på ett sätt som beror på de alternativ som du kan ställa in i verktygets rullgardinsmeny meshEditForceByVectorLines Force by Selected Geometries:

  • checkbox Lägg till ny vertex på korsande kanter: med detta alternativ läggs en ny vertex till varje gång forceringslinjen korsar en kant. Detta alternativ leder till delning längs linjen varje gång den möter ansikten.

    Utan detta alternativ tas påträffade ytor bort och ersätts av ytor som kommer från en triangulering med endast de befintliga hörnen plus hörnen på forceringslinjerna (nya hörn läggs också till på gränskanten som skär forceringslinjerna).

    ../../../_images/force_mesh_geometry.png

    Fig. 14.17 Force Mesh med linjegeometri - Resultat utan (mitten) och med (höger) ny vertex på kanternas skärningspunkt

  • Interpolera Z-värde från: anger hur den nya toppens Z-värde beräknas. Det kan vara från:

    • själva Mesh: de nya hörnens Z-värde interpoleras från hörnen i den yta de faller inom

    • eller Forcing line: om linjen definieras av en 3D-vektorfunktion eller en ritad linje härleds det nya Z-värdet för vertikalerna från dess geometri. När det gäller 2D-linjefunktioner är det nya Z-värdet för vertikalerna Vertex Z value.

  • Tolerance: när ett befintligt mesh-vertex är närmare linjen än toleransvärdet, skapa inte ett nytt vertex på linjen utan använd det befintliga vertexet istället. Värdet kan ställas in i Meters at Scale eller i Map Units (mer information finns i Väljare för enhet).

14.4.5. Omindexering av maskor

Under redigering, och för att möjliggöra snabba ångra/återställa operationer, behåller QGIS tomma platser för borttagna element, vilket kan leda till växande minnesanvändning och ineffektiv mesh-strukturering. Verktyget Mesh ► meshReindex Reindex Faces and Vertices är utformat för att ta bort dessa hål och omnumrera indexen för ytor och vertikaler så att de är kontinuerliga och någorlunda rimligt ordnade. Detta optimerar relationen mellan ytor och toppar och ökar effektiviteten i beräkningen.

Observera

Verktyget meshReindex Reindex Faces and Vertices sparar lagret och rensar undo/redo-staplarna, vilket gör att ingen rollback är möjlig.

14.5. Mesh-kalkylator

Med verktyget Mesh Calculator från den övre menyn Mesh kan du utföra aritmetiska och logiska beräkningar på befintliga datasetgrupper för att generera en ny datasetgrupp (se Fig. 14.18).

../../../_images/mesh_calculator.png

Fig. 14.18 Mesh-kalkylator

Listan Datasets innehåller alla datasetgrupper i det aktiva meshlagret. Om du vill använda en datasetgrupp i ett uttryck dubbelklickar du på dess namn i listan så läggs den till i fältet Mesh calculator expression. Du kan sedan använda operatörerna för att konstruera beräkningsuttryck eller bara skriva in dem i rutan.

Med Result Layer kan du konfigurera egenskaper för utdataskiktet:

  • checkbox Skapa en datasetgrupp i farten istället för att skriva lagret till disken:

    • Om den inte är markerad lagras utdata på disken som en ny vanlig fil. En sökväg till Output File och ett Output Format krävs.

    • Om du markerar detta läggs en ny datasetgrupp till i mesh-lagret. Värdena i datasetgruppen lagras inte i minnet, utan varje dataset beräknas vid behov med den formel som anges i meshkalkylatorn. Den virtuella datasetgruppen sparas med projektet och kan vid behov tas bort eller göras beständig i en fil på fliken Layer Source properties.

    I båda fallen bör du ange ett Group Name för gruppen i utdatasetet.

  • Den Rumliga utsträckning som ska beaktas för beräkning kan vara:

    • en Custom extent, manuellt fylld med koordinaterna X min, X max, Y min och Y max, eller extraherad från en befintlig datasetgrupp (välj den i listan och tryck på Use selected layer extent för att fylla i de ovannämnda koordinatfälten)

    • definieras av ett polygonlager (Mask layer) i projektet: polygonens geometri används för att klippa ut mesh-lagrets dataset

  • Den Temporal extent som ska beaktas för dataset kan ställas in med alternativen Start time och End time, som väljs från de befintliga datasetgruppernas tidssteg. De kan också fyllas i med hjälp av knappen Use all selected dataset times för att ta med hela intervallet.

Avsnittet Operators innehåller alla tillgängliga operatorer. För att lägga till en operator i nätkalkylatorns uttrycksruta, klicka på lämplig knapp. Matematiska beräkningar (+, -, *, … ) och statistiska funktioner (min, max, sum (aggr), medel (aggr), … ) är tillgängliga. Villkorliga uttryck (=, !=, <, >=, IF, AND, NOT, … ) returnerar antingen 0 för falskt och 1 för sant, och kan därför användas med andra operatorer och funktioner. Värdet NODATA kan också användas i uttrycken.

Widgeten Mesh Calculator Expression visar och låter dig redigera det uttryck som ska köras.