Esri TIN - Esri TIN - Wikipedia
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Přípony názvu souboru | .adf |
---|---|
Vyvinul | Esri |
Typ formátu | GIS |
The Esri TIN formát je zatím populární proprietární geoprostorový vektor datový formát pro software geografického informačního systému (GIS) pro ukládání výškových dat jako a trojúhelníková nepravidelná síť. Je vyvíjen a regulován společností Esri. Formát Esri TIN může prostorově popisovat informace o nadmořské výšce včetně hraničních prvků. Každý bod a trojúhelník mohou nést informace značky.[1][2]DIČ uložené v tomto formátu souboru může mít jakýkoli tvar, pokrýt více oblastí (např. Ostrovy) a obsahovat díry (např. Jezera).[3]
V roce 2007 reverzní inženýrství vyšel najevo popis formátu Esri TIN.[4] Od té doby se projekt Virtual Terrain, an open-source software, má implementovanou podporu pro čtení formátu, bez nutnosti ArcGIS se instaluje.[5]
Přehled
Formát Esri TIN je formát digitálního vektorového úložiště pro ukládání informací o nadmořské výšce včetně špičkových funkcí. Formát Esri TIN byl představen s ArcView GIS.
Formát Esri TIN se skládá z kolekce souborů se specifickými názvy souborů a společnou příponou souboru, které jsou uloženy ve stejném souboru adresář. Většina souborů je povinné soubory (tdenv.adf, tedg.adf, thul.adf, tmsk.adf, tmsx.adf, tnod.adf,[5] tnxy.adf[5] a tnz.adf[5]), volitelně soubor obsahující souřadný systém a projekční informace (prj.adf) a soubory obsahující informace o značce bodu (tnval.adf a tndsc.adf) a informace o trojúhelníkové značce (ttval.adf a ttdsc.adf)[1][2] lze dát.
- Povinné složky
- tdenv.adf - záhlaví a statistické údaje
- tedg.adf - hrany dat a topologie
- thul.adf - údaje o polygonu vnějšího a vnitřního trupu
- tmsk.adf - data masky, masky neviditelné trojúhelníky
- tmsx.adf - indexový soubor pro tmsk.adf
- tnod.adf — trojúhelník data uzlu
- tnxy.adf - informace o poloze (souřadnice xay)
- tnz.adf - informace o výšce (hodnoty z)
The endianismus většina souborů je big-endian. tmsk.adf, tmsx.adf a tdenv.adf smíchali endianismus.
- Ostatní soubory
- prj.adf - popis projekce pomocí a dobře známá textová reprezentace souřadnicových referenčních systémů; jsou jednořádkové {B286C06B-0879-11D2-AACA-00C04FA33C20} znamená neznámý souřadný systém[6]
- tndsc.adf Statistika využití značky bodu
- tnval.adf - data značky bodu
- ttdsc.adf - popis dat značky trojúhelníku
- ttval.adf - data trojúhelníkové značky
The endianismus souboru tndsc.adf a tnval.adf je malý endian.
- Soubory generované ArcGIS 10
- tnodinfo.adf - typy bodů a další
- teval.adf - data hran
- tdenv9.adf - soubor tdenv.adf přejmenován
- Velikost souboru
DIČ s n body (vč. superpointy ) a k trojúhelníky, velikosti souborů počítají do:
- tnxy.adf : 16*n bajtů
- tnz.adf : 4*n bajtů
- tnod.adf : 12*k bajtů
- tedg.adf : 12*k bajtů
- tmsx.adf : 116 bytů
- tdenv.adf/tdenv9.adf : 104 bytů
- tmsk.adf : 132 + 4 * strop (k/ 32) bajtů
- thul.adf : min. 12 bajtů, závisí na počtu bodů v konvexním polygonu trupu
- tndsc.adf : 24 * počet položek značek uvedených v tndsc.adf bajtů (viz níže)
- tnval.adf : 4*n ' bajtů (n ': počet označených bodů, vč. superpointy; viz. níže)
- tnodinfo.adf : 2*n bajtů
- teval.adf : 16 * počet položek hraničních hran uvedených v tdenv9.adf bajtů (viz níže)
Povinné složky
tnxy.adf - souřadnice X a Y bodů TIN
Obsahuje a pole hodnot souřadnic X a Y, jeden pár pro každý bod TIN. Soubor dat pro každý bod lze popsat následující strukturou:
Bajty | Typ | Endianness | Používání |
---|---|---|---|
0–7 | dvojnásobek | velký | Hodnota souřadnic X. |
8–15 | dvojnásobek | velký | Hodnota souřadnic Y. |
tnz.adf - Z souřadnice bodů TIN
Obsahuje pole hodnot souřadnic Z, jednu pro každý bod TIN. Hodnoty jsou ve stejném pořadí jako hodnoty v tnxy.adf a společně ukládat trojrozměrnou souřadnici každého bodu TIN. Soubor dat pro každý bod lze popsat následující strukturou:
Bajty | Typ | Endianness | Používání |
---|---|---|---|
0–3 | plovák | velký | Hodnota souřadnic Z. |
tnod.adf - Indexy bodů, které tvoří trojúhelníky TIN
Obsahuje pole indexů k bodům, které tvoří trojúhelníky TIN, 3 indexy pro každý trojúhelník. Indexy jsou v rozmezí od 1 do počtu bodů ([1, # bodů]). Přední strana trojúhelníku (obvykle horní strana) je ta plocha, která má uspořádané 3 body / rohy ve směru hodinových ručiček při pohledu. Soubor dat pro každý trojúhelník lze popsat následující strukturou:
Bajty | Typ | Endianness | Používání |
---|---|---|---|
0–3 | int32 | velký | Rejstřík prvního bodu trojúhelníku |
4–7 | int32 | velký | Index druhého bodu trojúhelníku |
8–11 | int32 | velký | Index třetího bodu trojúhelníku |
tedg.adf - Topologie trojúhelníků a typ jejich hran
Obsahuje informace o topologii trojúhelníků a typu jejich hran.
U každého trojúhelníku je položka se všemi 3 indexy, které ukazují na pozici (číslo indexu) v tnod.adf soubor k identifikaci trojúhelníku, který sdílí hranu s trojúhelníkem popsaným v aktuální datové sadě, a bod tohoto trojúhelníku, který tvoří tuto hranu.
Pro každý trojúhelník v tnod.adf existuje datová sada ve stejném umístění souboru v tedg.adf. Každá z hodnot ukazuje na místo v tnod.adf, kde je určen bod (index tohoto bodu), který tvoří hranu. Zároveň od umístění v tnod.adf a tedg.adf odpovídají, každá z hodnot ukazuje na místo v tedg.adf, kde je zadáno umístění hodnoty. Pravidlo: Pokud hrana A trojúhelníku A ukazuje na hranu b trojúhelníku B, pak hrana b trojúhelníku B musí směřovat k okraji A trojúhelníku A. Od definice hrany v tedg.adf a definice bodu v tnod.adf každého trojúhelníku jsou na stejném místě soubory, indexy v tedg.adf přejděte na definici bodu v tnod.adf sousedních trojúhelníků.
Indexy kódují skutečný index a typ okraje. Skutečné indexy nejsou kompenzacemi souborů bajtů, ale spíše v int32 hodnoty, v rozsahu od 1 do počtu bodů ([1, # bodů]). Pokud je hodnota záporná (bit 31 je nastaven), hrana je hranicí hrany. Dále bit 30 z int32 hodnoty se používají k určení, zda je hrana tvrdá nebo měkká hrana. Pokud by skutečný index byl 1234 (0x000004D2), pak by byla pevná hrana zakódována jako -1234 (0xFFFFFB2E) a měkká hrana jako -1073743058 (0xBFFFB2E). Definice hrany sousedního trojúhelníku musí odrážet typ hrany. POZOR: Toto chování se od ArcGIS 10 změnilo. Porovnejte prosím informace uvedené v sekci 'Formátujte změny a nové soubory pomocí ArcGIS 10 '.
Soubor dat pro každý trojúhelník lze popsat následující strukturou:
Bajty | Typ | Endianness | Používání |
---|---|---|---|
0–3 | int32 | velký | Zakódovaný index definice bodu (index bodu) sousedního trojúhelníku v tnod.adf které tvoří hranu s prvním bodem trojúhelníku |
4–7 | int32 | velký | Zakódovaný index definice bodu (index bodu) sousedního trojúhelníku v tnod.adf které tvoří hranu s druhým bodem trojúhelníku |
8–11 | int32 | velký | Zakódovaný index definice bodu (index bodu) sousedního trojúhelníku v tnod.adf které tvoří hranu se třetím bodem trojúhelník |
tdenv.adf - Záhlaví nebo statistiky
Tento soubor obsahuje informace, které lze považovat za kombinaci záhlaví souboru a statistických údajů.
Bajty | Typ | Endianness | Používání |
---|---|---|---|
0–3 | int32 | velký | Počet bodů (pravidelné body a superpointy ) |
4–7 | int32 | velký | Počet trojúhelníků |
8–11 | int32 | velký | Počet indexů a oddělovačů v thul.adf |
12–15 | int32 | velký | 0 (ve verzi 9) / počet špičkových záznamů v teval.adf (verze 10) |
16–19 | int32 | velký | Počet trojúhelníků bez maskování tmsk.adf |
20–23 | int32 | velký | Počet pravidelných bodů |
24–27 | int32 | velký | Počet superpointy |
28–31 | plovák | velký | Minimální výška (hodnota Z nejnižšího bodu; zmin) |
32–35 | plovák | velký | Maximální výška (hodnota Z nejvyššího bodu; zmax) |
36–39 | int32? | velký | Neznámé, byly zjištěny různé hodnoty |
40–47 | dvojnásobek | velký | Minimální rozsah ve směru X (xmin) |
48–55 | dvojnásobek | velký | Minimální rozsah ve směru Y (ymin) |
56–63 | dvojnásobek | velký | Maximální rozsah ve směru X (xmax) |
64–71 | dvojnásobek | velký | Maximální rozsah ve směru Y (ymax) |
72–79 | dvojnásobek ? | velký | Neznámé, vždy 0 |
80–87 | dvojnásobek ? | velký | Neznámé, byly zjištěny různé hodnoty |
88–91 | int32 | velký | Neznámé, vždy 70001 (verze 9) / 90001 (verze 10); možná číslo verze |
92–95 | int32 | málo | Počet použitých značek (vč. Značky) 0 pro superpointy ) |
96–99 | int32? | velký | Neznámé, vždy 0; možná nevyužito |
100–103 | int32? | velký | Neznámé, vždy 0; možná nevyužito |
thul.adf - Trup, ohraničující mnohoúhelník a díry
Obsahuje pole indexů a oddělovačů, které definují vnější hranici TIN a jejích děr. Indexy jsou v rozmezí od 1 do počtu bodů ([1, # bodů]). Oddělovače jsou -1 (0xFFFFFFFF) a nula (0).
Pokud je TIN konstruováno pomocí superpointy (obvykle první 4 body), thul.adf vypíše indexy těchto bodů a poté -1 (0xFFFFFFFF). Po oddělovači následuje jeden nebo více seznamů indexů, které tvoří ohraničující polygony (vnější hranice) a možná díry (vnitřní hranice). Tyto seznamy jsou odděleny nulovými hodnotami (0).
Pokud DIČ neobsahuje superpointy, thul.adf začíná na -1 (0xFFFFFFFF) oddělovač, za kterým následuje jeden nebo více seznamů indexů, které tvoří ohraničující polygony (vnější hranice) a možná díry (vnitřní hranice). Tyto seznamy jsou odděleny nulovými hodnotami (0).
Indexy a oddělovače jsou 4bajtové celočíselné hodnoty (int32), uložené v pořadí bajtů big-endian.
tmsk.adf - Maska
Obsahuje pole bitů (uložené v 4 bajtových celých číslech), které určují viditelnost trojúhelníků TIN. To lze použít ke skrytí trojúhelníků uvnitř otvorů v terénu nebo mimo terén (mimo vnější hranice).
Soubor je uložen pomocí stejných struktur (záhlaví a záznamů) jako a tvarový soubor, ale protože ukládá pouze hodnoty viditelnosti trojúhelníků, používá se mnoho polí záhlaví.
Záhlaví souboru je stanoveno na 100 bajtů a obsahuje 17 polí; devět 4bajtových (32bitové celé číslo se znaménkem nebo int32) celočíselných polí následovaných osmi 8bajtovými (dvojnásobek ) podepsaná pole s plovoucí desetinnou čárkou:
Bajty | Typ | Endianness | Používání |
---|---|---|---|
0–3 | int32 | velký | Kód souboru (vždy hexadecimální hodnota 0x0000270a) |
4–23 | int32 | velký | Nepoužitý; pět uint32 |
24–27 | int32 | velký | Délka souboru (v 16bitových slovech, včetně záhlaví) |
28–31 | int32 | málo | Verze 0; pravděpodobně nevyužito |
32–35 | int32 | málo | Typ tvaru 0; pravděpodobně nevyužito |
36–43 | dvojnásobek | málo | Minimální rozsah X (vždy 0,0); nepoužitý |
44–51 | dvojnásobek | málo | Minimální rozsah Y (vždy 0,0); nepoužitý |
52–59 | dvojnásobek | málo | Maximální rozsah X (vždy 0,0); nepoužitý |
60–67 | dvojnásobek | málo | Maximální rozsah Y (vždy 0,0); nepoužitý |
68–75 | dvojnásobek | málo | Minimální rozsah Z (vždy 0,0); nepoužitý |
76–83 | dvojnásobek | málo | Maximální rozsah Z (vždy 0,0); nepoužitý |
84–91 | dvojnásobek | málo | Minimální M rozsah (vždy 0,0); nepoužitý |
92–99 | dvojnásobek | málo | Maximální M rozsah (vždy 0,0); nepoužitý |
Soubor poté obsahuje alespoň 2 záznamy. Každý záznam má předponu s hlavičkou záznamu o 8 bajtech:
Bajty | Typ | Endianness | Používání |
---|---|---|---|
0–3 | int32 | velký | Číslo záznamu (1) |
4–7 | int32 | velký | Délka záznamu (v 16bitových slovech) |
Za záhlaví záznamu jsou skutečná data.
Záznam 1: Data záznamu číslo 1 jsou dlouhá 2 slova a obsahují pouze velikost dat záznamu číslo 2 ve 4bajtových celých číslech, uložených jako 4bajtové celé číslo (big-endian) samotné.
Záznam 2: Data záznamu číslo 2 obsahují následující strukturu proměnné délky:
Bajty | Typ | Endianness | Používání |
---|---|---|---|
0–3 | int32 | velký | Číslo celého čísla v poli masky |
4–7 | int32 | velký | Nepoužitý; vždy 0; možná posun (bity, bajty nebo celá čísla?) do pole masky, kde začínají skutečné bity masky |
8–11 | int32 | velký | Počet použitých bitů v poli masky |
12– | uint32 [] | velký | Pole masky |
Bit 0 (nejméně významný bit) prvního celého čísla obsahuje příznak viditelnosti (neviditelný, pokud je nastaven na 1) prvního trojúhelníku definovaného v tnod.adf. Bit 1 prvního celého čísla obsahuje příznak viditelnosti (neviditelný, je-li nastaven na 1) druhého trojúhelníku atd. Všech 32 bitů celých čísel se zvykne (žádný znakový bit).
Záznam 0: Záznamy s číslem záznamu 0 musí být ignorovány.
tmsx.adf - Indexový soubor masky
Indexový soubor obsahuje stejnou 100bajtovou hlavičku jako tmsk.adf soubor, následovaný libovolným počtem 8bajtových záznamů pevné délky, které se skládají z následujících dvou polí:
Bajty | Typ | Endianness | Používání |
---|---|---|---|
0–3 | int32 | velký | Posun záznamu (v 16bitových slovech) |
4–7 | int32 | velký | Délka záznamu (v 16bitových slovech) |
Pomocí tohoto indexu je možné hledat zpět v tmsk.adf file by, first, seeking backwards in the index (which is possible because it uses fixed-length records), then reading the record offset, and using that offset to hledat to the correct position in the tmsk.adf soubor. Stejnou metodou je také možné hledat vpřed libovolný počet záznamů.
Volitelné soubory
V závislosti na informacích uložených v DIČ jsou zapotřebí některé další soubory.
prj.abf - Projekce a CRS
Obsahuje souřadnicový systém a projekční informace. Soubor může být buď v souboru Esri příchuť dobře známá textová reprezentace souřadnicových referenčních systémů formát (WKT), jednoduchý zápis hodnoty klíčového slova (klíčové slovo: Projekce, Datum, Sféroid, Jednotky, Zunits, Xshift, Yshift, Zóna, ...) nebo mít jeden řádek {B286C06B-0879-11D2-AACA-00C04FA33C20}, což znamená neznámý souřadný systém.
tndcs.abf - Statistika použití značky
Obsahuje řadu 24bajtových velkých datových souborů, jeden pro každou použitou značku. Sada dat obsahuje značku a počet bodů s touto značkou. Každá sada dat má následující strukturu:
Bajty | Typ | Endianness | Používání |
---|---|---|---|
0–3 | int32 | málo | Číslo záznamu; počínaje 1 |
4–7 | int32 | málo | Hodnota značky |
8–11 | int32 | málo | Nepoužitý; vždy 0; možná vyhrazeno pro rozšíření hodnot značek na 64 bitů |
12–15 | int32 | málo | Počet bodů se značkou |
16–19 | int32? | málo | Nepoužitý; vždy 0 |
20–23 | int32? | málo | Neznámý; vždy 0 v ArcGIS 9, různé hodnoty v ArcGIS 10 |
tnval.abf - Soubor značky bodu
Obsahuje pole 4 bajtových celočíselných hodnot, jedno pro každý (označený) bod TIN. Hodnoty jsou uloženy v pořadí bajtů little-endian. Superpointy mít hodnotu 0 (nula). Body bez tagu (např. Body přidané lomením hran) musí být uloženy jako poslední v TIN a v tomto souboru nemají žádný záznam.
Formátujte změny a nové soubory pomocí ArcGIS 10
Od ArcGIS 10 došlo ke změnám ve formátu souboru TIN. 2 nové soubory (teval.dbf a tnodinfo.dbf) a zůstal 1 soubor.
tdenv9.dbf - tdenv.dbf přejmenován
Struktura souboru zůstává stejná, dodatečně se použije pouze pole obsahující počet zlomových hran.
tnodinfo.dbf - Více informací k bodům
Obsahuje pole 2 bajtových celočíselných hodnot. Jeden krátký pro každý bod. Účel stále není veřejně znám. Zatím se zdá, že jde o nějaký druh bitové masky nebo kódu, který popisuje použití bodu. Zdá se, že hodnoty jsou uloženy v pořadí bajtů big-endian.
Hodnota | Šestnáctková hodnota | Používání |
---|---|---|
2 | 0x0002 | Superpoint |
4 | 0x0004 | Pravidelný bod |
24 | 0x0018 | ? |
88 | 0x0058 | ? |
132 | 0x0084 | ? |
280 | 0x0118 | ? |
284 | 0x011C | ? |
376 | 0x0178 | ? |
516 | 0x0204 | ? |
772 | 0x0304 | ? |
796 | 0x031C | ? |
teval.dbf - Nový špičkový soubor (část 1)
Obsahuje pole datových sad definujících hraniční hodnoty TIN, dvě pro každou hraniční hranu (jedna pro každý směr). Každá sada dat je 16 bajtů dlouhá a má následující strukturu:
Bajty | Typ | Endianness | Používání |
---|---|---|---|
0–3 | int32 | velký | Index definice bodu (index bodu) a definice hrany (index hrany) sousedního trojúhelníku v tnod.adf nebo tedg.adf které tvoří zlomovou hranu |
4–7 | int32 | velký | Index definice bodu (index bodu) a definice hrany (index hrany) aktuálního trojúhelníku v tnod.adf nebo tedg.adf které tvoří zlomovou hranu |
8–11 | int32 | velký | Typ lomové hrany (4 pro tvrdé hrany, 2 pro měkké hrany) |
12–15 | int32 | velký | Nepoužitý; vždy 0 |
tedg.dbf - Nový špičkový soubor (část 2)
Od ArcGIS 10 se tento soubor trochu změnil. Stále obsahuje datovou sadu pro každý trojúhelník a odkazy / indexy pravidelných hran se nezmění, ale kódování zlomových hran je jiné. Rozbité hrany jsou stále označeny pomocí záporných hodnot, ale index neukazuje na pozici souboru v tnod.dbf a tedg.dbf místo toho absolutem hodnoty je číslo vstupu hraniční hodnoty dovnitř teval.dbf. Kódování měkkých hran bylo přesunuto do teval.dbf, také.
Superpoint
V tomto článku je termín „superpoint“ používán na několika místech. Při absenci oficiálního popisu formátu souboru byl tento termín zvolen tak, aby odrážel vlastnosti těchto bodů. (Mohli se také nazývat „metapoint“, „extrapoint“, „infinity point“ a mnoho dalších.) Superpoint v kontextu formátu souboru Esri TIN je další bod přidaný softwarem ArcGIS během triangulace / generování CÍN. ArcGIS obvykle přidává 4 z těchto bodů, každý na západ, na sever, na východ a na jih od pravidelných TIN bodů, na extrémně velké vzdálenosti. Superpointy jsou obvykle první body v bodových souborech tnxy.adf a tnz.adf. Trojúhelníky, které jsou vytvořeny s těmito body, jsou obvykle maskované (neviditelné) v tmsk.adf soubor.
Viz také
Reference
- ^ A b Samaga, Uta. „Kartographische 3D-Modellierung mit dem ArcView 3D-Analyst“ (PDF). Citováno 2015-04-27.
- ^ A b Ormsby, Tim; Alvi, Jonell. Rozšíření ArcView GIS. ISBN 978-1-879-10205-7.
- ^ „Přednáška o povrchech, Ronald Briggs, Ph.D., GISP“. Citováno 2015-04-27.
- ^ "Popis formátu Virtual Project ITF (" Intermediate TIN Format ")". Citováno 2015-04-27.
- ^ A b C d „Zdrojový kód projektu Virtual Terrain čtecí Ersi TIN“. Citováno 2015-04-27.
- ^ „GeoEco Python Reference on ConvertSpatialReference Method“. Citováno 2015-04-27.
externí odkazy
- Formát ITF - Popis formátu „Intermediate TIN Format“ použitého v projektu Virtuální terén.
- Známý formát textu