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*