sgbd y sig

14
Capítulo 9 Sistemas de Gestión de Bases de datos y SIG Un Sistema de Gestión de Bases de Datos (SGBD 1 ) consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a los mismos. Esta definición es prácticamente idéntica a la que se dió anteriormente de Sistema de Información, de hecho normalmente en el nucelo de un SI se sitúa un SGBD. El caso de lo SIG es un poco diferente ya que en principio las bases de datos espaciales no son adecuadas para su manejo con SGBD tradicionales. Sin embargo, a lo largo del desarrollo de las tecnologías ligadas a los SIG desde los setenta hasta la actualidad, una de las tendencias más claras es el papel, cada vez más importante, que tiene el uso de SGBD para la gestión de datos temáticos como apoyo al SIG. En principio se utilizaron para almacenar los atributos temáticos aso- ciados a un conjunto de entidades espaciales almacenadas en formato vectorial, hoy en día se están empezando a utilizar además para el almacenamiento de la información geométrica (conjunto de coordenadas) de las enti- dades espaciales. Aunque se han hecho algunos intentos para almacenar información en formato raster en un SGBD, esta opción no resulta eficiente. 9.1. Características fundamentales de un Sistema de Gestión de Base de Datos (SGBD) Un SGBD permite el almacenamiento, manipulación y consulta de datos pertenecientes a una base de datos organizada en uno o varios ficheros. En el modelo más extendido (base de datos relacional) la base de datos consiste, de cara al usuario, en un conjunto de tablas entre las que se establecen relaciones. A pesar de sus semejanzas (ambos manejan conjuntos de tablas) existen una serie de diferencias fundamentales entre un SGBD y un programa de hoja de cálculo, la principal es que un SGBD permite: El método de almacenamiento y el programa que gestiona los datos (servidor) son independientes del programa desde el que se lanzan las consultas (cliente) (figura ??). 1 En inglés DBMS (Data Base Management System) 167

Upload: jorge-valencia

Post on 02-Jul-2015

115 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SGBD Y SIG

Capítulo 9

SistemasdeGestióndeBasesdedatosy SIG

Un SistemadeGestióndeBasesdeDatos(SGBD1) consisteenunacoleccióndedatosinterrelacionadosy unconjuntode programasparaaccedera los mismos.Estadefiniciónesprácticamenteidénticaa la quesedióanteriormentedeSistemadeInformación,dehechonormalmenteenel nucelodeun SI sesitúaun SGBD.Elcasodelo SIG esun pocodiferenteya queenprincipio lasbasesdedatosespacialesno sonadecuadasparasumanejoconSGBDtradicionales.

Sinembargo,a lo largodeldesarrollodelastecnologíasligadasa losSIGdesdelossetentahastala actualidad,unadelastendenciasmásclarasesel papel,cadavezmásimportante,quetieneel usodeSGBDparala gestióndedatostemáticoscomoapoyo al SIG. En principio seutilizaronparaalmacenarlos atributostemáticosaso-ciadosaunconjuntodeentidadesespaciales almacenadasenformatovectorial,hoyendíaseestánempezandoa utilizar ademásparael almacenamientodela informacióngeométrica(conjuntodecoordenadas)delasenti-dadesespaciales.Aunquesehanhechoalgunosintentosparaalmacenarinformaciónen formatorasterenunSGBD,estaopciónno resultaeficiente.

9.1. Característicasfundamentalesdeun SistemadeGestióndeBasedeDatos(SGBD)

Un SGBD permite el almacenamiento,manipulacióny consultade datospertenecientesa unabasede datosorganizadaen uno o variosficheros.En el modelomásextendido(basede datosrelacional)la basede datosconsiste,de caraal usuario,en un conjuntode tablasentrelas queseestablecenrelaciones.A pesarde sussemejanzas(ambosmanejanconjuntosdetablas)existenunaserie dediferenciasfundamentalesentreunSGBDy unprogramadehojadecálculo,la principalesqueunSGBDpermite:

El métodode almacenamientoy el programaquegestionalos datos(servidor ) sonindependientesdelprogramadesdeel queselanzanlasconsultas(cliente) (figura??).

