Ich habe Fotos von einem Bereich, den ich als Hintergrundkarte für meine Vektoren verwenden möchte. Ich habe es als 2500 Dateien (je 71,5 MB) im TIFF-Rohformat mit entsprechender TFW-Word-Datei - 180 GB Daten. Das Koordinatensystem ist lokal und stimmt mit meinen Vektoren überein (es gibt keinen EPSG-Code dafür, aber ich habe es als "32805" bezeichnet und eine korrekte Definition vorgenommen).
Für die Desktop-Nutzung in MapInfo habe ich sie in ECW konvertiert (mit einem Tool, das mit MapInfo geliefert wird) und so viel größer retiliert, dass nur 71 Dateien vorhanden sind, da das Öffnen von 2500 Tiff-Dateien zu viel kostet. Ich habe gerade 49 TIFFs (7x7) in einer ECW zusammengeführt - 35000x35000 Pixel - das größte ist ungefähr 200 MB). Es funktioniert großartig und es ist wirklich schnell in MapInfo.
Jetzt bin ich ziemlich verwirrt - WIE kann ich sie in GeoServer bereitstellen?
Ich habe eine TIFF und eine ECW zum Vergleich veröffentlicht. ECW ist in der Browservorschau viel schneller (mir ist ein Problem mit der Lizenzierung von ECW-Servern bekannt, aber das sollte kein Problem sein). Ich habe eine Präsentation "GeoServer auf Steroiden" gefunden und über ImageMosaic, ImagePyramid, Retiling, Hinzufügen von Übersicht usw. gelesen. Es war ziemlich informativ, aber ich weiß immer noch nicht, was ich tun soll.
Meine Frage ist: wie soll ich das machen? Mosaik oder Pyramide, und wenn eine der Antworten positiv ist, brauche ich Ihren Rat oder einige Hinweise. Ich würde wirklich gerne ECW sein, weil der Speicherplatz nicht ausreicht, um 180 GB Tiff auf einem Server zu speichern.
Die Daten werden über LAN bereitgestellt, wobei maximal 20 Benutzer zur Hauptverkehrszeit verbunden sind. Der SQL Server verfügt nicht über eine so große Datenmenge. Es tut mir leid, wenn ich andere Informationen verpasse, aber ich sende sie bei Bedarf.
Geoserver 2.1.4, Windows 7 32-Bit, 2 GB Systemspeicher, (1.7.0_09 (Java HotSpot (TM) Server VM), native JAI + native JAI ImageIO = true
Original TIFF
gdalinfo D:\75720-47970.tif
Driver: GTiff/GeoTIFF
Files: D:\75720-47970.tif
D:\75720-47970.tfw
Size is 5000, 5000
Coordinate System is `'
Origin = (7572000.000000000000000,4797500.000000000000000)
Pixel Size = (0.100000000000000,-0.100000000000000)
Metadata:
TIFFTAG_SOFTWARE=Adobe Photoshop 7.0
TIFFTAG_DATETIME=2006:10:09 13:02:57
TIFFTAG_XRESOLUTION=72
TIFFTAG_YRESOLUTION=72
TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 7572000.000, 4797500.000)
Lower Left ( 7572000.000, 4797000.000)
Upper Right ( 7572500.000, 4797500.000)
Lower Right ( 7572500.000, 4797000.000)
Center ( 7572250.000, 4797250.000)
Band 1 Block=5000x1 Type=Byte, ColorInterp=Red
Band 2 Block=5000x1 Type=Byte, ColorInterp=Green
Band 3 Block=5000x1 Type=Byte, ColorInterp=Blue
-------------
ECW file which is retiled from 7x7 original tiffs
gdalinfo D:\OF-45.ecw
Driver: ECW/ERDAS Compressed Wavelets (SDK 3.x)
Files: D:\OF-45.ecw
Size is 35000, 35000
Coordinate System is:
LOCAL_CS["LOCAL - (unsupported)",
UNIT["Meter",1]]
Origin = (7571500.000000000000000,4798500.000000000000000)
Pixel Size = (0.100000000000000,-0.100000000000000)
Corner Coordinates:
Upper Left ( 7571500.000, 4798500.000)
Lower Left ( 7571500.000, 4795000.000)
Upper Right ( 7575000.000, 4798500.000)
Lower Right ( 7575000.000, 4795000.000)
Center ( 7573250.000, 4796750.000)
Band 1 Block=35000x1 Type=Byte, ColorInterp=Red
Overviews: 17500x17500, 8750x8750, 4375x4375, 2187x2187, 1093x1093, 546x546, 273x273, 136x136
Band 2 Block=35000x1 Type=Byte, ColorInterp=Green
Overviews: 17500x17500, 8750x8750, 4375x4375, 2187x2187, 1093x1093, 546x546, 273x273, 136x136
Band 3 Block=35000x1 Type=Byte, ColorInterp=Blue
Overviews: 17500x17500, 8750x8750, 4375x4375, 2187x2187, 1093x1093, 546x546, 273x273, 136x136
quelle
Antworten:
Ich habe ein Experiment mit einer TIFF-Datei und einer ECW durchgeführt. Begonnen mit einer ECW von 1,2 GB und konvertiert mit Komprimierung und Pyramiden in TIFF, waren es ~ 1,5 GB. Ich denke also, dass ein TIFF eine ähnliche Größe wie eine ECW haben kann.
Ich würde das Bild mit GDAL mosaikisieren und sicherstellen, dass die Komprimierung aktiviert ist. Erstellen Sie dann Pyramiden, und wenn die resultierende Datei angemessen ist (weniger als 10 GB, nehme ich an), überlasse ich GeoServer den Rest.
Die Leistung zwischen PostGIS und TIFF wird, wie ich verstehe, das TIFF begünstigen.
Verweise:
quelle
Ich hatte vor ein paar Wochen ein ähnliches Problem. Ich habe es so gelöst:
Auf diese Weise erhalten Sie eine MRDB (Multi-Resolution-Datenbank), die die effektivste Methode zur Bereitstellung einer großen Datenmenge darstellt.
Danach können Sie GeoServer einfach mit PostGIS verbinden und Ihre Daten bereitstellen. Nach meinem eigenen Beispiel musste ich in meiner Anwendung 82 Orthophotomaps (40 GB Daten) verwenden, also habe ich die folgenden Schritte ausgeführt und es funktioniert hervorragend! Der Nachteil dieser Situation ist, dass die Rasterfelder viel größer sind als die Quellfelder. In meinem Fall sind die Daten von 40 GB auf ~ 96 GB gewachsen.
BEARBEITEN Und Sie sollten Ihre Serverparameter überwachen, da 2 GB RAM und Win7 + Geoserver + Postgres manchmal ersticken können. Eine gute Möglichkeit, die Leistung zu steigern, besteht darin, die Datenbank auf einen anderen Computer zu verschieben oder Win7 auf Linux (oder beides) umzustellen, da * nix-Systeme kostengünstiger sind als MS-Systeme.
quelle