<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.geoportal.rlp.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Bild-_und_Dateioptimierung</id>
	<title>Bild- und Dateioptimierung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://www.geoportal.rlp.de/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Bild-_und_Dateioptimierung"/>
	<link rel="alternate" type="text/html" href="https://www.geoportal.rlp.de/mediawiki/index.php?title=Bild-_und_Dateioptimierung&amp;action=history"/>
	<updated>2026-04-06T14:29:49Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Geoportal</subtitle>
	<generator>MediaWiki 1.35.13</generator>
	<entry>
		<id>https://www.geoportal.rlp.de/mediawiki/index.php?title=Bild-_und_Dateioptimierung&amp;diff=2366&amp;oldid=prev</id>
		<title>Felde am 3. Juni 2019 um 14:14 Uhr</title>
		<link rel="alternate" type="text/html" href="https://www.geoportal.rlp.de/mediawiki/index.php?title=Bild-_und_Dateioptimierung&amp;diff=2366&amp;oldid=prev"/>
		<updated>2019-06-03T14:14:55Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 3. Juni 2019, 14:14 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 272:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 272:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In der Folge können die Datentabellen mit den geclippten Rasterbildern z.B. mit QGis visualisiert werden.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In der Folge können die Datentabellen mit den geclippten Rasterbildern z.B. mit QGis visualisiert werden.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/translate&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/translate&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty&quot;&gt;&amp;#160;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;+&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:GDAL]]&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;!-- diff cache key Geoportal:diff:wikidiff2:1.12:old-1108:rev-2366:1.11.0 --&gt;
&lt;/table&gt;</summary>
		<author><name>Felde</name></author>
	</entry>
	<entry>
		<id>https://www.geoportal.rlp.de/mediawiki/index.php?title=Bild-_und_Dateioptimierung&amp;diff=1108&amp;oldid=prev</id>
		<title>Felde: Die Seite wurde neu angelegt: „&lt;translate&gt;  &lt;!--T:1--&gt; Die Optimierung der Bilddatei hinsichtlich der Berechnung von Bildpyramiden und der Verringerung des Speichervolumens ist am einfachste…“</title>
		<link rel="alternate" type="text/html" href="https://www.geoportal.rlp.de/mediawiki/index.php?title=Bild-_und_Dateioptimierung&amp;diff=1108&amp;oldid=prev"/>
		<updated>2019-05-14T13:11:36Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „&amp;lt;translate&amp;gt;  &amp;lt;!--T:1--&amp;gt; Die Optimierung der Bilddatei hinsichtlich der Berechnung von Bildpyramiden und der Verringerung des Speichervolumens ist am einfachste…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
