Dies ist der Befehl r.compressgrass, der im kostenlosen OnWorks-Hosting-Provider mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
r.komprimieren - Komprimiert und dekomprimiert Rasterkarten.
SCHLÜSSELWÖRTER
Raster, Kartenverwaltung, Komprimierung
ZUSAMMENFASSUNG
r.komprimieren
r.komprimieren --help
r.komprimieren [-up] Karte=Schnur[,Schnur,...] [--Hilfe] [--ausführlich] [--ruhig] [--ui]
Flaggen:
-u
Entpacken Sie die Karte
-p
Komprimierungsinformationen und Datentyp der Eingabekarte(n) drucken
--help
Nutzungszusammenfassung drucken
- ausführlich
Ausführliche Modulausgabe
--ruhig
Leiser Modulausgang
--ui
Starten des GUI-Dialogs erzwingen
Parameter:
Karte=Zeichenfolge[,Zeichenfolge,...] [erforderlich]
Name der vorhandenen Rasterkarte(n)
BESCHREIBUNG
r.komprimieren kann zum Komprimieren und Dekomprimieren von Rasterkarten-Layern verwendet werden. Außerdem ist es
druckt Informationen über die Kartenkomprimierung und den Datentyp der Eingabe-Rasterkarte(n).
Während der Komprimierung formatiert dieses Programm Rasterkarten mit einer Run-Length-Encoding (RLE) neu.
oder der "deflate" (LZ77-basierte) Algorithmus von ZLIB. Rasterkartenebenen, die sehr wenig enthalten
Informationen (wie Grenz-, Geologie-, Boden- und Landnutzungskarten) können stark reduziert werden
Größe. Einige Rasterkarten-Layer werden auf etwa 1 % ihrer ursprünglichen Größe verkleinert. Rasterkarte
Ebenen mit komplexen Bildern wie Höhen- und Foto- oder Satellitenbildern können
leicht an Größe zunehmen. Alle neu generierten Rasterkarten werden automatisch gespeichert in
komprimierte Form (siehe FORMATE unten). Andere Module können sowohl komprimiert als auch normal lesen
(unkomprimierte) Dateiformate.
Als Beispiel ist der Rasterkarten-Layer der Spearfish-Datenbank Eigentümer hatte ursprünglich eine Größe von
26600 Byte. Nach der RLE-Komprimierung wurde die Rasterkarte nur noch 1249 Byte (25351 .)
Byte kleiner).
Rasterdateien können manuell dekomprimiert werden, um sie in ihr ursprüngliches Format zurückzugeben, mit
die -u Flagge von r.komprimieren. Wenn r.komprimieren wird aufgefordert, eine Rasterkarte zu komprimieren, die
bereits komprimiert (oder um eine bereits dekomprimierte Rasterkarte zu dekomprimieren), es einfach
informiert den Benutzer, dass die Karte bereits (de)komprimiert ist und beendet wird.
TERMINOLOGIE
· INTEGER-Karte (Datentyp CELL): eine Rasterkarte vom Typ INTEGER (nur ganze Zahlen)
· FLOAT-Karte (FCELL-Datentyp): eine Rasterkarte vom Typ FLOAT (4 Byte, 7-9 Ziffern)
Präzision)
· DOUBLE-Map (DCELL-Datentyp): eine Rasterkarte vom Typ DOUBLE (8 Byte, 15-17 Ziffern)
Präzision)
· NULL: stellt "keine Daten" in Rasterkarten dar, zu unterscheiden von 0 (Null) Daten
Wert
BENUTZT KOMPRESSION ALGORITHMEN
Gleitkomma-Rasterkarten (FCELL, DCELL) verwenden niemals die RLE-Komprimierung; sie sind entweder
komprimiert mit ZLIB oder unkomprimiert.
Ganzzahlige (CELL) Rasterkarten sind standardmäßig ZLIB-komprimiert oder können unkomprimiert bleiben. Wenn
die Umgebungsvariable GRASS_INT_ZLIB existiert und hat den Wert 0, neu generiert
Komprimierte Integer (CELL-Typ) Rasterkarten werden mit RLE-Komprimierung komprimiert
statt ZLIB.
In der internen cellhd-Datei ist der Wert für "compressed" 1 für RLE und 2 für ZLIB.
Offensichtlich wird die Dekompression durch die Komprimierung der Rasterkarte gesteuert, nicht durch die
variable Umgebung
ANMERKUNG
r.komprimieren kann entweder nicht interaktiv oder interaktiv ausgeführt werden. Bei nicht interaktiver Nutzung
der Benutzer muss den/die Namen der zu komprimierenden Rasterkartenebene(n) angeben (oder
dekomprimiert) in der Befehlszeile mit dem Formular Karte=Name[,Name,...] (wobei jeder Name is
der Name einer Rasterkartenebene, die komprimiert oder dekomprimiert werden soll). Das Standardverhalten ist
um die benannte(n) Karte(n) zu komprimieren.
FORMATEN
Vom Konzept her besteht eine Raster-Datendatei aus Zellenzeilen, wobei jede Zeile die
gleiche Anzahl von Zellen. Eine Zelle besteht aus einem oder mehreren Bytes. Die Anzahl der Bytes pro Zelle
hängt von den in der Zelle gespeicherten Kategoriewerten ab. Kategoriewerte im Bereich 0-255
erfordern 1 Byte pro Zelle, während Kategoriewerte im Bereich von 256 bis 65535 2 Byte erfordern, und
Kategoriewerte im Bereich über 65535 erfordern 3 (oder mehr) Bytes pro Zelle.
Die dekomprimiert Rasterkartenformat entspricht dem konzeptionellen Format. Zum Beispiel ein Raster
Karte mit 1 Byte Zellen, das sind 100 Zeilen mit 200 Zellen pro Zeile, besteht aus 20,000 Byte.
Ausführen des UNIX-Befehls ls -l auf dieser Datei wird eine Größe von 20,000 angezeigt. Wenn die Zellen wären
2 Byte Zellen würde die Datei 40,000 Byte benötigen. Die Kategoriewerte der Kartenebene beginnen
mit der oberen linken Eckzelle, gefolgt von den anderen Zellen entlang der nördlichen Grenze.
Das Byte nach dem letzten Byte dieser ersten Zeile ist die erste Zelle der zweiten Zeile von
Kategoriewerte (von links nach rechts). Es gibt keine Zeilenendemarkierungen oder andere
Synchronisieren von Codes in der Rasterkarte. Eine Zellenheaderdatei (cellhd) wird verwendet, um zu definieren, wie dies
Die Bytefolge wird in Zeilen mit Kategoriewerten aufgeteilt.
Die komprimiert Das RLE-Format ist nicht so einfach, aber recht elegant im Design. Es nicht
benötigt nur weniger Speicherplatz zum Speichern der Rasterdaten, kann aber oft zu schnelleren
Ausführung von Grafik- und Analyseprogrammen, da weniger Platten-I/O anfällt. Es gibt zwei
komprimierte RLE-Formate: das Format vor Version 3.0 (das GRASS-Programme lesen können, aber keine
mehr produzieren) und das Version 3.0-Format (das automatisch verwendet wird, wenn neue Raster
Kartenebenen werden erstellt).
PRE-3.0 FORMAT:
Die ersten 3 Bytes (Zeichen) - Dies ist ein spezieller Code, der die Rasterdaten identifiziert als
komprimiert.
Adressarray (lang) - Array (Größe der Anzahl der Zeilen + 1) von Adressen, die auf die
interner Beginn jeder Zeile. Da jede Zeile eine andere Größe haben kann, ist dieses Array
notwendig, um eine Zuordnung der Daten zu ermöglichen.
Zeile für Zeile, beginnend am nördlichen Rand der Daten, beschreibt eine Reihe von Bytegruppen
die Daten. Die Anzahl der Bytes in jeder Gruppe ist die Anzahl der Bytes pro Zelle plus eins.
Das erste Byte jeder Gruppe gibt eine Zählung (bis zu 255) der Anzahl der Zellen an, die enthalten
die Kategoriewerte, die durch die verbleibenden Bytes der Gruppe gegeben werden.
POST-3.0 FORMAT:
Der 3-Byte-Code wird nicht verwendet. Stattdessen wird ein Feld im Zellenkopf verwendet, um anzuzeigen:
komprimiertes Format.
Das Adressfeld ist das gleiche.
Das RLE-Format ist das gleiche wie das RLE vor 3.0, außer dass jeder Datenzeile ein vorangestellt ist
ein einzelnes Byte, das die Anzahl der Bytes pro Zelle für die Zeile enthält, und wenn
Die Lauflängencodierung der Zeile würde nicht weniger Platz benötigen als die Nicht-Lauflängencodierung,
dann wird die Zeile nicht codiert.
Diese Verbesserungen bieten eine bessere Komprimierung als das Format vor 3.0 in 99% des Rasters
Datenschichten. Die Arten von Raster-Daten-Layern, die größer werden, sind diejenigen, bei denen jede Zeile
wäre größer, wenn komprimiert (zB Bildbanddateien). Aber auch in diesem Fall ist die
Raster-Datenschicht wäre nur um die Größe des Adress-Arrays und der einzelnen
Byte vor jeder Zeile.
Seit GRASS GIS 7.0.0 ist die Standardkomprimierungsmethode für Integer (CELL)-Karten deflation
und nicht mehr die RLE-Komprimierung.
DEFLATE Durckstufen Grad des
Wenn die Umgebungsvariable GRASS_ZLIB_LEVEL existiert und ihr Wert als
Ganzzahl, bestimmt die Komprimierungsstufe, die verwendet wird, wenn neu generierte Rasterkarten
mit der Zlib-Komprimierung komprimiert. Dies gilt für alle Rasterkartentypen (CELL, FCELL,
DCELL).
Wenn die Variable nicht existiert oder der Wert nicht als Ganzzahl geparst werden kann, wird zlib's
Standard-Komprimierungsstufe wird verwendet.
Beispiele:
Drucken des aktuellen Kompressionszustands:
r.compress komprimiert_no -p
(Stufe 0: KEINE). Datentyp:
Anwenden der RLE-Komprimierung auf eine Kopie der unkomprimierten Karte:
# Komprimierung der Karte mit RLE-Komprimierung
g.copy raster=compressed_no,compressed_RLE
export GRASS_INT_ZLIB=0 # RLE
r.compress komprimiert_RLE
r.compress komprimiert_RLE -p
komprimiert ist (Stufe 1: RLE). Datentyp:
aufheben GRASS_INT_ZLIB
Anwenden der DEFLATE (ZLIB)-Komprimierung auf eine Kopie der unkomprimierten Karte:
# Komprimierung der Karte mit DEFLATE-Komprimierung
g.copy raster=compressed_no,compressed_DEFLATE
export GRASS_INT_ZLIB=1 # entleeren
r.compress komprimiert_DEFLATE
r.compress komprimiert_DEFLATE -p
komprimiert (Stufe 2: DEFLATE). Datentyp:
aufheben GRASS_INT_ZLIB
Verwenden Sie r.compressgrass online mit den onworks.net-Diensten