1En inglésDBMS (DataBaseManagementSystem)

167

Page 2: SGBD Y SIG

168 CAPÍTULO 9. SISTEMAS DE GESTIÓN DE BASES DE DATOS Y SIG

Figura9.1:Esquemacliente-servidor enunabasededatos

Enlugardeprimarsela visualizacióndetodala información,el ojetivo fundamentalespermitirconsultascomplejas, cuyaresoluciónestáoptimizada,expresadasmediante un lenguajeformal.

El almacenamientode los datossehacede forma eficienteaunque oculta parael usuarioy normal-mentetiene,al contrariodelo queocurreconlashojasdecálculo,pocoquever conla estructuraconlaquelosdatossepresentanal usuario.

El accesoconcurrentedemúltiples usuariosautorizadosa los datos,realizandooperacionesdeactuali-zacióny consultadelos mismosgarantizandola ausencia deproblemasdeseguridad(debidosa accesosno autorizados)o integridad (pérdidade datospor el intento de varios usuariosde accederal mismoficheroal mismotiempo.

El programaservidorsueleactivarseal arrancarel ordenador, podríacompararsea un bibliotecarioquerecibepeticiones(consultas)dediferentesprogramasclientesdebasededatos,consultala basededatosy entrega alclienteel resultadodela consultarealizada.Si dosusuariossolicitanal mismotiempounamodificacióndelosdatos,el programaservidorseencarga dehacerlasordenadamenteparaevitar perderdatos(lo queocurriríasiambosusuariosabrierany modificarana la vezunficheroconla basededatos.

El diseñode una basede datosimplica codificar enformato digital ciertosaspectosdel mundoreal. Estacodificaciónimplica losmismos3 pasosqueyasemencionaronenel tema2, esdecir:

Modeloconceptual

Page 3: SGBD Y SIG

9.2. BASES DE DATOS RELACIONALES 169

Figura9.2:Esquemadebasededatosrelacional

Modelo lógico

Modelodigital o implementaciónfísicadela basededatos

Hoy endíaexistendosgrandesmodelos,lasbasesdedatosrelacionalesy el modeloorientado a objetos(mo-delo OO), y un modelohíbridodenominadomodeloObjeto-Relacional (modeloOR). En cualquiermanualdebasesdedatos puedeencontrarseinformaciónacercademodelosmásantiguos.

9.2. Basesdedatosrelacionales

Es el modelomásutilizado hoy en día. Una basede datosrelacionalesbásicamenteun conjuntode tablas,similaresa lastablasdeunahojadecálculo,formadaspor filas (registros)y columnas(campos).Los registrosrepresentancadaunodelosobjetosdescritosenla tablay loscamposlosatributos(variablesdecualquiertipo)de los objetos.En el modelorelacionaldebasededatos,las tablascompartenalgúncampoentreellas.Estoscamposcompartidosvana servir paraestablecerrelacionesentrelas tablasquepermitanconsultas complejas(figura??). En esta figuraaparecentrestablasconinformaciónmunicipal,enla primeraaparecenlos nombresde los municipios,en la segundael porcentajeen cadamunicipio de los diferentesusosdel sueloy en latercerala poblaciónencadamunicipiolo largodelsigloXX. Comocampocomúnapareceident, setratadeunidentificadornumérico,únicoparacadamunicipio2

La ideabásicadelasbasesdedatosrelacionalesesla existenciadeentidades(filasenunatabla)caracterizadasporatributos(columnasenla tabla).Cadatablaalmacenaentidadesdelmismotipo y entreentidadesdedistinto

2Espreferibleutilizar valoresnuméricosenlugardeunacadenadecaracteresyaqueseahorraespacioy seevitanproblemasconelusodemayúsculas,acentos,etc.

Page 4: SGBD Y SIG

170 CAPÍTULO 9. SISTEMAS DE GESTIÓN DE BASES DE DATOS Y SIG

tipo seestablecenrelaciones3. Lastablascompartenalgúncampoentreellas,estoscamposcompartidosvanaservir paraestablecerrelacionesentrelastablas.Losatributospuedenserde unospocostipossimples:

Númerosenteros

Númerosreales

Cadenadecaracteresdelongitudvariable

Estostipossimplessedenominantiposatómicosy permitenunamayoreficaciaenel manejodela basededatosperoa costadereducirla flexibilidad a la horademanejarlos elementoscomplejosdel mundorealy dificultarla gestióndedatosespaciales,engeneralsuponenunproblemaparacualquiertipo dedatosgeométricos.

Las relacionesqueseestablecenentrelos diferenteselementosde dostablasen unabasede datosrelacionalpuedenserdetrestiposdistintos:

Relacionesuno a uno, seestablecenentreunaentidadde una tablay otra entidadde otra tabla.Unejemploapareceenla figura??.

Relacionesuno a varios, seestablecenentrevariasentidadesdeunatablay unaentidaddeotra tabla.Un ejemploseríaunatabladepluviómetrosenla queseindicarael municipioenel queseencuentra.Larelaciónseríaentreunmunicipioy variospluviómetros

Relacionesvarios a varios, se establecenentrevariasentidadesdecadaunade las tablas.Un ejemploseríaunatablaconretenesdebomberosy otraconespaciosnaturalesa los quecadaunodebeacudirencasodeincendio.

9.2.1. SQL. El lenguajedeconsultaspara lasbasesdedatosrelacionales

El lenguajedeconsultasSQL (Lenguaje EstructuradodeConsultas) sehaconvertido,debidoa sueficiencia,en un estandarparalas basesde datosrelacionales.A pesarde su estandarizaciónsehandesarrollado,sobreunabasecomún,diversasversionesampliadascomolasdeOracleo la deMicrosoftSQLserver.

Es un lenguaje declarativo en el que las órdenesespecificancual debeserel resultadoy no la maneradeconseguirlo (comoocurreen los lenguajesprocedimentales). Al serdeclarativo esmuy sistemático,sencilloy con unacurva deaprendizajemuy agradable.Sin embargo los lenguajes declarativoscarecendela potenciadelosprocedimentales.El granéxitodelasbasesdedatosrelacionalessedebe enpartea la posibilidaddeusarestelenguaje.Incluyediversostiposdecapacidades:

Comandosparala definición y creacióndeunabasededatos(CREATE TABLE).

Comandosparainserción, borrado o modificacióndedatos(INSERT, DELETE,UPDATE).

3En la bibliografíainglesasobre basesdedatossehabladerelations(tablas)y relationshipsrelacionesentrelastablas.El términobasededatos relacionalhaceenrealidadreferenciaa la organizacióndelosdatosenformadetablas,noa lasrelazionesentreellas

Page 5: SGBD Y SIG

9.2. BASES DE DATOS RELACIONALES 171

Comandospara la consulta de datosseleccionadosde acuerdoa criterios complejosque involucrandiversastablasrelacionadasporuncampocomún(SELECT).

Capacidadesaritméticas:EnSQLesposibleincluir operacionesaritméticasasícomocomparaciones,porejemploA > B + 3.

Funcionesmatemáticas(sqrt(x), cos(x)) o demanejodetextos.

Asignación y comandos deimpresión: es posibleimprimir una tabla construidapor una consulta oalmacenarlacomouna nueva tabla.

Funcionesagregadas: Operacionestalescomopromedio(avg), desviacióntípica(stddev), suma(sum),máximo(max),etc.sepuedenaplicara lascolumnasdeunatablaparaobtenerunacantidadúnicay, asuvez,incluirla enconsultasmáscomplejas.

En unabasede datosrelacional,los resultadosde la consulta van a serdatosindividuales,tuplas4 o tablasgeneradosapartirdeconsultasenlasqueseestablecenunaseriedecondicionesbasadasenvaloresnuméricos.Porejemplounatípicaconsultasobreunatablaenunabasededatosrelacional,utilizandoSQLpodríaser:

SELECT id, nombre, pob1991FROM municipiosWHERE pob1991>20000;

el resultadoseráunatablaen la quetendremostrescolumnas(id, nombre,poblacion)procedentesde la tablamunicipios,lasfilas corresponderánsóloa aquelloscasosenlos quela poblacionen1991(columnapob1991)seamayorque20000.En el casodequesólounodelos municipioscumplierala condiciónobtendríamosunasolafila (unatupla)y encasodequela consultafuera:

SELECT pob1991FROM municipiosWHERE pob1991>20000;

obtendríamosunsólonúmero,la poblacióndelmunicipiomáspoblado.

9.2.2. SIG y basesdedatosrelacionales:El modelogeo-relacional

Lo máshabitualesutilizar el SGBDparaalmacenarla informacióntemática yel SIGparala informacióngeo-métricay topológica.Unadelasfuncionalidadesdeestemodeloseráel enlazadodeambostiposdeinformaciónquesealmacenanadeformascompletamentediferentes.Setratadelmodelodedatosgeo-relacional.

4unatuplaequivaleaunafila enunatabla

Page 6: SGBD Y SIG

172 CAPÍTULO 9. SISTEMAS DE GESTIÓN DE BASES DE DATOS Y SIG

Figura9.3:Esquemadebasededatosgeo-relacional

El mayor interésdel modelogeo-relacionalestaráen poderlanzarunaconsultaSQL y obtenerunao variasentidadesespacial(enlugar denúmero,tablao fila) comorespuesta.Paraello debeenlazarsela basededatosespacial(mapavectorial)conla basededatostemática(tablas)medianteunacolumnaenunadelastablasdela basededatosquecontenga losmismosidentificadoresquelasentidadesenla basededatosespacial.

Podemospensarenun mapavectorialcomoenunatablaen la quecadaregistro(fila) esun objeto(polígono,linea o punto) quecontiene uncampoidentificadory un campoque contiene la localización(conjuntodecoordenadasX e Y detamaño,lógicamente,variable).El hechodequeestainformaciónsepresenteenformadetablao enformademapaessimplementeunacuestióndeconveniencia.

Si pedimos,comoresultadosde unaconsultaa la basede datostemática,estosidentificadorescomunes,enrealidadlo queestamosobteniendosonobjetosespaciales(polígonosenel casodelos municipios).Los resul-tadosde lasconsultaspodríanpresentarsedeestamaneraenformademapaen lugar de enformadetablademodoquealosdiferentespolígonossele asignaríandiferentescoloresenfuncióndequesecumplierao nounacondición,o delosvaloresqueadoptaseunavariableo índice.Porejemplola consulta

SELECT ident, nombreFROM municipiosWHERE 1000*(pob1991-pob1981)/pob1981>0 AND pob1981>0;

paraobteneraquellosmunicipioscon unatasadecrecimientodepoblaciónpositivaentre1981 y 1991entantospormil, podríarepresentarseenunSIG tal comoapareceenla figura??.

Unaconsultasimilarala anteriorperoestableciendounareclasificaciónporcoloresdaríael resultadoquepuedeverseen la figura?? en la queel queel color rojo indicavaloresmayoresde50, el amarilloentre30 y 50, elverdeentre20 y30,el azulentre10 y 20 yel blancomenorde10.

Page 7: SGBD Y SIG

9.2. BASES DE DATOS RELACIONALES 173

Figura9.4:Municipiosconcrecimientodepoblaciónpositivo entre1981 y 1991

En estoscasossenecesitaun móduloespecíficoquetransformelos resultadosdelasconsultasenunaseriedereglasparapintar lospolígonosasignandoal mismotiempounapaletadecoloresdefinidaporel usuario.

Endefinitiva la únicadiferencia entreel trabajodeungestortradicionaldebasesdedatosy el enlacedeunSIGa basededatosesel mododepresentación(tablao mapa).Casitodoel trabajolo haceel gestordebasesdedatosy el SistemadeInformaciónGeográfica,selimita apresentarlos resultados.

Hastaahoralo quehemoshechoesobtenerobjetosespacialescomoresultadodeunaconsulta,perocuandosetrabajaconun SIG enlazadoa unabasededatos,sepretendequelasconsultasincluyantambiencondicionesespaciales.Inclusodeberíamossercapacesdellevar acaboconsultasinteractivasenlasquelascondicionesseformulanenfuncióndedondehayapinchadoel usuarioenunmapa mostradoenpantalla.

Sin embargo enel modelogeo-relacionaltodala informacióngeométricay topológicaestáenel SIG no enelSGBDpor tantolasconsultasdeberánpreprocesarsey postprocesarse.

Preprocesamientosignificaqueel móduloencargadodeconstruirde formaautomáticaconsultasSQL comolasquehemosvistoantes,y lanzarlasal programaservidordebasesdedatos,deberáhacerloteniendoencuentaunaseriedecriterios espacialesdefinidosporel usuario.Porejemplo,si el usuariopinchaenla pantalladentrode un polígonoesperandoobtenernombrey poblacióndel municipio, el módulo deberádeterminarde quepolígonosetratae incluir suidentificador, porejemplo17,comocondiciónquedebecumplirse:

SELECT nombre, pob1991FROM municipiosWHERE id==17;

Page 8: SGBD Y SIG

174 CAPÍTULO 9. SISTEMAS DE GESTIÓN DE BASES DE DATOS Y SIG

Figura9.5:Crecimientodepoblaciónentre1981 y 1991

Postprocesamientoimplica que los resultadosde la consultaSQL deberánfiltrarse paradeterminarcualescumplendeterminadascondicionesrelacionadacon el espacio.Paraello, unade las columnaspedidasen laconsultaha deserel identificadora partir del cualseobtiene,ya enel SIG, la geometríadel polígonoa la quesepuedeaplicar la operacióndeanálisisespacial(distancia,cruce,inclusión,adyacencia,etc.)necesariaparaderminarsi secumpleo nola condición.Aquelloscasosenlosquesi secumpleconstituyela salidadelmódulo,el restosedeshechan.

9.3. Basesdedatosorientadasa objetos

El modeloOOdalugar alasbasesdedatosorientadosa objetos. Esunconceptototalmentedistintoal delasbasesdedatosrelacionalesquerespondeal paradigmadela orientaciónaobjetosdesarrolladoenprogramacióndeordenadoresenlosúltimosaños.

Al no estarconstreñidopor el formato de tablas,cuyascolumnasrespondena tipos atómicos,permiteunamayorflexibilidad a la horade incorporartipos máscomplejoscomo los tipos geométricos(puntos,lineas,polígonos,etc.)por tantoesun modelo,a priori , másadecuadoparael trabajoconun SistemadeInformaciónGeográfica.

Separtedel conceptodeclasequeagrupaa todoslos objetosquecompartenunaseriedeatrib utos, estosatri-butospuedenincluir la geometríadel objeto,lasrelacionestopológicasy propiedadestemáticas.Juntoconlos

Page 9: SGBD Y SIG

9.4. BASES DE DATOS OBJETO-RELACIONALES 175

atributos,lasclasesincluyenun conjuntodemétodos(accionesque puedenllevarsea cabosobrelos objetos).No se permiteel accesodirectoa los atributos sino sólomediantesusmétodos,estapropiedadse denomi-na encapsulamientoe incrementala seguridadde los datosanteerrores.Otra característicainteresanteeslaherenciapor la cualunosobjetospuedenderivar deotrosheredandosusatributosy métodose incorporandootros.

Porejemplopodríadefinirsela clasepolígonoincluyendocomoatributosel áreay el perímetro y comométodosel cálculodel áreay el cálculodel perímetro. Posteriormentepodríacrearsela clasemunicipioqueheredalosatributosy métodosdesuclasepadre(polígono)incorporandounaseriedenuevosatributos(población, rentapercápita, etc.)y métodoscomoporejemploel cálculodela densidaddepoblaciónqueseejecutadividiendoel atributo poblaciónentreel atributo area. Por otro lado podemoscrearla clasecuencafluvial queheredaatributosy métodosde la clasepolígonoy defineatributospropioscomopuedeser río al quedesembocaymétodoscomocálculodecaudalpico.

Porsucomplejidad,lasbasesdedatosorientadasa objetosno utilizan SQL e incluyenun lenguajeespecíficoparahacerlasconsultas.

Las basesde datosorientadasa objetosno han tenido,sin embargo, un gran desarrollo,al menoshastaelmomento.Entrelascausasdeestehechocabedestacarel éxito deSQL y sutremendaeficienciay el carácteraltamenteintuitivo delastablasdelmodelorelacional.Porello, sehadesarrolladounmodelohíbridoquetratadecapturarlo esencialdela orientacióna objetossin perderla eficienciadel modelorelacional.Setratadelasbasesdedatosobjeto-relacionales.

9.4. Basesdedatosobjeto-relacionales

La ideaesmantenerelesquemadetablasentrelasqueseestablecenrelacionesperopermitiendocomoatributos,ademásdelostiposatómicos,tiposmáscomplejosdenominadostipos abstractosdedatos(ADT) queadmitenobjetosgeométricos.Paraello el SGBDdebemodificarseparaadmitir nuevascapacidades:

Debenpoderdefinirsenuevostiposdedatosquepermitanalmacenarla geometría(puntos,lineas,polí-gonos,etc.).

Lasfuncionesy operadoresyaexistentesseadaptanaestosdatosespaciales.

El lenguajeSQLseextiendeparamanipulardatosespaciales,incluyendofuncionescomodistancia,crucedelineas,puntoenpolígono,etc.,quesevieronel el tema dedicadoal formatovectorial.

Enel nivel físico,esdecirenel modelodigital, serequierencambiosprofundos.

Hastael año2000aproximadamenteel modelogeo-relacionaleracasila únicaopciónparatrabajarconSIGenlazadosa basesdedatos,ultimamentesetiendea adoptarla segunda,enpartecomoresultadodela entradade las empresasde desarrollode basesde datosen el mercadode los SIG. Entrelas ventajasqueaporta estemodelodestacaqueseganaenvelocidadal evitar granpartedelprocesamientoenSIGy sepermitequediversosprogramasclientepuedanaccederdeformaconcurrenteal programaservidor.

Page 10: SGBD Y SIG

176 CAPÍTULO 9. SISTEMAS DE GESTIÓN DE BASES DE DATOS Y SIG

El inconvenienteesquelasextensionesdeSQL paraincluir operadoresespacialessehacendemasiadocom-plejas.Por otro lado siguesiendonecesariala existenciade herramientasde SIG que lean la informaciónalmacenadaenla basededatosy la muestrenenpantalla.PuedesconsultarlasespecificacionesparaSQL delOpenGISConsortiumparaobtenermásinformaciónal respecto.

9.4.1. ConceptodeGeodatabase

El conceptodeGeodatabaseesunode los que hanexperimentadoen los últimosañosunamayorexpansiónenel mundodelosSIG.Setratasimplementedeunabasededatosquealmacenatodala informaciónrelativa aun conjuntodeentidadesespaciales(geometría,topología,identificadores,datostemáticos,etc.).Lasventajasdeestemodelodetrabajosonvarías:

PosibilidaddeusarSQL,unaversiónampliadadeSQLenrealidad,parahacerconsultasy análisissobremapasvectoriales

Mayor integración,enunasólaherramienta,detodaslasfuncionesparatrabajarconinformaciónvecto-rial

El inconvenienteesquesenecesitaun programaexterno,el SIG de todala vida, paraaccedera los datosyvisualizarlos.

Entrelos programasquepermitentrabajarcongeodatabasescabedestacar 2,enprimer lugar Oraclespatialyensegundolugar PostgreSQL+ PostGIS.Oracleestá consideradocomoel mejorprogramadegestióndebasededatos,siendounodesusinconvenientessuelevadoprecio.PostgreSQLesunaalternativa libre (y gratuita)querealmeteno desmereceapenasdeOracle.PostGISesunaextensión,tambiénlibre, dePostgreSQLquelepermitetrabajarcongeodatabases.

A continuaciónseexponenalgunosdelosoperadoresy funcionesquepermitentrabajarcondiferentestiposdeentidadesenunaGeodatabase.Sehanutilizadonombresencastellanoque,obviamente,no correspondenconlasórdenesrealesdeningúnprogramaperosebasanenlasórdenesdePostGIS.Lasfiguras?? y ?? permitenvisualizarqueeslo quecompruebano calculanalgunasdelasórdenes.

Operadoresquedevuelvencierto o falso (figuras ??)

es_igual(entidad,entidad)

se_solapa_con(entidad,entidad)

toca_a(entidad,entidad)

cruza(linea,entidad)

está_dentro_de(entidad,polígono)

Page 11: SGBD Y SIG

9.4. BASES DE DATOS OBJETO-RELACIONALES 177

Figura9.6:Operadoresquedevuelvenciertoo falso

cubre_a(polígono,entidad)

está_relacionada(entidad,entidad,matriz_de_relaciones)

Funcionesquedevuelvenuna geometría(figuras ?? y??)

buffer(entidad,distancia)

convexhull(puntos)Polígonocuyos vérticescoincidencon algunosde los puntosde una muestradepuntosy quecontienetodoslosdemás,cuyosángulossontodosmenoresde180o vistosdesdedentrodelpolígono(figura??).

Intersección(polígono,entidad)

Union(entidad,entidad)Equivalenteaunasuma

Diferencia(entidad,entidad)

Page 12: SGBD Y SIG

178 CAPÍTULO 9. SISTEMAS DE GESTIÓN DE BASES DE DATOS Y SIG

Figura9.7:Funcionesquedevuelvenunageometría

Page 13: SGBD Y SIG

9.4. BASES DE DATOS OBJETO-RELACIONALES 179

Figura9.8:Conjuntoconvexo formadoapartir deunamuestradepuntos

Funcionesquedevuelvennúmeros

X(entidad)

Y(entidad)

Z(entidad)

Longitud(entidad)

Area(polígono)

NumPoints(entidad)

Distancia(entidad,entidad)

Lasfuncionesx, Y y Z devuelvenlascoordenadasX, Y y Z (repectivamente)detodoslosvérticesdela entidadquesele pasa.LasfuncionesLongitud yAreadevuelvenestasmagnitudes(si setratadeunpolígono,Distanciadevolveráel perímetro).NumPointsdevuelve el númerodevérticesy Distancia la distanciamínimaentredosvérticesquepertenecencadaunoacadaunadelasentidadesquesepasana la función.

Funcionesquedevuelvenunpunto:

Nodo_inicial(linea),devuelveel primernododela linea

Page 14: SGBD Y SIG

180 CAPÍTULO 9. SISTEMAS DE GESTIÓN DE BASES DE DATOS Y SIG

Nodo_final(linea),devuelveel primernododela linea

Centroide(entidad),devuelveunpuntosituadoenel centrogeométricodelobjetoquesepasa(secalculacomola mediadetodaslascoordenadasX delos vérticesy la mediadetodaslascoordenadasY delosvértices.

9.5. ConsultasSQL concapasraster y depuntos

Aunquegeneralmenteseasumequeel enlacedeunSIGcon unabasededatosrelacionalincumbefundamenta-lementeal formatovectorial, nadaimpideenlazarunabasededatosconunmaparasterquecontengapolígonoso unavariablecualitativa.

Por ejemplosi se tiene un maparasterque contienetipos de sueloy una basede datosen la que a cadatipo desueloseasociandiversaspropiedadesedáficas,puedenutilizarselos resultadosdeconsultasSQL paratransformar, mediantereclasificación,el mapadesuelosendiversosmapasdevariablesedáficas.

En el caso de los mapasdepuntos,laspropiedades geométricassonmínimas(doscoordenadas)y las topoló-gicasinexistentes.Por tantolos mapasdepuntospuedenalmacenarsesin problemascomotablasenunabasededatos.LasconsultaspermitiránobtenertripletesX,Y,Z que puedenutilizarsecomoinformacióndeentradaparadiversasherramientasSIGcomopuedeserla interpolación.

9.6. Bibliografía

desarrolloweb.comTutorial deSQLhttp://www.desarrolloweb.com/manuales/9/

OpenGISConsortium(1999)OpenGISSimpleFeaturesSpecificationFor SQLhttp://www.opengis.org/docs/99-049.pdf

Rigaux,P.; Scholl,M.& Voisard,A.(2001)Introductionto SpatialDatabases:Applicationsto GIS, Mor-ganKaufmann,400pp.

Shekhar,S.& Chawla,S.(2002)SpatialDatabases:A Tour, PrenticeHall ,300pp.