Sunteți pe pagina 1din 18

VII JORNADAS DE SIG LIBRE

Geoserver, ms all de un servidor WMS


M. Garca, O. Fonts, V. Gonzlez (1)
(1)
geomai!"o, red de desarrolladores SIG, info@geomati.co
RESUMEN
GeoServer es un servidor de mapas open source escrito en Java que
permite a los usuarios compartir editar in!ormaci"n #eoespacial
usando estndares a$iertos. %n e!ecto, implementa varios estndares
de!inidos por el Open Geospatial &onsortium (OG&), como por e'emplo
el ampliamente utilizado (e$ Map )ervice ((M)).
)in em$ar#o, Geo)erver o!rece muc*as ms !uncionalidades que la
implementaci"n del estndar (M). %n el presente artculo se pretende
dar un repaso a esas otras !uncionalidades menos conocidas pero
i#ualmente +tiles potentes que Geo)erver incorpora.
,ara empezar se descri$irn $revemente !uncionalidades poco
conocidad del propio estndar (M), como !ormatos de salida
caractersticas s"lo presentes en Geo)erver, como los len#ua'es de
!iltrado &-..
.a e/tensi"n de (e$ ,rocessin# )ervice ((,)) inclue #ran
!uncionalidad, utiliza$le !cilmente a trav0s del 12equest 3uilder4,
aplica$le tam$i0n en el sim$olizado de cada capa. %sto permite
preprocesar los datos en el momento de #enerar las im#enes.
Geo)erver dispone tam$i0n de una inter!az 2%)5 a trav0s de la cual
una aplicaci"n cliente puede con!i#urar una instancia del servidor
simplemente usando llamadas 655,. 7e esta manera se puede
pro#ramar la con!i#uraci"n de los datos servidos por dic*a instancia.
%l su$sistema de se#uridad permite inte#rar la #esti"n de usuarios
permisos con los sistemas corporativos e/istentes en una
or#anizaci"n, a trav0s de .78,, cone/iones a $ases de datos,
distintos niveles de ci!rado encriptaci"n.
Palabras clave: Geo)erver, (M), ).7, (,), 2%)5.
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
VII JORNADAS DE SIG LIBRE
# IN$ROD%&&I'N
GeoServer es conocido como ,n ser.idor de ma(as /,e c,m(le con los
est0ndares 1G2 3MS, 3FS 4 32S (rinci(almente. 5na de s,s caracter6sticas
(rinci(ales es ,na interfa7 +e- de ,s,ario /,e (ermite gestionar todos los
contenidos del ser.idor (cone%iones, ca(as, estilos, metadatos) de forma gr0fica, lo
c,al facilita enormemente la gesti8n de los contenidos sin necesidad de tener
conocimientos inform0ticos a.an7ados, (,esto /,e no re/,iere editar fic'eros de
config,raci8n o ,tili7ar la l6nea de comandos.
Pero, adem0s de la e.idente interfa7 gr0fica, GeoServer ofrece m,c'as m0s
f,ncionalidades, no siem(re conocidas, /,e lo 'acen 9nico res(ecto de otras
alternati.as, tanto de c8digo li-re como (ri.ati.o.
GeoServer dis(one de ,n m,4 -,en man,al en ingl:s, com(lementado (or
miles de $lo# posts 4 el 'ist8rico de s,s listas de correo. Toda la informaci8n a/,6
e%(,esta se (,ede encontrar en la red. ;o es (,es informaci8n in:dita, 4 ni
si/,iera (retende ser e%'a,sti.a. Sim(lemente (retendemos mostrar las
caracter6sticas distinti.as de GeoServer /,e 'emos considerado s,ficientemente
rele.antes, 4 es(eramos /,e (,edan res,ltar de ,tilidad (ara a/,ellas (ersonas
/,e se enc,entren en la sit,aci8n de tener /,e elegir ,n ser.idor de ma(as (ara
s,s (ro4ectos.
< (esar de s, t6t,lo, este doc,mento comien7a re(asando los ser.icios est0ndar
(rinci(ales) 3MS, 3FS, S=> 4 3PS. Pero no descri-ir0 las f,ncionalidades
-0sicas 4a conocidas (/,: es ,n doc,mento de capa$ilities, o c8mo reali7ar ,n
#etMap), sino /,e se centrar0 en las caracter6sticas /,e GeoServer (ro(orciona
m0s all0 de la f,ncionalidad e.idente. ?a-laremos tam-i:n de alg,nas
caracter6sticas rele.antes al margen de 1G2, como el sistema de seg,ridad 4
a,tenticaci8n, el ,so de las interfaces @AST, 4 ,n re(aso a alg,nas de s,s
e%tensiones, /,e se c,entan (or docenas. Finalmente dedicaremos ,na -re.e nota
a la intero(era-ilidad.
Aste doc,mento se 'a ela-orado en -ase a la 9ltima .ersi8n esta-le de
GeoServer, la !.!.".
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
VII JORNADAS DE SIG LIBRE
( WMS AVAN)ADO
GeoServer trata de lle.ar los est0ndares tan le&os como es (osi-le. Por e&em(lo,
(ara 3MS no s8lo ofrece im0genes (ara la +e-, sino /,e a tra.:s de (eticiones
3MS (odemos o-tener .isores com(letos, im0genes (erfectamente
georreferenciadas, doc,mentos .ectoriales o de alta resol,ci8n, listos (ara la
im(renta, e incl,so animaciones e informaci8n tridimensional.
(!# *ormaos disinivos
Tal como se es(era, 3MS ofrece los formatos de imagen 'a-it,ales) GIF, P;G
4 BPAG 4 TIFF. Pero .eamos alg,nos formatos m0s interesantes
1
)
image+,ng-) @ed,ce el n9mero de colores, escogidos de forma 8(tima, lo c,al
red,ce el (eso de la imagen P;G. =as 9ltimas .ersiones ,tili7an ,na n,e.a
t:cnica
!
/,e ofrece im0genes de calidad 8(tima, incl,so con trans(arencia. =a
sol,ci8n (ara generar cac':s ligeras de ca(as .ectoriales s,(er(,estas.
image+geoi.., incl,4e ca-eceras con el sistema de referencia de coordenadas.
5nido al resto de ca(acidades del ser.icio (re(ro4ecci8n, sim-oli7aci8n, filtrado),
(ermite ,sar 3MS como ,n ser.icio fle%i-le de descarga de geodatos /,e l,ego
(odremos incor(orar en n,estros SIG de escritorio. Tam-i:n incl,4e la .ariante
de # -its, image+geoi..-.
image+svg, rec,(era ,na imagen en formato .ectorial, edita-le con soft+are de
edici8n .ectorial 4 calidad 8(tima (ara im(renta.
1 'tt()**docs.geoser.er.org*sta-le*en*,ser*ser.ices*+ms*o,t(,tformats.'tml
! 'tt()**geoCsol,tions.-logs(ot.com.es*!01!*0D*de.elo(ersCcornerCgeoser.erCst,nning.'tml
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
,9G: #enerado en versiones anteriores (izquierda) me'oras a partir de la versi"n ;.;
(derec*a)
VII JORNADAS DE SIG LIBRE
a,,li"aion+,d., /,e tam-i:n se generar0 en formato .ectorial c,ando las ca(as
sean .ectoriales. Ideal (ara generar doc,mentos (ara s, im(resi8n en alta
calidad.
a,,li"aion+rss 4 a,,li"aion+aom, 9til (ara s,scri-irse a ca(as c,4os datos
cam-ien con el tiem(o. =as geometr6as se codifican en formato Geo@SS, de
modo /,e ,n .isor adec,ado (como 1(en=a4ers
$
) se (,eden mostrar los
res,ltados so-re ,n ma(a.
/ml 4 /m0, (ermite .er el contenido en $> en Google Aart'. >is(one de .arios
(ar0metros es(ec6ficos (ara controlar la manera como se o-tienen los
contenidos) incrementalmente ,tili7ando net+orElinEs, de forma rasteri7ada
(descarga com(leta o mediante teselado superoverla), de forma .ectorial, etc.
2om-inado con las o(ciones de e%tr,si8n $> de 4 marcas tem(orales, (ermite
animaciones 4 .istas tridimensionales, como .eremos m0s adelante.
a,,li"aion+o,enla1ers genera ,n .isor com(leto -asado en 1(en=a4ers a (artir
de ,na sim(le (etici8n 3MS. As la o(ci8n /,e ,tili7a GeoServer en s, la1er
,revie2. Pro(orciona ,n m:todo m,4 sencillo de incr,star .isores en otras
(0ginas +e-, en.iarlos como enlace en ,n correo electr8nico, etc.
$ 'tt()**o(enla4ers.org*de.*e%am(les*georss.'tml
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
7etalle de una petici"n (M) de ;.; metros<p/el, en !ormato ,9G (izquierda) )VG
(derec*a).
VII JORNADAS DE SIG LIBRE
(!( 3armeros es,e"4.i"os
<dem0s de los (ar0metros 3MS est0ndar, GeoServer (ro(orciona ,na
colecci8n de (ar0metros es(ec6ficos /,e e%tienden s, f,ncionalidad. Generalmente
estos (ar0metros se ,tili7an ligados a alg9n caso de ,so concreto. As decir, la
ma4or6a de ellos no tiene sentido ,sarlos en c,al/,ier (etici8n. Feamos alg,nos de
los m0s interesantes)
angle, (ermite orientar la imagen.
"5l6.iler, (ermite seleccionar /,: geometr6as /,ieren mostrarse, mediante ,nas
sinta%is de filtrado (2G= 4 A2G=) m,4 com(actas (ero (otentes. Por e&em(lo,
(ara o-tener los elementos en ,n radio de !D0 metros res(ecto a ,n (,nto dado)
=iteral -locE e%(ectedH none fo,nd.
c/lIfilterJ>3IT?I;(t'eIgeom, P1I;T ("$11# "D#1DK$), !D0, meters)
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
&apa ori#inal (izquierda) con el !iltro de e'emplo aplicado (derec*a).
,etici"n (M) orientada al norte (izquierda) con un n#ulo de => #rados (derec*a).
VII JORNADAS DE SIG LIBRE
>edicaremos ,n a(artado m0s adelante a .er s,s (osi-ilidades, entre las /,e se
incl,4en filtrados geom:tricos 4 tem(orales.
env, (ermite es(ecificar ,n con&,nto de .alores /,e se ,tili7ar0n (ara la
sim-oli7aci8n (ersonali7ada. =os .alores de(ender0n de c8mo se contr,4a el
S=> de .is,ali7aci8n. Por e&em(lo, (odemos escoger /,: s6m-olo se ,tili7ar0
(ara ,n ti(o de elemento, s, tamaLo 4 color. Feremos e&em(los en el a(artado
dedicado a sim-oli7aci8n.
(!7 De"ora"iones
An ,na imagen generada mediande 3MS, adem0s del (ro(io contenido del
ma(a, nos (,ede interesar aLadir alg,na informaci8n conte%t,al como la escala
gr0fica o n,m:rica, la le4enda, e incl,so te%tos e im0genes (ersonali7adas.
Para ello, GeoServer (ro(orciona ,na manera de definir com(osiciones o
laouts
"
.
Por e&em(lo, el sig,iente laout define tres decoraciones (le4enda, escala gr0fica
e imagen (ersonali7ada))
" 'tt()**docs.geoser.er.org*latest*en*,ser*ad.anced*+msdecoration.'tml
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
2esultado o$tenido de aplicar el laout anterior a una petici"n (M).
VII JORNADAS DE SIG LIBRE
<layout> <layout>
<decoration type="legend" affinity="top,right" offset="12,12" <decoration type="legend" affinity="top,right" offset="12,12"
size="auto"/> size="auto"/>
<decoration type="scaleline" affinity="bottom,right" offset="12,12" <decoration type="scaleline" affinity="bottom,right" offset="12,12"
size="auto"/> size="auto"/>
<decoration type="image" affinity="bottom,center" offset="12,12" <decoration type="image" affinity="bottom,center" offset="12,12"
size="36,6!"> size="36,6!">
<option name="url" "alue="layouts/geomatico#png"/> <option name="url" "alue="layouts/geomatico#png"/>
</decoration> </decoration>
</layout> </layout>
=os fic'eros de laout de-en g,ardarse en
GEOSERVER_DATA_DIR/layouts/nombre.xml , e in.ocarse mediante
&FORMAT_OPTIONS=layout:nombre en la (etici8n 3MS.
(!8 Anima"iones
<,n/,e se -ase en el (rotocolo 3MS, este ser.icio es com(letamente
es(ec6fico de GeoSer.er, 4 se ,tili7a (ara generar GIFs animados. ,tili7a dos
(ar0metros)
a,aram) Al (ar0metro /,e se desea animar. P,ede ser c,al/,iera de los
(ar0metros 3MS, (ero tam-i:n c,al/,iera de los (ar0metros es(ec6ficos de
GeoServer. Asto (ermite animar la (osici8n, (ro4ecci8n, tamaLo, tiem(o, estilo,
(ar0metros de estilo (en.), 0ng,lo, decoraciones, etc.
avalues) ,na lista de .alores /,e de-e tomar el (ar0metro (ara cada ,no de los
!rames del GIF animado)
=iteral -locE e%(ectedH none fo,nd.
'tt()**local'ost)#0#0*geoser.er*+ms*animate Mla4ersJNca(aO
Pa(aramJN(arametoO Pa.al,esJN.aloresO
2omo se o-ser.a, la direcci8n de -ase 4a no es /geoserver/wms, sino
geoserver/wms/animate.
Se (,eden es(ecificar las sig,entes o(ciones de formato (.orma6o,ions))
gi.6loo,6"oninuosl1) Para re(etir la animaci8n indefinidamente, o e&ec,tarla
,na sola .e7.
gi.6.rames6dela1) Al tiem(o (en miliseg,ndos) entre dos frames. 2ontrola la
.elocidad de la animaci8n.
Astas animaciones s8lo se (,eden generar en formato GIF.
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
VII JORNADAS DE SIG LIBRE
(!9 Alura 1 iem,o
GeoServer es ca(a7 de gestionar tam-i:n los (ar0metros de alt,ra 4 de tiem(o.
A%isten dos maneras distintas de gestionar estas dimensiones, seg9n si ,tili7amos
los formatos de imagen cl0sicos, o /,eremos generar ,n fic'ero QM= (ara s,
.is,ali7aci8n en Google Aart'.
2.5.1 Datos Vectoriales
<l (,-licar ,na ca(a .ectorial, (odemos definir el tiem(o o la alt,ra de cada
!eature mediante la (estaLa dimensions en las (ro(iedades de la ca(a.
Para /,e se 'a-ilite la dimensi8n tem(oral, de-e e%istir al menos ,n atri-,to de
ti(o date o timestamp. Tam-i:n se (,ede definir ,n rango de tiem(o, /,e (,ede
ser fi&o (como en la fig,ra) o .enir determinado (or ,n seg,ndo atri-,to tem(oral
/,e marcar0 el fin del (er6odo.
<l reali7ar ,na (etici8n 3MS, se ,tili7ar0 el (ar0metro TIME= (ara .is,ali7ar las
!eatures de ,n instante dado. 1 -ien, (,ede definirse ,n rango ,tili7ando / como
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
,esta?a dimensions en las propiedades de una capa vectorial.
VII JORNADAS DE SIG LIBRE
se(arador. Por e&em(lo, TIME=1984/2001 indicar6a mu0strame todas las
@!eatures ente los aLos 1#" 4 !001R.
>e forma an0loga, (ara (oder 'a-ilitar la dimensi8n de alt,ra, de-e e%istir al
menos ,n atri-,to de ti(o n,m:rico. Ig,almente, (,ede definirse ,n rango de
alt,ras ,tili7ando ,n seg,ndo atri-,to n,m:rico. An las (eticiones 3MS, se ,tili7ar0
el (ar0metro ELEVATION= (ara indicar ,n .alor de ele.aci8n, o ,n rango ,tili7ando
el se(arador /.
Aen"i:n, si en ,na (etici8n 3MS de ,na ca(a tem(oral no se indica ning9n
(ar0metro TIME, la res(,esta 3MS contendr0 s8lamente las !eatures m0s
recientes. Ig,almente, en ,na ca(a de ele.aciones sin (ar0metro ELEVATION, s8lo
se mostrar0n a/,ellas de menor ele.aci8n. An el doc,mento de Get&apa$ilities del
ser.icio 3MS se (odr0n cons,ltar las listas de .alores .0lidos tanto de alt,ra como
de tiem(o (ara cada ca(a.
2.5.2 Datos Raster
=os datos raster con tiem(os 4 alt,ras son algo m0s com(le&os de config,rar.
2ada instante tem(oral o de alt,ra .endr0 re(resentado (or ,n fic'er distinto.
P,esto /,e no e%iste ,na ta-la con atri-,tos /,e (,eda indicar a GeoServer el
tiem(o o alt,ra corres(ondiente a cada fic'ero, 'a-r0 /,e generar ,n 6ndice a (artir
de los nom-res de los arc'i.os.
<s6, indicaremos mediante ,na e%(resi8n reg,lar /,: (arte del nom-re de
arc'i.o corres(onde a ,na fec'a o ,na alt,ra. Por e&em(lo, a (artir de esta
colecci8n de ortofotos 'ist8ricas)
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
&apa de curvas de nivel sin parmetro elevaci"n (izquierda), con un !iltro de elevaci"n
(derec*a).
VII JORNADAS DE SIG LIBRE
historic$1%%#tif historic$1%%#tif
historic$1%%3#tif historic$1%%3#tif
historic$1%%6#tif historic$1%%6#tif
historic$2#tif historic$2#tif
historic$23#tif historic$23#tif
historic$2!#tif historic$2!#tif
historic$26#tif historic$26#tif
historic$2&#tif historic$2&#tif
historic$2%#tif historic$2%#tif
historic$21#tif historic$21#tif
2rearemos ,n fic'ero timeregex.properties c,4o contenido ser0)
rege'=($%)*!+ rege'=($%)*!+
2,4a inter(retaci8n es) Al tiem(o .iene determinado (or c,atro cifras
consec,ti.as en el nom-re de arc'i.o. <s6, GeoServer ca(t,rar0 los .alores 10,
1$, 1K, !000, !00$, !00", !00K, !00#, !00 4 !010 como instantes tem(orales
en el momento de (,-licar esta ca(a. An caso de ,tili7ar datos con (eriodicidad
mens,al o diaria, de-e modificarse la e%(resi8n reg,lar.
Astos .alores se g,ardar0n en ,n fic'ero S?P /,e act,ar0 como 6ndice, c,4a
estr,ct,ra se define mediante ,n fic'ero llamado indexer.properties)
,chema=the-geom./olygon,location.,tring,time.0a"a#util#1ate ,chema=the-geom./olygon,location.,tring,time.0a"a#util#1ate
2ime3ttribute=time 2ime3ttribute=time
/roperty4ollectors=2imestamp5ile6ame7'tractor,/8(timerege')9time: /roperty4ollectors=2imestamp5ile6ame7'tractor,/8(timerege')9time:
G,e se lee)
$. Genera ,n 6ndice con tres cam(os) =a geometr6a (oligonal
de cada imagen, el nom-re del arc'i.o, 4 el tiem(o.
". Al camo /,e indica el tiem(o es el de nom-re time.
D. Para rellenar el cam(o time, a(lica la e%(re%ion reg,lar del
fic'ero timeregex.properties.
Generalmente -asta con crear el arc'i.o indexer.properties 4 (egar el
contenido a/,6 indicado, tal c,al.
Por 9ltimo, la ca(a se (,-licar0 como ,n ImageMosai", 4 se com(ro-ar0 /,e
en la (estaLa dimensions est0 'a-ilitada la dimensi8n /,e corres(onda.
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
VII JORNADAS DE SIG LIBRE
2.5.3 Formato KM
5no de los .isores m0s adec,ados (ara re(resentar datos de alt,ra 4 tiem(o es
Google Aart', 4 (or tanto, es m,4 con.eniente (oder a(ro.ec'ar estas
dimensiones en el formato QM=. Por moti.os 'ist8ricos, QM= no a(ro.ec'a las
definiciones de la (estaLa dimensions, 4 de-emos definirlas mediante fic'eros de
(lantilla en el directorio de datos de geoser.er.
Noa) Seg9n las (r,e-as reali7adas, esta f,ncionalidad s8lo est0 dis(oni-le (ara
ca(as .ectoriales.
Por e&em(lo, sit,0ndose en
GEOSERVER_DATA_DIR/workspaces/<workspace>/<store>/<layer>, crear
el fic'ero time.ftl)
;*date#ra<=alue+ ;*date#ra<=alue+
Asto indica /,e el .alor de tiem(o .iene definido en el atri-,to date. Antonces,
,tili7ando el reflector QM=, generamos los datos)
http.//localhost.&&/geoser"er/<ms/>ml?layers=<capa>@mode=do<nload http.//localhost.&&/geoser"er/<ms/>ml?layers=<capa>@mode=do<nload
S o-tendremos ,n QM= /,e, en Google Aart', 'ar0 a(arecer el control de
selecci8n 4 animaci8n tem(oral)
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
&ontrol temporal en Goo#le %art*, #enerado a partir de una capa de Geo)erver.
VII JORNADAS DE SIG LIBRE
7 *IL$RADO DE DA$OS
7!# Inrodu""i:n
Al estandar 3FS o 3e- Feat,re Ser.ice im(lementado (or la 1G2 es ,n
ser.icio /,e (ermite el intercam-io de geometr6as, .eaures, a tra.:s de la +e-. =a
diferencia (rinci(al con el 3MS, o 3e- Ma( Ser.ice, es /,e este ser.icio 3FS
de.,el.e como res(,esta ,n gr,(o de geometr6as /,e (ermitir0n al ,s,ario reali7ar
o(eraciones ,tili7ando estas directamente, mientras /,e con el 3MS solo tiene
acceso a la re(resentaci8n es(acial de estas geometr6as. An am-os ser.icios el
estandar define el (ar0metro .iler mediante el ,so del c,al (odremos reali7ar
filtrado de los res,ltados a mostrar o descargar.
1G2 descri-e el estandar Filter Ancoding, donde define la sint0%is /,e se (,ede
,tili7ar (ara constr,ir e%(resiones /,e (ermitan la cons,lta de estos 4 otros
ser.icios. >e la misma manera se descri-e el estandar 2G= o 2ommon G,er4
=ang,age. Aste se desarrolla como ,n leng,a&e formal (ara desarrollar cons,ltas
con las /,e (oder o-tener informaci8n de sistemas como indices +e-, cat0logos
-i-liogr0ficos... =a .enta&a res(ecto del Filter Ancoding es /,e se trata de ,n
leng,a&e m0s int,iti.o, de lect,ra 4 definici8n m0s amiga-le, sin (erder en ning9n
caso todo el (otencial. Aste estandar se cre8 (ara la es(ecificaci8n de 2at0logo de
la 1G2.
GeoServer im(lementa am-os est0ndares, tanto el Filter Ancoding, como el
2G= en ,na .ersi8n e%tendida denominada A2G= definida dentro del (ro4ecto
GeoTools.
7!( %so de .ilrado en servi"ios WMS 1 W*S
Al mane&o de estos leng,a&es de filtrado se reali7a a tra.:s de las (eticiones a
los ser.icios. An el caso del ,so del Filter Ancoding, el (arametro necesario es
.iler en am-os. Aste (ar0metro est0 incl,ido dentro del estandar. =a definici8n de
las cons,ltas se reali7a mediante el ,so de eti/,etas de ,na manera similar a como
mane&ar6amos ,n arc'i.o TM=. Por e&em(lo, ,na cons,lta sencilla ser6a constr,ida
de esta manera)
</roperty8s7Aual2o> </roperty8s7Aual2o>
</roperty6ame>6BCDE7<//roperty6ame> </roperty6ame>6BCDE7<//roperty6ame>
<Fiteral>=alor</Fiteral> <Fiteral>=alor</Fiteral>
<//roperty8s7Aual2o> <//roperty8s7Aual2o>
An la anterior cons,lta se est0 indicando /,e se de.,el.a todas a/,ellas
geometr6as c,4a (ro(iedad ;1MU@A J Falor. Para incl,ir esta cons,lta en la
(etici8n sim(lemente)
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
VII JORNADAS DE SIG LIBRE
http.//localhost.&&/geoser"er/namespace/<ms?F3G7E,=layer http.//localhost.&&/geoser"er/namespace/<ms?F3G7E,=layer
H33alayer@,2GF7,=@5BEC32=image H33alayer@,2GF7,=@5BEC32=image
H25png@,7E=847=IC,@=7E,8B6=1#1#1@E7JK7,2=LetCap@,E,=7/,L H25png@,7E=847=IC,@=7E,8B6=1#1#1@E7JK7,2=LetCap@,E,=7/,L
H33!326@58F27E=</roperty8s7Aual2o></roperty6ame>6BCDE7<//roperty6ame> H33!326@58F27E=</roperty8s7Aual2o></roperty6ame>6BCDE7<//roperty6ame>
<Fiteral>=alor</Fiteral><//roperty8s7Aual2o>@DDBM=$ <Fiteral>=alor</Fiteral><//roperty8s7Aual2o>@DDBM=$
13%#&!&N&6&3O%,1&#O!%2&1ON61N2,$ 13%#&!&N&6&3O%,1&#O!%2&1ON61N2,$
O1#&O2O62316!6,OO#NN&!2!23&2&@I812P=N&@P78LP2=33 O1#&O2O62316!6,OO#NN&!2!23&2&@I812P=N&@P78LP2=33
<l tratarse en este caso de ,na (etici8n GAT donde nos a(o4amos en la 5@=
(ara reali7ar la cons,lta, la e%(resi8n del filtro de-er0 codificarse de tal manera /,e
(,eda ser en.iada dentro de esta 5@=.
Si se 'ec'a ,n .ista7o a la referencia del estandar Filter Ancoding, (odremos
conocer las diferentes estr,ct,ras en las /,e nos (ermite a(o4arnos (ara la
constr,cci8n de los (redicados. Por citar alg,nas tendremos)
1(eradores de com(araci8n.
1(eradores -inarios de com(araci8n
1(erador Pro(ert4Is=iEe
V
1(eradores es(aciales.
Intersects
>is&oint
1(erador UU1T
1(eradores l8gicos
A%(resiones
9otaA %n nin#+n caso es o$'etivo de este artculo mostrar la totalidad del
estandar Filter %ncodin# por lo que se recomienda la revisi"n de este para un
me'or entendimiento.
=a constr,ci8n de (redicados a(o4andose en este estandar (,ede con.ertirse
en ,na o(eraci8n com(le&a de-ido al mane&o de las eti/,etas de las diferentes
o(eraciones. Por e&em(lo, mediante esta o(eraci8n estar6amos solicitando a/,ellas
geometr6as /,e c,m(liesen diferentes (redicados)
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
VII JORNADAS DE SIG LIBRE
<3nd> <3nd>
<8ntersects 'mlns.gml="http.//<<<#opengis#net/gml"> <8ntersects 'mlns.gml="http.//<<<#opengis#net/gml">
</roperty6ame>the-geom<//roperty6ame> </roperty6ame>the-geom<//roperty6ame>
<gml.Fine,tring><gml.coordinates>$ <gml.Fine,tring><gml.coordinates>$
12O#6&%%6&3N2&&N,O#1N!11O322NNO1 12O#6&%%6&3N2&&N,O#1N!11O322NNO1
$N3#113%O6&N3!%62N,2O#%!O1313!6&322 $N3#113%O6&N3!%62N,2O#%!O1313!6&322
$N3#113%O6&N3!%62N,2O#%!O1313!6&322 $N3#113%O6&N3!%62N,2O#%!O1313!6&322
$N1#NO12NO1213!6,2%#O36131!!O!6%</gml.coordinates></gml.Fine,trin $N1#NO12NO1213!6,2%#O36131!!O!6%</gml.coordinates></gml.Fine,trin
g> g>
</8ntersects> </8ntersects>
</roperty8sLreater2han> </roperty8sLreater2han>
</roperty6ame>C3F7<//roperty6ame> </roperty6ame>C3F7<//roperty6ame>
</roperty6ame>57C3F7<//roperty6ame> </roperty6ame>57C3F7<//roperty6ame>
<//roperty8sLreater2han> <//roperty8sLreater2han>
</3nd> </3nd>
2G= (2ommon G,er4 =ang,age) (ermite el mane&o de cons,ltas de ,na manera
similar. An caso de /,erer re(resentar la misma e%(resi8n -0sica del e&em(lo
anterior 'aremos)
6BCDE7 = =alor 6BCDE7 = =alor
como se (,ede o-ser.ar la s6nta%is es m,c'o m0s amiga-le, intentando
e/,i(ararse a leng,a&es de cons,lta m0s e%tendidos como el SG=. Para e&ec,tar
esta cons,lta en el ser.idor sim(lemente de-eremos acom(aLar las (eticiones con
el (ar0metro &;L6*IL$ER)
http.//localhost.&&/geoser"er/namespace/<ms?F3G7E,=layer http.//localhost.&&/geoser"er/namespace/<ms?F3G7E,=layer
H3alayer@,2GF7,=@5BEC32=image H3alayer@,2GF7,=@5BEC32=image
H25png@,7E=847=IC,@=7E,8B6=1#1#1@E7JK7,2=LetCap@,E,=7/,L H25png@,7E=847=IC,@=7E,8B6=1#1#1@E7JK7,2=LetCap@,E,=7/,L
H33!326@4JF-58F27E=6BCDE7H2H31H2Q=alorQ@DDBM=$ H33!326@4JF-58F27E=6BCDE7H2H31H2Q=alorQ@DDBM=$
13%#&!&N&6&3O%,1&#O!%2&1ON61N2,$ 13%#&!&N&6&3O%,1&#O!%2&1ON61N2,$
O1#&O2O62316!6,OO#NN&!2!23&2&@I812P=N&@P78LP2=33 O1#&O2O62316!6,OO#NN&!2!23&2&@I812P=N&@P78LP2=33
GeoServer im(lementa ,na e%tensi8n del leng,a&e 2G= denominada E&;L. Se
(,ede .er ,na referencia del leng,a&e en la doc,mentaci8n de GeoTools, (ro4ecto
-a&o el /,e se 'a desarrollado esta e%tensi8n.
Si re(resentasemos la e%(resi8n anterior mediante el leng,a&e A2G=
tendr6amos)
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
VII JORNADAS DE SIG LIBRE
8627E,742,9the-geom, F867,2E86L9$12O#6&%%6&3N2&&N 8627E,742,9the-geom, F867,2E86L9$12O#6&%%6&3N2&&N
O#1N!11O322NNO1, $N3#113%O6&N3!%62N 2O#%!O1313!6&322, O#1N!11O322NNO1, $N3#113%O6&N3!%62N 2O#%!O1313!6&322,
$N3#113%O6&N3!%62N 2O#%!O1313!6&322, $N3#113%O6&N3!%62N 2O#%!O1313!6&322,
$N1#NO12NO1213!62%#O36131!!O!6%:: 361 C3F7 > 57C3F7 $N1#NO12NO1213!62%#O36131!!O!6%:: 361 C3F7 > 57C3F7
8 M<S ALL< DE LOS ES$<NDARES OG&
8!# Seguridad
5no de los (rinci(ales (ro-lemas /,e (lantea el ,so de datos geoes(aciales en
el entorno cor(orati.o es la (ri.acidad de los datos. M,c'as .eces los datos 4*o
ser.icios no son (9-licos, 9nicamente son accesi-les (ara ciertas (ersonas o -ien
s8lo ,na (ersona (,ede (,-licarlos. Para sol,cionar este ti(o de (ro-lemas,
Geoser.er (ro(orciona ,n sofisticado sistema de seg,ridad /,e (ermite, entre
otras m,c'as alternati.as, la administraci8n m9lti(le de datos 4 ser.icios
D
.
Al sistema de seg,ridad de Geoser.er se -asa en .arios conce(tos sencillos 4
m,4 com,nes en la ma4or6a de los sistemas m,lti,s,ario) ,s,arios, gr,(os de
,s,arios 4 roles. <dem0s, Geoser.er incor(ora el conce(to de es(acio de tra-a&o,
/,e no es m0s /,e ,n contenedor /,e organi7a datos 4 ser.icios. >e esta manera,
Geoser.er (ro(orciona ,n sistema de seg,ridad -asado en roles, donde los
(ermisos de lect,ra escrit,ra 4 administraci8n de los datos, ser.icios o es(acios de
tra-a&os se determinan mediante roles 4 estos roles son asignados a los ,s,arios o
gr,(os de ,s,arios.
As (recisamente gracias a los es(acios de tra-a&o (or lo /,e es (osi-le la
administraci8n m9lti(le del ser.idor. Geoser.er (ermite la (osi-ilidad de dar
(ermisos de administraci8n so-re ,n es(acio de tra-a&o a ,n determinado rol. >e
este modo, se (,ede (ermitir a ,n ,s,ario aLadir, eliminar, config,rar 4, en general,
administrar datos 4 ser.icios sin /,e interfiera con otros es(acios de tra-a&os /,e
(,eden estar com(letamente oc,ltos 4 administrados (or otros ,s,arios con
diferente rol. An cierto modo, (,esto /,e cada es(acio de tra-a&o crea s,s (ro(ios
end(oints 3MS*3FS*32S (or se(arado, es (osi-le considerar el con&,nto de
es(acios de tra-a&o como .arios ser.idores inde(endientes e&ec,t0ndose so-re
,na sola instancia de GeoSer.er.
8!( A3Is RES$
GeoServer dis(one de ,na interfa7 @ASTf,l a tra.:s de la c,al los clientes
(,eden mane&ar las diferentes f,nciones sim(lemente mediante llamadas ?TTP.
>e esta manera se (odr0 config,rar GeoServer sin necesidad de acceder al
Interfa7 de administraci8n +e-.
D M%ELLER, &!, !01!, Fle/i$le aut*entication !or stateless Be$ services
'tt()**geoser.er.org*dis(la4*GA1S*Fle%i-leW<,t'enticationWforWStatelessW3e-WSer.ices
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
VII JORNADAS DE SIG LIBRE
@AST, @A(resentational State Transfer, se trata de ,na interfa7 +e- sim(le /,e
se -asa en el ,so de TM= 4 ?TTP. Permite leer 4 escri-ir datos en el ser.idor
,tili7ando estos (rotocolos.
=as o(eraciones en los rec,rsos est0n im(lementadas ,sando las f,nciones de
?TTP) GAT, P5T, P1ST 4 >A=ATA. An @AST, cada rec,rso est0 definido (or ,na
5@=.
GeoServer im(lementa @AST 4 (one a dis(osici8n del ,s,ario ,na <PI con la
/,e acceder a las diferentes f,nciones. Mediante el ,so de esta <PI, (odremos
a,tomati7ar m,c'as de las necesidades 'a-it,ales /,e s,rgen a men,do en el
mane&o de GeoServer, como la (,-licaci8n de grandes cantidades de arc'i.os...
!.2.1 Uso "e la #P$ RES%
Para acceder a la f,ncionalidad de la <PI @AST de GeoServer de-eremos
e&ec,tar n,estras (eticiones contra)
##/geoser"er/rest/ ##/geoser"er/rest/
?emos de tener en c,enta alg,nos detalles so-re el ,so de la <PI, como los
estados mane&ados en las (eticiones ?TTP (!00, !01, "0$...) /,e nos indicar0n el
res,ltado de las o(eraciones /,e estamos e&ec,tando, 4 el ti(o de contenido,
formatos, con los /,e .amos a estar tra-a&ando (a((lication*%ml, a((lication*&son...)
tanto en las (eticiones como en las res(,estas.
Por e&em(lo (ara la (,-licaci8n de ,n arc'i.o AS@I S'a(efile, 'aciendo ,so
de c5@=, 'erramienta /,e nos (ermitir0 reali7ar las (eticiones a tra.:s del
(rotocolo ?TTP 'aciendo ,so de los m:todos P1ST, P5T...
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
<#eoserver<rest<laers listado de capas
<#eoserver<rest accediendo a la 8,C desde
el nave#ador
VII JORNADAS DE SIG LIBRE
Sig,iendo (or (artes el (roceso, reali7aremos)
2reaci8n de ,n es(acio de tra-a&o (+orEs(ace))
curl $" $u admin.pass<ord $M/B,2 $P "4ontent$type. te't/'ml" $d curl $" $u admin.pass<ord $M/B,2 $P "4ontent$type. te't/'ml" $d
"<<or>space><name>test</name></<or>space>" "<<or>space><name>test</name></<or>space>"
http.//localhost.&&/geoser"er/rest/<or>spaces http.//localhost.&&/geoser"er/rest/<or>spaces
$" modo "erbose $" modo "erbose
$u usuario.contraseRa $u usuario.contraseRa
$M/B,2 tipo de peticiSn /B,2 $M/B,2 tipo de peticiSn /B,2
$P cabecera $P cabecera
$d datos $d datos
Si la res(,esta m,estra ,n c8digo !01 n,estro rec,rso se 'a-r0 creado
satisfactoriamente. Podremos e%aminar este rec,rso accediendo desde ,n
na.egador a *geoser.er*rest*+orEs(aces o e&ec,tando)
curl $" $u admin.pass<ord $ML72 http.//###/geoser"er/rest/<or>spaces curl $" $u admin.pass<ord $ML72 http.//###/geoser"er/rest/<or>spaces
5na .e7 /,e 'emos creado n,estro es(acio de tra-a&o (rocedemos a la carga
del rec,rso)
curl $" $u admin.pass<ord $M/K2 $P "4ontent$type. application/zip" curl $" $u admin.pass<ord $M/K2 $P "4ontent$type. application/zip"
$$data$binary Troads#zip $$data$binary Troads#zip
http.//localhost.&&/geoser"er/rest/<or>spaces/test/datastores/roads http.//localhost.&&/geoser"er/rest/<or>spaces/test/datastores/roads
/file#shp /file#shp
$M/K2 tipo de peticiSn /K2 $M/K2 tipo de peticiSn /K2
$$data$binary Tpath-al-archi"o $$data$binary Tpath-al-archi"o
=a 5@= se contr,4e *geoser.er*rest*+orEs(aces*Nnom-re del
names(aceO*datastores*Nnom-re del rec,rsoO*file.s'(.
Podremos com(ro-ar el res,ltado de la o(eraci8n accediendo al rec,rso
mediante)
curl $" $u admin.pass<ord $ML72 curl $" $u admin.pass<ord $ML72
/geoser"er/rest/<or>spaces/test/datastores/roads#'ml /geoser"er/rest/<or>spaces/test/datastores/roads#'ml
Para ,na descri(ci8n mas intensi.a de todas las o(eraciones /,e so(orta la <PI
@AST de GeoServer re.isar la doc,mentaci8n
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*
VII JORNADAS DE SIG LIBRE
= &ON&L%SIONES
2onsiderar /,e GeoServer es ,n ser.idor de ma(as 3MS es tener ,na .isi8n
m,4 red,cida de las (osi-ilidades /,e ofrece. GeoServer es ,na 'erramienta /,e
nos (ermite (,-licar en la red (r0cticamente c,al/,ier colecci8n de datos
geogr0ficos, 4 o-tenerlos remotamente (r0cticamente en c,al/,ier formato /,e
necesitemos) no s8lamente im0genes est0ticas, sino tam-i:n im0genes animadas,
datos .ectoriales, doc,mentos (ara im(resi8n, !eeds de s,scri(ci8n a cam-ios,
.is,ali7aci8n $> 4 "> mediante QM=, etc.
<dem0s, GeoServer (ermite sim-oli7ar, filtrar 4 decorar los datos a .ol,ntad,
incl,so (ermitiendo a los ,s,arios controlar . 2on la e%tesi8n 3PS, adem0s
(odremos m,lti(licar enormemente las (osi-ilidades de sim-oli7aci8n de los datos,
/,e (,eden transformarse al .,elo com-inando decenas de o(eraciones.
Todo esto se reali7a ,tili7ando al m0%imo los est0ndares 1G2 4 e%tendi:ndolos
c,ando 'a sido necesario, 4, all6 donde 1G2 no alcan7a, ,tili7ando otros formatos
4 (rotocolos 'a-it,ales en la +e-, como las <PIs @AST.
<s6, GeoServer es ,n cat0logo 4 re(ositorio de datos en l6nea, m0s ,n con&,nto
de 'erramientas (ara (rocesarlos 4 acceder a ellos de tantas formas como sea
(osi-le, 4 sacando el m0%imo (ro.ec'o de los est0ndares 1G2.
Aste art6c,lo s8lo m,estra las caracter6sticas /,e 'emos considerado m0s
destaca-les, (ero e%isten m,c'as otras /,e (or falta de es(acio no (odemos
mostrar, 4 /,e se enc,entran descritas en el man,al de ,s,ario del (ro4ecto
K
.
K 'tt()**docs.geoser.er.org*sta-le*en*,ser*
Plaa Ferrater Mora 1, 17071 Girona
Tel. 7! "1 #0 $, Fa%. 7! "1 #! $0
info&ornadas@sigte.org 'tt()**+++.sigte.,dg.ed,*&ornadassigli-re*

S-ar putea să vă placă și