Zrozumienie pliku .asc Esri?

18

Czytanie pomocy ArcGIS: Obsługiwane formaty plików zestawów danych rastrowych. Przeczytałem, że typy plików ASCII Grid są adresowane z pojedynczym rozszerzeniem .asc zarówno 16-bitowej liczby całkowitej ze znakiem (dla danych dyskretnych), jak i 32-bitowych plików zmiennoprzecinkowych (dla danych ciągłych ).

Mówią w sekcji formatu Esri Grid :

Siatka jest rodzimym formatem przechowywania danych rastrowych dla Esri. Istnieją dwa rodzaje siatek: liczba całkowita i liczba zmiennoprzecinkowa.

a następnie opisuje, jakie są oba formaty.

Moje zamieszanie pojawia się w następnej sekcji pomocy Format rastrowy Esri ASCII . Tam wymieniają tylko format zmiennoprzecinkowy. Chciałbym wiedzieć:

  1. Czy 16-bitowy format liczb całkowitych ze znakiem dla danych dyskretnych jest również uważany za format rastrowy, oprócz siatki?
  2. W sekcji „ESRI Grid format - Grid data storage” cytują kilka innych rozszerzeń, takich jak .bnd, .hrd itp.? Czy 16-bitowy plik .asc z liczbą całkowitą ze znakiem, wersja ASCII dyskretnego formatu siatki danych Esri?

Motywem tego pytania jest opisanie / zrozumienie, co to jest plik z rozszerzeniem .asc.

Andre Silva
źródło

Odpowiedzi:

21

W świecie Esri .ascplik zwykle odnosi się do danych wyjściowych utworzonych za pomocą polecenia GRIDASCII (ArcInfo Workstation) lub narzędzia Raster to ASCII (ArcGIS for Desktop). W praktyce może to oznaczać dowolny format, zwykle zwykły tekst, co oznacza, że ​​nie można założyć z .ascrozszerzenia, jak to wygląda w środku.

Jest to format wymiany, co oznacza, że ​​nie jest (normalnie) wykorzystywany jako dane wejściowe do analizy lub podstawowej pamięci, ale do wymiany z innymi programami.

Format rastrowy Esri ASCII może wykorzystywać liczby całkowite lub zmiennoprzecinkowe dla wartości Z (komórki). Oba są ważne:

NCOLS 480
NROWS 450
XLLCORNER 378922
YLLCORNER 4072345
CELLSIZE 30
NODATA_VALUE -9999
43 2 45 7 3 56 2 5 23 65 34 6 32 54 57 34
35 45 65 34 2 6 78 4 2 6 89 3 2 7 45 23 5 ...

NCOLS 480
NROWS 450
XLLCORNER 378922
YLLCORNER 4072345
CELLSIZE 30
NODATA_VALUE -32768
43.245 7.356 2.523 6.534 6.325 57.34
35.456 34.267 4.268 32.745 23.5 ...

Formacie ESRI GRID , zwany też ArcInfo Binary Siatka składa się z wielu plików w jednym katalogu ( .hdr, .adf...) i którego zawartość jest nieprzezroczyste (wygląda jak bełkot w edytorze tekstu). Specyfikacja siatki nie została opublikowana, ale bardzo skutecznie została poddana inżynierii wstecznej . Binary Grid jest domyślnym formatem rastrowym dla ArcInfo Workstation (faktycznie pochodzi z jego programu GRID) i jest używany jako podstawowa pamięć i dane wejściowe do analizy.

Nie pytałeś o to, ale dla kompletności: istnieje również format pliku zmiennoprzecinkowego siatki Esri . Nie służy do podstawowego przechowywania ani analizy.

Siatki zmiennoprzecinkowe są tworzone za pomocą polecenia GRIDFLOAT (ArcInfo Workstation) lub narzędzia Raster to Float (ArcGIS for Desktop) i zazwyczaj mają .fltrozszerzenie wartości surowych (kodowane binarnie) oraz .hdrplik bocznego samochodu opisujący format. .Hdr jest zwykłym tekstem i przypomina początek pliku .asc:

ncols         382
nrows         425
xllcorner     217996.296875
yllcorner     708952.625
cellsize      300.0741885626
NODATA_value  -9999
byteorder     LSBFIRST

W praktyce , jeśli masz plik o nieznanym formacie, który Twoim zdaniem może być rastrem, pokaż go gdalinfo z i zwykle będzie w stanie odkryć, co to jest:

D:\> gdalinfo strange_file.raw

Driver: AAIGrid/Arc/Info ASCII Grid
Files: strange_file.raw
Size is 382, 425
Coordinate System is `'
Origin = (217996.296875000000000,836484.155139103760000)
Pixel Size = (300.074188562596990,-300.074188562596990)
Corner Coordinates:
Upper Left  (  217996.297,  836484.155)
Lower Left  (  217996.297,  708952.625)
Upper Right (  332624.637,  836484.155)
Lower Right (  332624.637,  708952.625)
Center      (  275310.467,  772718.390)
Band 1 Block=382x1 Type=Int32, ColorInterp=Undefined
  NoData Value=-2147483648

.

D:\>gdalinfo strange_file_too.raw

Driver: EHdr/ESRI .hdr Labelled
Files: strange_file_too.flt
       strange_file_too.hdr
       strange_file_too.prj
Size is 382, 425
  ...snip...
Band 1 Block=382x1 Type=Float32, ColorInterp=Undefined
  NoData Value=-9999

... a następnie użyj gdal_translate, aby przekonwertować go na coś przydatnego, jeśli nie masz pod ręką ArcGIS na komputer.

matowe wilkie
źródło
3
... dla kompletności dodałem także coś o GRIDFLOAT
matt wilkie 18.09.13
3

Formaty siatki Esri są zastrzeżonymi plikami binarnymi. Nie ma czegoś takiego jak wersja plików grid ASCII. Istnieje format przesyłania ASCII, do którego odwołuje się twój post.

Nigdy nie próbowałem ładować danych zmiennoprzecinkowych do pliku ASCII, ale wiem, że 16-bitowe podpisane dane zostałyby zaakceptowane (całkowite siatki to 32-bitowe podpisane dane). Podczas importowania dane ASCII są konwertowane na siatkę, która może być następnie eksportowana do dowolnego z kilkunastu różnych 16-bitowych formatów binarnych.

Pamiętaj, że rozszerzenie „.asc” nie jest wymagane ani wyłączne, więc mylące jest tworzenie odniesień do „rozszerzenia .asc”.

Vince
źródło
1
Każdy plik może być plikiem binarnym, w tym dowolny z sufiksem „.txt”. Szczerze mówiąc, jeśli mimo to musisz zapisać plik, lepiej jest utworzyć plik .bsq / .bil / .bip z plikiem .hdr zgodnym z help.arcgis.com/en/arcgisdesktop/10.0/help/index .html # //… - wynikowy plik binarny będzie ułamkiem wielkości pliku .asc i będzie bardziej użyteczny.
Vince