Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1

TOPIC: PRIKAZ RASTERA NA GEOSERVERU

PRIKAZ RASTERA NA GEOSERVERU 08 Dec 2016 10:26 #559

  • Neven
  • Neven's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 26
  • Thank you received: 4
  • Karma: 2
Poštovanje,

zanima me kakva su vaša iskustva s prikazom rastera na Geoserveru. Naime, zafrkava me prikaz rastera odnosno micanje bijele podloge (bounding box-a) iz istoga. Naime, nakon što uspješno clippam raster u ArcMapu (3 bands, u .tif formatu) i importam u Geoserver te ga natrag "pozovem" putem WMS-a u neki od programa
(npr. ArcMap), vraća mi ga s bijelom podlogom, točnije okvirom.

Primjer vidljiv na sljedećem linku:
.

No, nije problem samo u ArcMapu, ista stvar mi se događa i u samom preview-u na Geoserveru, a posebno je vidljiv prilikom izrade grupacije layera gdje pokušavam spojiti dva ili više rastera u jedan jedinstveni prikaz.

Iz sljedećeg primjera vidljiv je prikaz preklapanja dva okvira/bounding boxa:


E sad, mene zanima na koji način bih mogao riješiti navedeni problem. Je li to primjenom GDAL-a (tu sam muku mučio samo s instalacijom na Geoserver) ili nešto jednostavnijom metodom promjene SLD stila u Geoserveru?

Evo, tu je i primjer stila kojeg sam bio preuzeo, ali na žalost ne rješava problem:
[color=#880044]<?xml version="1.0" ?>
<sld:StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:sld="http://www.opengis.net/sld">
   <sld:UserLayer>
      <sld:LayerFeatureConstraints>
         <sld:FeatureTypeConstraint/>
      </sld:LayerFeatureConstraints>
      <sld:UserStyle>
         <sld:Name>te</sld:Name>
         <sld:Title/>
         <sld:FeatureTypeStyle>
            <sld:Name/>
            <sld:Rule>
               <sld:RasterSymbolizer>
                  <sld:Geometry>
                     <ogc:PropertyName>grid</ogc:PropertyName>
                  </sld:Geometry>
                  <sld:Opacity>1</sld:Opacity>
                  <sld:ChannelSelection>
                     <sld:RedChannel>
                        <sld:SourceChannelName>1</sld:SourceChannelName>
                     </sld:RedChannel>
                     <sld:GreenChannel>
                        <sld:SourceChannelName>2</sld:SourceChannelName>
                     </sld:GreenChannel>
                     <sld:BlueChannel>
                        <sld:SourceChannelName>3</sld:SourceChannelName>
                     </sld:BlueChannel>
                  </sld:ChannelSelection>
               </sld:RasterSymbolizer>
            </sld:Rule>
         </sld:FeatureTypeStyle>
      </sld:UserStyle>
   </sld:UserLayer>
</sld:StyledLayerDescriptor>
[/color]


UPDATE

Našao rješenje problema, uglavnom..morao instalirati GDAL i pomoću GDALA riješiti problem. Iskreno, ne smatram to nekim dugoročnim, a ni praktičnim rješenjem, ali za sada će poslužiti svrsi.

Uglavnom,

pomoću GDAL 111 CMD-a navigirao sam se u u folder gdje se nalaze rasteri i upisao sljedeću naredbu:
D:\IME_FOLDERA\RASTERI>gdalwarp -dstalpha -srcnodata 256 -dstnodata 0 input.tif output.tif
(input je ime rastera, a output je ime koje će raster dobiti nakon obrade-->u mojem slučaju to je bilo namjena.tif namjena_al.tif)

Ovo je željeni rezultat u OpenLayeru: (nema više bijelih okvira koji se preklapaju)



A ovo u ArcMapu:


Još samo da napomenem da sam nakon obrade u GDAL-u u Geoserveru iskoristio zadani stil za prikaz rastera.
Evo, nadam se da će nekome koristiti. Ako netko ima jednostavniju i bržu metodu neka slobodno napiše ili napravi nekakav mali tutorial, bio bih mu iznimno zahvalan :)
Last Edit: 09 Dec 2016 13:55 by Neven.
The administrator has disabled public write access.

PRIKAZ RASTERA NA GEOSERVERU 13 Dec 2016 11:03 #560

  • dracic
  • dracic's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 33
  • Thank you received: 11
  • Karma: 1
Geoserver očekuje RGBA GeoTIFF za transparentni prikaz (ili neki vanjski mask file), znači da moraš osim RGB imati i alpha band. Pretpostavljam da se i iz ArcGIS-a može to napraviti, iz QGIS-a je to poprilično jednostavno. Ovaj gore SLD ne radi ništa, osim što definira koji je od bandova u rasteru zeleni, plavi ili crveni. Samo se u singleband rasterima može za određeni "ColorMapEntry" navesti da je opacitiy=1 pa da bude transparentan.

Ima i drugo rješenje budući da se čak i pojedinačne GeoTIFF-ove može publishirati pomoću ImageMosaic plugina, gdje se može kroz GUI definirati "InputTransparentColor" - vrijednosti na RGB rasteru koji predstavljaju "nodata" i "OutputTransparentColor"/"BackgroundValues" - ostavimo prazno da bude transparentno. Primjere možeš pogledati na:

docs.geoserver.org/maintain/en/user/data...mosaic/tutorial.html

ImageMosaic plugin se inače koristi za publishing mozaika rastera, pa jedino što trebaš je GeoTIFF-ove staviti u zasebni folder, budući da će Geoserver za sloj iskreirati index.shp i oređene properties fajlove.
The administrator has disabled public write access.
The following user(s) said Thank You: Neven

PRIKAZ RASTERA NA GEOSERVERU 13 Dec 2016 12:12 #561

  • Neven
  • Neven's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 26
  • Thank you received: 4
  • Karma: 2
Ok, hvala ti. Javim rezultate :)

UPDATE

Napravio ImageMosaic i ubacio rastere, no opcije za InputTransparentColor/OutputTransparentColor sam ostavio po defaultu.
Na prvom primjeru su vidljivi rozi okviri


No, nakon podešavanja opcija InputTransparentColor/OutputTransparentColor prema tvojim uputama dobio sam željeni rezultat




Dakle, funkcionira...lijepo je znati. Hvala još jednom!
Last Edit: 13 Dec 2016 13:03 by Neven.
The administrator has disabled public write access.

PRIKAZ RASTERA NA GEOSERVERU 13 Dec 2016 16:19 #562

  • dracic
  • dracic's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 33
  • Thank you received: 11
  • Karma: 1
:)
The administrator has disabled public write access.
  • Page:
  • 1
Time to create page: 0.079 seconds