Die Optimierung der Bilddatei hinsichtlich der Berechnung von Bildpyramiden und der Verringerung des Speichervolumens ist am einfachsten mit Hilfe von Befehlen, die an der Shell-Konsole eingegeben werden auszuführen. Der folgende Ablauf beschreibt zunächst das Erstellen und die Kontrolle der Bildpyramiden und im Anschluss das Kompressionsverfahren zur Verringerung des Speicherbedarfs.&lt;br /&gt;
&lt;br /&gt;
==Aufruf der Shell-Konsole== &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
In der Statusleiste ist das Symbol Konsole Terminalprogramm anzuklicken. Es öffnet sich ein Fenster mit der Bezeichnung ''Befehlsfenster - Konsole.'' Im Terminalfenster steht der Cursor als weißes Rechteck neben der Prompt (z.B. sh-3.1$)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Komprimieren der Bilddatei== &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
Nach der Erstellung der Bildpyramiden sollte die Bilddatei komprimiert werden. D.h. der Dateiinhalt wird durch entsprechende Algorithmen erheblich in seiner Dateigröße reduziert und ist dadurch leichter zu handhaben. Im Terminalfenster wird dazu folgender Befehl eingegeben:&amp;lt;br&amp;gt;'''gdal_translate -of &amp;quot;GTIFF&amp;quot; -co &amp;quot;COMPRESS=LZW&amp;quot;''' ''alte Pfad- und Dateibezechnung neue Pfad- und Dateibenzeichnung''&amp;lt;br&amp;gt;Beispiel: gdal_translate -of &amp;quot;GTIFF&amp;quot; -co &amp;quot;COMPRESS=LZW&amp;quot; /home/knoppix/webgis-cd/testdaten/Schwanheim-modifiziert.tif /home/knoppix/webgis-cd/testdaten/Schwanheim-modifiziert_komp.tif&amp;lt;br&amp;gt;Die Befehlseingabe ist mit der ''Return-Taste'' abzuschließen.  Danach wird der Komprimierungsvorgang im Terminalfenster durch Angabe der bearbeiteten prozentualen Schritte und einem abschließenden ''done'' sichtbar.&amp;lt;br&amp;gt;In diesem Beispiel reduziert sich die Größe der Ursprungsdatei von 172 MB auf 73 MB.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
'''Hinweis!'''&lt;br /&gt;
Die Komprimierung der Bilddatei muss vor der Erstellung der Bildpyramiden erfolgen, da ansonsten die Ergebnisse der Pyramidenbildung verloren gehen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Erstellung der Bildpyramiden== &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
'''Hinweis!''': Da durch den folgenden Prozess die Bilddatei verändert wird, sollte vor Aufruf der Funktion eine Sicherungskopie der Datei erzeugt werden.&amp;lt;br&amp;gt;Im o.g. Terminalfenster ist folgender Befehl einzugeben:&amp;lt;br&amp;gt; '''gdaladdo -r average''' Dateipfad und Bezeichnung''' 2 4 8 16 32 64 128 256 512'''&amp;lt;br&amp;gt;wobei der Teil Dateipfad- und Bezeichnung durch die Pfadangabe und die Dateibezeichnung der Bilddatei zu ersetzten ist. Beispiel: &amp;lt;br&amp;gt;gdaladdo -r nearest /home/knoppix/webgis-cd/testdaten/Schwanheim-modifiziert.tif  2 4 8 16 32 64 128 256 512&amp;lt;br&amp;gt;Wird die Eingabe mit der ''Return-Taste'' abgeschlossen, beginnt die Funktion mit der Berechnung der Bildpyramiden und schreibt die zusätzlichen Ebenen mit den geringeren Auflösungen in die benannte Bilddatei zurück. Dies wird im Terminalfenster durch Angabe der bearbeiteten prozentualen Schritte und einem abschließenden ''done'' sichtbar. Damit ist die Erstellung der Bildpyramiden abgeschlossen.&lt;br /&gt;
&lt;br /&gt;
==Kontrolle der Bildpyramidenerstellung== &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
Mit folgendem Befehl kann im Terminalfester kontrolliert werden, ob die Erstellung der Bildpyramiden erfolgreich durchgeführt wurde.&amp;lt;br&amp;gt;'''gdalinfo''' ''Dateipfad und Bezeichnung''&amp;lt;br&amp;gt;Beispiel: gdalinfo /home/knoppix/webgis-cd/testdaten/Schwanheim-modifiziert.tif&amp;lt;br&amp;gt;Die angezeigten Metadaten der Bilddatei müssen jetzt die Beschreibung der Overviews beinhalten.&amp;lt;br&amp;gt;Beispiel: Overviews: 3129x2569, 1596x1285, 798x643, 399x322, 200x161, 100x81, 50x41, 25x21, 13x11&lt;br /&gt;
&lt;br /&gt;
==Bild- und Dateimanipulation== &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Rasterbildbereiche mit Hilfe von Vektorgeometrien ausstanzen (Clipping)=== &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
Zum Freistellen nicht relevanter Bildbereiche ist es unter Umständen sinnvoll, sich vorhandener Vektorgeometrien zu bedienen. &lt;br /&gt;
Diese können in vielfältiger Weise vorliegen. Die Programmbibliothek GDAL ermöglicht den Zugriff auf eine Vielzahl solcher Formate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
In der Kommandozeile (Konsole, Shell bzw. Terminal) erhalten sie die Informationen zur installierten GDAL Version und die Formate die angesprochen werden können folgendermaßen :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
'''gdalinfo --version'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
Sie erhalten dann beispielweise die folgende Ausgabe :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
''GDAL 1.11.2, released 2015/02/10''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
Welche Rasterformate sie bearbeiten können erfahren sie durch Eingabe von :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
'''gdalinfo --formats'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
Für die Vektorformate erhalten sie die Informationen durch folgende Eingabe :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
'''ogrinfo --formats'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
Im Folgenden wird dies für die Nutzung von Vektorgeometrien aus einer PostGIS Datenbank und einen ESRI Shapefile erläutert.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''gdalwarp'''=== &amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
Das Programm '''gdalwarp''' ermöglicht es mit Hilfe einer Vektorgeometrie georeferenzierte Rasterbilder auszustanzen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
Der grundsätzliche Programmaufruf bei Verwendung von GeoTiff Rastern und SHAPE Vektorgeometrien sieht folgendermaßen aus :&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
'''gdalwarp -cutline INPUT.shp INPUT.tif OUTPUT.tif'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
Möchten wir, dass der abgeschnittene Bereich mit einer Transparenzmaske in einem zusätzlichen Bildkanal abgeleft wird, erweitert sich die Syntax folgendermaßen :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
'''gdalwarp -cutline INPUT.shp -crop_to_cutline -dstalpha INPUT.tif OUTPUT.tif'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
Alternativ besteht nun die Möglichkeit durch Filter gezielt auf eine Geometrie in einer PostGIS DB zuzugreifen. Hierzu stehen Standard SQL SELECTS in folgender Weise zur Verfügung :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
'''gdalwarp -cutline PG:&amp;quot;dbname='$dbname' host='localhost' port='5432' user='$user'&amp;quot; -csql &amp;quot;select geom from $tablename where ....&amp;quot; -crop_to_cutline -dstalpha INPUT.tif OUTPUT.tif'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
Hier ein exemplarischer Workflow, für den Fall, dass sich aus den Dateinamen der Rasterbilder die Vektorgeometrie in der PostGIS Datenbank automatisiert zuordnen lässt :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#!/bin/bash&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#Definition of working_directories&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;r_dir=&amp;quot;$PWD&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;s_dir=&amp;quot;/home/ausbild/Daten/LK_WIL/Start_data/raster_new&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;t_dir=&amp;quot;/home/ausbild/Daten/LK_WIL/Start_data/raster_clipped&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;ext_t_dir=&amp;quot;raster_clipped/&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#Check if directories exist&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;if [  -d &amp;quot;$s_dir&amp;quot; ]; then&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  echo &amp;quot;OK, &amp;quot;$s_dir&amp;quot; exists&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;else&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  mkdir &amp;quot;$s_dir&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;fi&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;if [  -d &amp;quot;$t_dir&amp;quot; ]; then&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  echo &amp;quot;OK, &amp;quot;$t_dir&amp;quot; exists&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;else&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  echo &amp;quot; Not existing Direction: &amp;quot;$t_dir&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  mkdir $t_dir&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;fi &amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#change directory to &amp;quot;s_dir&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;cd &amp;quot;$s_dir&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#SLOPE&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;for line in *.tif;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;do&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  echo $line&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  #Splitting Filename into variables#&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  IFS=. read typ gkz num num_aend art dat_typ &amp;lt;&amp;lt;&amp;lt; $line&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  new_line=($typ'.'$gkz'.'$num'.'$num_aend'.'$art'.new.'$dat_typ)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  comp_line=($typ'.'$gkz'.'$num'.'$num_aend'.'$art'.comp.'$dat_typ)&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:34--&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  echo $new_line&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  #clipping with GDALWARP using geom from PG Database#&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  gdalwarp -cutline PG:&amp;quot;dbname = 'WIL_2clip' host = 'localhost' port = '5432' user= 'postgres'&amp;quot; -csql 'select geom from public.umr_buff where gkz = '\'$gkz\'' and nummer = '$num' and nummeraend = '$num_aend'' -crop_to_cutline -dstalpha $line $comp_line&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  echo -e &amp;quot;Geclipt: $comp_line\n&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  echo -e &amp;quot;\n&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  mv $comp_line ../$ext_t_dir/$new_line&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  rm $comp_line&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  rm $new_line&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;done&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#change directory to &amp;quot;t_dir&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;cd &amp;quot;$t_dir&amp;quot;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;for new_line in *.tif;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;do&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  echo $new_line&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  #Splitting Filename into variables#&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  IFS=. read typ gkz num num_aend art ext dat_typ &amp;lt;&amp;lt;&amp;lt; $new_line &amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  line=($typ'.'$gkz'.'$num'.'$num_aend'.'$art'.'$dat_typ) &amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  gdal_translate -of GTiff -co TFW=YES -co COMPRESS=LZW $new_line $line&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  gdaladdo -r average $line 2 4  8 16 32 64 128 256 512&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  rm $new_line&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;done&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;for line in *.tfw;&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;do&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  IFS=. read typ gkz num num_aend art dat_typ &amp;lt;&amp;lt;&amp;lt; $line&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  wld_file=($typ'.'$gkz'.'$num'.'$num_aend'.'$art'.wld')&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;  mv $line $wld_file&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;done&amp;lt;/nowiki&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==='''POSTGIS Raster'''=== &amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
Seit der PostGIS Version 2.0 stehen Rasterfunktionen zum Speichern, Verwalten und zur Manipulation von Bilddaten zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
PosGIS Installation entsprechend der [http://postgis.net/docs/postgis_installation.html#create_new_db_extensions PostGIS Dokumentation] mittels EXTENSIONS oder TEMPLATE. &lt;br /&gt;
In der Folge muss der Raster-Support der Datenbank aktiviert werden :&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
'''  SET postgis.enable_outdb_rasters TO True;'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''  SET postgis.gdal_enabled_drivers = 'ENABLE_ALL';'''&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In der Folge die SQL Scripte mit Rasterbezug aus ''/usr/share/postgresql/9.3/contrib/postgis-2.1'' ausführen.&lt;br /&gt;
In der Folge können Raster Tabellen mit dem Datentyp ''rast'' erzeugt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
Rasterbilder mit Funktion '''raster2pgsql''' auf der SHELL in DB einspielen. Über Wildcads (*) lassen sich auch Gruppen von Bildern in eine Tabelle laden.&amp;lt;br&amp;gt;&lt;br /&gt;
Zur Syntax der Funktion siehe in der [http://postgis.net/docs/manual-2.2/using_raster_dataman.html PostGIS Dokumentation], oder [https://duncanjg.wordpress.com/2012/11/20/the-basics-of-postgis-raster/ Duncan Golicher's Weblog]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
'''raster2pgsql -s 31466  -d -I -C -M -R -F -c -l 4 /home/ausbild/Daten/LK_WIL/Start_data/tmp/BPlan.07231008.10.0.*.tif public.raster_1008_10 | psql -d WIL_2clip -U postgres'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
Als User &amp;quot;postgres&amp;quot; (wenn dieser Eigentümer der entsprechenden DB ist) u.U. Clipping in VIEW erzeugen. Hierzu Postgres Interface mit &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
|'''psql $dbname''' &lt;br /&gt;
|}&lt;br /&gt;
starten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
Dann den VIEW erzeugen :&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
'''CREATE OR REPLACE VIEW _07231008_clip_1 AS SELECT st_clip(a.rast, st_buffer(b.geom, 1.7)) AS clip_rast,a.rid,a.filename,b.datei_bez,b.id_bplan FROM raster_1008_10 a LEFT JOIN umringe_komserv b ON a.filename = b.datei_bez  WHERE b.gkz = '07231008';'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
In der Folge VIEW einspielen :&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
'''INSERT INTO public._07231008_clipped SELECT * FROM _07231008_clip_1;'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
Damit die Datenbank effizient und performant die Datentabellen nutzen und auf die Daten zugreifen kann, sind INDIZES unabdingbar. Hier die Beispiele für INDIZES und CONSTRAINTS auf Rastertabellen :&lt;br /&gt;
{|cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;5&amp;quot; style=&amp;quot; font-size:100%; border:1px dashed #104E8B; background: #F9F9F9; width:100%&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
'''CREATE INDEX _07231001_covexrast_idx ON public._07231001_clipped USING gist (st_convexhull(rast));'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
'''ALTER TABLE _07231001_clipped ADD primary key (rid);'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
'''CREATE INDEX _07231001_idx ON _07231001_clipped USING btree( filename );'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
'''AddRasterConstraints('public._07231134_clipped'::name, 'clip_rast'::name);'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In der Folge können die Datentabellen mit den geclippten Rasterbildern z.B. mit QGis visualisiert werden.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;/div&gt;</summary>
		<author><name>Felde</name></author>
	</entry>
</feed>