Autor: Dr. Joan Nunes. Universitat Autònoma de Barcelona
Promotor: Institut Cartogrà fic de Catalunya, 2013
Simple feature access (SFA), de vegades anomenat només Simple Features, és l'especificació està ndard d'Open Geospatial Consortium, adoptada també per ISO amb el nom de ISO/TC21119125: Geographic information - Simple Feature Access (SFA) (ISO/TC211, 2003b), que descriu l'arquitectura comuna per a implementar la geometria d'elements simples en dues dimensions en bases de dades espacials (OGC, 2011a). En particular, per a la implementació de bases de dades espacials mitjançant l'opció del llenguatge SQL ampliat espacialment (OGC, 2011b).
D'acord amb el model Simple Feature Access, un element geomètric en dues dimensions es considera simple quan no presenta interseccions amb ell mateix, d'aquà el nom del model. D'altra banda, els elements geomètrics de l'està ndard Simple Feature Access es poden considerar elements simples en comparació amb els d'altres models de dades vectorials com per exemple el model vectorial topològic, en el sentit que cada element és independent de la resta i no emmagatzema informació topològica sobre relacions amb altres elements. En aquest sentit, la geometria dels objectes espacials de l'està ndard Simple Feature Access és comparable, amb algunes diferències, a la dels elements geomètrics d'altres formats vectorials simples (per exemple, el popular format shapefile o el dels elements de les geobases de dades d'ArcGIS, ambdós d'ESRI), en el ben entès que els models de dades en conjunt són diferents. Simple Feature Access és un model de dades exclusivament per a dades espacials de tipus vectorial.
Simple Feature Access especifica un model de dades està ndard orientat a objectes, que defineix l'emmagatzematge comú per a la geometria de les dades espacials, mitjançant formats de text (well-known text, WKT) o binari (well-known binary, WKB), juntament amb propietats, mètodes i predicats espacials, basats en el model de nou interseccions estès dimensionalment (DE-9IM), que són aplicables als objectes espacials reconeguts dins del tipus geometria (punt, lÃnia, polÃgon, multipunt, multilÃnia, multipolÃgon, etc.). Simple Featue Access defineix a més un conjunt d'operadors espacials per a derivar o construir nous objectes espacials a partir dels emmagatzemats. El model de dades està ndard Simple Feature Access troba la seva implementació natural en sistemes orientats a objectes (per exemple, OLE/COM o CORBA) i encara més especialment en bases de dades espacials per mitjà de sistemes de gestió de bases de dades relacionals orientades a objectes que, grà cies a l'orientació a objectes, permeten l'ús de l'extensió espacial del llenguatge SQL. De fet, aquesta última és l'opció actualment adoptada per Open Geospatial Consortium (OGC, 2011b), que ha abandonat, o si més no ha deixat en suspens i fora de l'última versió de l'especificació, les opcions d'implementació mitjançant OLE/COM i CORBA.
Â
Sumari:
- Origen
- Model de dades orientat a objectes
- Representació de la geometria
3.1 Tipus de geometries bà siques
3.2Â Format Well Known Text (WKT)
3.3 Format Well Known Binary (WKB) - Mètodes d'operacions espacials
4.1Â Mesures i altres propietats espacials
4.2Â Predicats espacials
4.3Â Funcions espacials - Implementacions
- Temes relacionats
- Referències
- Lectures recomanades
Â
Origen
L'interès per definir i establir un model de dades està ndard i interoperable per a la informació geoespacial és una de les principals motivacions per a la creació tant d'Open Geospatial Consortium (OGC, inicialment OpenGIS Consortium) com del comitè tècnic ISO/TC 211 Geographic Information / Geomatics d'International Organization for Standardization (ISO) a mitjan dècada de 1990. Ambdues organitzacions dedicaren bona part dels esforços inicials a establir el marc conceptual per a la representació de la informació geoespacial. AixÃ, el 1996 OGC publicaria ja la primera versió de l'especificació abstracta del model d'objectes (OGC, 1996) en què basar les posteriors especificacions d'implementació d'està ndards geoespacials interoperables, que es pot considerar l'antecedent més remot de l'actual model de dades Simple Feature Access. En els mateixos anys, el comitè ISO/TC 211 començà a desenvolupar els primers està ndards internacionals per a les dades geoespacials, entre els quals l'esquema d'aplicació per a la informació espacial ISO/TC 211 19107, la versió final del qual apareixeria el 2003 (ISO/TC, 2003a), però que va circular com esborrany des de 2000. El 1998, ambdues organitzacions establiren els acords de coordinació pels quals, especificacions desenvolupades per una serien adoptats després de revisió com a està ndards per l'altra i viceversa. AixÃ, OGC adoptaria l'està ndard ISO/TC 19107 com a model d'objectes abstracte, i l'especificació Simple Feature Access seria adoptat per ISO/TC 211 i esdevindria està ndard, sota el nom de ISO/TC 211 19125 Simple Feature Access (SFA), després de l'adaptació al marc previ d'ISO TC/211
La primera versió del model Simple Feature Access fou publicada el 1999 per OGC com a especificació per estendre el llenguatge SQL per a aplicacions geoespacials (OGC, 1999). A més de l'arquitectura bà sica per a la implementació d'un model de dades orientat a objectes basat en elements geomètrics simples (Simple Features), OGC publicà també el mateix any les especificacions d'implementació mitjançant objectes CORBA o OLE/COM o bé per mitjà del llenguatge SQL. Posteriorment el 2003 es publicaria l'especificació de l'està ndard ISO/TC 211 19125 Simple Feature Access (SFA), elaborat i adoptat conjuntament amb OGC (vegeu OGC, 2011a per a l'última versió), del qual les especificacions CORBA, OLE/COM i SQL esmentades serien versions d'implementació, si bé des de 2011 OGC només manté l'especificació d'implementació SQL com a part de l'està ndard (OGC 2011b).
Paral·lelament, des de l'à mbit dels sistemes de gestió de bases de dades a finals de la dècada de 1990 i principis de la de 2000 s'estava elaborant la nova versió del llenguatge de consulta de bases de dades Structured Query Language (SQL), que finalment aparegué el 2006 com a està ndard ISO/IEC 9075, el qual es complementà amb l'està ndard ISO/IEC 13249 SQL Multimedia and Application Packages - Part 3. Spatial, que defineix extensions per al maneig d'altres tipus de dades, entre les quals les espacials (ISO/IEC, 2006). Versions oficioses de l'esborrany de l'està ndard van circular, però, des de 2002.
A partir de la publicació de l'està ndard Simple Feature Access (SAF) d'ISO i OGC, que resol, per si mateix o a partir de les aportacions que recull, bona part de les necessitats per a implementar tipus de dades, predicats i operadors espacials i llenguatges de consulta espacial, aixà com de l'ampliació espacial del llenguatge està ndard de consulta SQL han aparegut nombroses extensions espacials de la majoria de sistemes de gestió de bases de dades existents, tant comercials (Oracle Spatial d'Oracle, Spatial Extender en el cas de DB2 d'IBM; SQL Server de Microsoft des de 2008 o Spatial Query Server per a Sybase, entre d'altres) com de programari lliure (PostGIS en el cas de PostgreSQL, SpatiaLite per a Sqlite o MySQL encara que en aquest no de forma està ndard). Aixà mateix, s'han creat nous sistemes de gestió de bases de dades directament espacials (per exemple, SpaceBase) i els programes de SIG que implementen programari intermediari de gestió de bases de dades espacials s'han mantingut (ArcGIS Server d'ESRI o Smallworld VMDS) o ampliat. No tot el programari de bases de dades espacials o de sistemes d'informació geogrà fica, però, implementa el model Simple Feature Access, per bè que és el més difós
Model de dades orientat a objectes
El model de dades Simple Feature Access per a la representació i emmagatzematge de la informació espacial en bases de dades és un model de dades orientat a objectes, i per tant gaudeix dels avantatges d'encapsulació, herència, modularitat i polimorfisme. En aquest sentit, grà cies a l'encapsulació pròpia de l'orientació a objectes, la definició dels diferents objectes espacials o tipus de geometries, com sovint hi ha el costum de dir-ne, inclou tant la definició d'estructures de dades com la dels mètodes (les operacions) aplicables a cada classe d'objecte. Des del punt de vista dels sistemes de gestió de bases de dades, la definició orientada a objectes es tradueix en la possibilitat de definir un tipus de dades espacial amb els seus operadors corresponents.
Aixi mateix, l'herència permet especificar els diferents tipus de geometries o d'elements espacials com classes d'objectes organitzats jerà rquicament, de manera que les classes més generals tenen ja definides les propietats i els mètodes comuns a totes les classes que en depenen, de manera que les classes més especialitzades hereten les propietats i mètodes de les classes generals i tan sols tenen com a pròpies les propietats i mètodes que els són particulars i els diferencien de la resta.
Per últim el polimorfisme fa possible definir els mètodes o operacions de manera abstracta per a totes les classes d'objectes a què és aplicable, i fer servir les mateixes convencions i interfÃcies per a usar-los, mentre que la realització concreta de l'operació depèn de cada classe d'objectes particular. Per exemple, tots els tipus d'elements espacials o geometries del model Simple Feature Access tenen els mètodes corresponents a les operacions espacials d'à rea d'influència, intersecció o diferència, però la funció actua diferent per a calcular el resultat segons si els elements que intervenen són lÃnies o polÃgons.
Simple Feature Access defineix disset classes d'objectes espacials o tipus de geometries, algunes de les quals no són directament instanciables (és a dir, no poden existir-ne elements individuals). Només es poden instanciar a través de les subclasses en què s'especialitzen.
La classe bà sica Geometry (Geometria) és abstracta, no instanciable, i serveix per a definir les propietats i mètodes comuns a tots els tipus d'objectes espacials. Geometry té com a subclasses Point (Punt), Curve (Corba), Surface (SuperfÃcie) i GeometryCollection (Col·lecció de geometries).
Point és una primitiva geomètrica (tipus d'element geomètric elemental o tipus de geometria 'atòmic', que no és una col·lecció o un compost, segons la terminologia de l'està ndard Simple Feature Access). Concretament, Point és l'element geomètric bà sic de dimensió 0, i no té especialitzacions. Tots els altres tipus d'elements geomètrics es poden construir a partir de Point, com a agregats.
Curve és la classe general per a tot tipus d'elements geomètrics de dimensió 1, és a dir lineals. Curve és una classe abstracta pensada per poder especialitzar-se en subclasses corresponents als diferents tipus d'elements lineals, per exemple recta, cercle, el·lipse, etc., definits segons el mètode d'interpolació entre punts o funció que defineix el tipus de corba. L'està ndard Simple Feature Access actualment només contempla una subclasse de Curve: LineString. Altres està ndards com SQL-MM Spatial permeten definir altres subclasses de corbes, essencialment circulars.
LineString (Cadena lineal) correspon als elements lineals formats per seqüències de punts que defineixen segments de recta (e.g., s'utilitza la funció de la recta per a interpolar punts entre els punts emmagatzemats). LineString en si és una altra primitiva geomètrica, de dimensió 1, definida com una agregació de punts (els vèrtexs) i és present en qualsevol model de dades vectorial. LineString, a part del cas general, presenta dues especialitzacions: Line i LinearRing. Line (LÃnia) és un LineString format per només dos punts. LinearRing (Contorn lineal) és un LineString en què el punt inicial i final són iguals i per tant defineix una forma tancada que correspon al contorn d'un polÃgon.
Surface (SuperfÃcie) és la classe general per als elements geomètrics de dimensió 2, és a dir poligonals. Surface també és una classe abstracta que s'especialitza en dues subclasses: Polygon i PolyhedralSurface.
Polygon (PolÃgon) és l'element superficial bà sic, o primitiva geomètrica, de dimensió 2, definit per un cert nombre de contorns, un d'exterior i cap o diversos d'interiors. Conseqüentment apareix com una agregació de LinearRing. Polygon té una especialització particular, Triangle, que mitjançant agregació servei per a formar un tipus particular de PolyhedralSurface, el TIN (xarxa irregular de triangles, TIN).
PolyhedralSurface (SuperfÃciePolièdrica) és un agregat de Polygon que permet modelitzar una superfÃcie formada per facetes planes (polÃgons) en un espai de tres dimensions. És a dir, un conjunt de facetes planes amb diferents orientacions que formen una superfÃcie polièdrica. Una subclasse particular de PolyhedralSurface és TIN, formada per facetes triangulars (agregació de Triangle).
GeometryCollection (Col·lecció de geometries), per últim, és la classe que permet representar elements geomètrics multipart, és a dir col·leccions d'elements geomètrics individuals que es comporten com un tot (per exemple un grup de polÃgons que representa un arxipèlag). GeometryCollection a més de ser la classe general per als elements multipart, es pot instanciar ella mateixa en el cas de col·leccions heterogènies d'objectes geomètrics (per exemple, un grup de punts i de lÃnies, que en conjunt representen una mateixa entitat). GeometryCollection s'especialitza en tres subclasses: MultiPoint, MultiCurve, MultiSurface.
MultiPoint (Multipunt) és un conjunt (agregat) de punts. MultiCurve (Multicorba) i MultiSurface (MultisuperfÃcie), en canvi, són superclasses que generalitzen les classes realment instanciables que són, respectivament, MultiLineString (Multicadena lineal), col·lecció de lÃnies, i MultiPolygon (MultipolÃgon), col·lecció de polÃgons. MultiCurve i MultiSurface, igual que Curve i Surface, són classes generals que serveixen per a definir especialitzacions, les actuals o d'altres possibles en futures revisions.
Representació de la geometria
Les classes d'objectes del model de dades Simple Feature Access es poden diferenciar en tres grups:
- classes abstractes (no instanciables directament):
- Geometry
- Â Curve, MultiCurve
- Surface, MultiSurface
- classes bà siques (les més implementades i utilitzades):
- Point, MultiPoint
- LineString, MultiLineString
- Polygon, MultiPolygon
- GeometryCollection
- classes especials (per a modelitzar superfÃcies complexes):
- TIN, PolyhedralSurface
- Triangle
A part, les classes Line i LinearRing, són especialitzacions òbvies, que es defineixen per coherència conceptual, però que tampoc són instanciables en el model està ndard. A la prà ctica, doncs, els tipus de geometries disponibles a totes les implementacions de l'està ndard són les set classes bà siques d'objectes geomètrics. En qualsevol cas, per a totes les classes d'objectes geomètrics del model Simple Feature Access:
- els objectes geomètrics han de ser simples, sense interseccions amb si mateixos, conforme al principi de definició del model.
- els objectes geomètrics compleixen el principi de tancament topològic. És a dir, contenen el seu interior més el seu lÃmit. Això vol dir, per exemple, que un punt sobre la vora d'un polÃgon pertany al polÃgon, o que els punts inicial i final de les lÃnies pertanyen a les lÃnies, etc.
- els objectes geomètrics són de 2 dimensions en espais de 2, 3 o 4 dimensions. En el cas d'espais 2D, les coordenades dels punts són x i y. En el cas 3D, les coordenades són x, y i z, o bé x, y i m. En el cas 4D, les coordenades són x, y, z i m. La coordenada z correspon sovint a l'elevació, en el cas de dades geoespacials, però no únicament. La coordenada m correspon a una mesura al llarg d'un element lineal, atès que el model Simple Feature Access contempla el posicionament mitjançant referenciació lineal.
- cada classe concreta (instà ncia) d'objectes geomètrics té associat un sistema de referència espacial (projecció cartogrà fica, sistema de coordenades i dà tums horitzontal i vertical), per a les coordenades x, y i z, i un sistema de referència de mesures de referenciació lineal per a la coordenada m.
L'emmagatzematge fÃsic intern d'aquests tipus d'objectes geomètrics en bases de dades espacials depèn de la implementació de cada programa. A efectes, però, d'intercanvi de dades entre aplicacions, cà rrega de la geometria en taules i comprensió per part de l'usuari, l'està ndard Simple Feature Access especifica també el format de text Well Known Text (WKT) i el format binari Well Known Binary (WKB),
La darrera versió de l'especificació del format WKT és la indicada l'està ndard ISO/IEC 13249 SQL Multimedia and Application Packages - Part 3. Spatial (ISO/IEC, 2006). En aquesta darrera versió, tal com s'ha indicat, es defineixen tipus de geometries, bà sicament corbes (CircularString, CompoundCurve i CurvePolygon), només contemplades en el model Simple Feature Access com a possibles opcions futures, però no incloses en el model.
D'altra banda, algunes implementacions, com per exemple PosGIS, ofereixen versions esteses dels formats WKT i WKB, anomenades EWKT i EWKB, també amb un major nombre de tipus de geometries, tot mantenint el compliment de l'està ndard. En aquests casos, les versions esteses són un superconjunt que inclou l'està ndard, per la qual cosa el compliment i compatibilitat estan garantides.
El format Well Known Text (WKT) és senzill. Cada objecte geomètric s'expressa indicant el tipus de geometria seguit dels parells (triplets o quartets en 3D i 4D, respectivament) de coordenades separats per comes dins d'un parèntesi. En el cas dels objectes geomètrics compostos simplement s'enumeren dins del parèntesi cada un dels objectes geomètrics elementals, separats per comes. El mateix procediment es segueix en el cas de l'objecte geomètric Polygon quan està format per més d'un contorn (polÃgon amb forats). La indicació explÃcita del tipus d'objecte, Polygon o Multipolygon, desfa qualsevol possible ambigüitat respecte a si es tracta d'un polÃgon amb forats o d'un multipolÃgon (polÃgon amb múltiples parts).
En el cas d'objectes geomètrics amb tercera dimensió i/o mesures, el format Well Known Text (WKT) indica el tipus de coordenades addicional (Z per a la tercera dimensió, M per a mesures), a continuació del tipus de geometria i afegeix les coordenades extra darrera de les coordenades x i y. Per exemple:
POINT Z (1 1 5)
POINT M (1 1 80)
POINT ZM (1 1 5 80)
Â
Finalment, el format WKT proporciona un valor EMPTY per a indicar el conjunt buit, útil per a expressar el resultat d'operacions espacials que no retornen cap geometria, o per a indicar aquest resultat com a condició en una consulta espacial. Per exemple:
POINT EMPTY
POLYGON EMPTY
Â
El format Well Known Text (WKT) serveix també per a especificar canvis de sistema de referència espacial. Des de l'aparició d'està ndards d'OGC o d'ISO/TC 211 per a la informació geoespacial, els sistemes de referència espacial s'identifiquen i es defineixen segons la base de dades Geodetic Parameter DatasetEPSG, compilada i distribuïda per European Petroleum Survey Group (EPSG, actualment Surveying and Positioning Committee, de la International Association of Oil and Gas Producers), que compleix l'està ndard ISO 19111-2:2:2009 Geographic information - Spatial referencing by coordinates. Un exemple de canvi de sistema de referència espacial, amb indicació de la projecció cartogrà fica i parà metres necessaris, podria ser el següent:
PARAM_MT["Mercator_2SP",
        PARAMETER["semi_major",6370997.0],
        PARAMETER["semi_minor",6370997.0],
        PARAMETER["central_meridian",180.0],
        PARAMETER["false_easting",-500000.0],
        PARAMETER["false_northing",-1000000.0],
        PARAMETER["standard parallel 1",60.0]]
Format Well Known Binary (WKB)
La versió binà ria del format, anomenada Well Known Binary (WKB), representa els objectes geomètrics com una seqüència de valors numèrics de tipus Unsigned Integer o Double. Els valors de tipus Unsigned Integer indiquen codis que serveixen per expressar el tipus d'objecte geomètric, el nombre de components o el nombre de punts. Els valors de tipus Double serveixen per a expressar cada coordenada individual. El primer valor de la seqüència és sempre un byte, amb valor 0 o 1, que serveix per a indicar el tipus de codificació binà ria; és a dir l'ordre en què cal interpretar el grup de bytes que formen cada valor Unsigned Integer o Double. Els dos tipus de codificació binà ria, XDR (ordre directe, Big Endian) o NDR (ordre invers, Little Endian) s'ndiquen respectivament mitjançant 0 o 1.
AixÃ, per exemple, per a representar un objecte geomètric de tipus Polygon en 2D, format per dos contorns de 3 i 4 parells de coordenades respectivament, la seqüència numèrica seria la de la figura següent:
B=1 | T=3 | NR=2 | NP=3 | x1 | y1 | x2 | y2 | x3 | y3 | NP=4 | x1 | y1 | x2 | y2 | x3 | y3 | x4 | y4 |
onÂ
B    és un byte que indica el tipus de codificació binà ria, en aquest cas NDR
T    és un Unsigned Integer que indica el tipus de geometria, en aquest cas Polygon
NR   és un Unsigned Integer que indica el nombre de components, aquà 2 contorns
NP  és un Unsigned Integer que indica el nombre de punts de cada contorn, 3 i 4
xi    és un Double (real de doble precisió) que expressa la coordenada x del punt i
yi    és un Double (real de doble precisió) que expressa la coordenada y del punt i
Donada la necessitat d'indicar cada tipus d'objecte geomètric mitjançant un codi numèric, l'està ndard Simple Feature Access especÃfica el llistat de codis per a cada tipus de geometria en 2D, 3D (z o m) i 4D (z i m).
Tipus de geometria | 2D | Z | M | ZM |
Geometry | 0000 | 1000 | 2000 | 3000 |
Point | 0001 | 1001 | 2001 | 3001 |
LineString | 0002 | 1002 | 2002 | 3002 |
Polygon | 0003 | 1003 | 2003 | 3003 |
MultiPoint | 0004 | 1004 | 2004 | 3004 |
MultiLineString | 0005 | 1005 | 2005 | 3005 |
MultiPolygon | 0006 | 1006 | 2006 | 3006 |
GeometryCollection | 0007 | 1007 | 2007 | 3007 |
CircularString | 0008 | 1008 | 2008 | 3008 |
CompoundCurve | 0009 | 1009 | 2009 | 3009 |
CurvePolygon | 0010 | 1010 | 2010 | 3010 |
MultiCurve | 0011 | 1011 | 2011 | 3011 |
MultiSurface | 0012 | 1012 | 2012 | 3012 |
Curve | 0013 | 1013 | 2013 | 3013 |
Surface | 0014 | 1014 | 2014 | 3014 |
PolyhedralSurface | 0015 | 1015 | 2015 | 3015 |
TIN | 0016 | 1016 | 2016 | 3016 |
Triangle | 0017 | 1017 | 2017 | 3017 |
Les classes CircularString, CompoundCurve i CurvePolygon només es contemplen en el model de dades de l'està ndard Simple Feature Access com a possibles opcions futures. L'està ndard ISO/IEC 13249 SQL Multimedia and Application Packages - Part 3. Spatial (ISO/IEC, 2006), però, i altres implementacions sà que inclouen aquests tipus d'objectes geomètrics i n'especifiquen la representació en els formats WKT i WKB.
Mètodes d'operacions espacials
Pel fet de ser un model de dades orientat a objectes, Simple Feature Access no sols especifica l'estructura de les dades espacials i la representació de la geometria mitjançant els diferents tipus d'objectes geomètrics. També permet especificar operacions espacials, mitjançant mètodes associats als objectes geomètrics.
Tots els mètodes d'operacions espacials bà siques són comuns a tots els tipus d'objectes geomètrics i per tant es defineixen per al tipus d'objecte abstracte Geometry. La resta de tipus d'objectes geomètrics hereten els mètodes d'operacions espacials a partir de la classe Geometry i poden tenir alguns mètodes propis diferenciats, en general de poca importà ncia en comparació amb els mètodes generals.
A grans trets els mètodes d'operacions espacials comunes es poden diferenciar en tres grups: operacions de mesura i altres propietats espacials, operacions de consulta espacial basades en predicats espacials i funcions espacials d'anà lisi.
Mesures i altres propietats espacials
Un primer grup de mètodes definits per als objectes geomètrics del model de dades està ndard Simple Feature Access corresponen a propietats espacials de carà cter general i per tant es defineixen a nivell de la classe abstracta Geometry. Dintre d'aquests es troben els que proporcionen caracterÃstiques espacials generals de l'objecte, com és ara la dimensió, el tipus d'objecte geomètric, la dimensió de les coordenades o el sistema de referència espacial (SRID). Altres mètodes dins d'aquest grup general permeten validar la geometria efectuant comprovacions en relació a si és buida (e.g., no conté cap espai o punt), si és simple, si conté mesures o si és 3D. També inclou els mètodes que calculen a partir de la geometria un objecte descriptiu d'aquesta, és a dir un resultat que també és geometria, com és ara el rectangle envoltant mÃnim o el lÃmit de l'objecte geomètric. Finalment, contempla els mètodes per a exportar la geometria de l'objecte geomètric en format de text WKT o binari WKB.
A més dels mètodes de propietats espacials definits a nivell de la classe abstracta Geometry, cada subclasse d'objecte geomètric (tipus de geometria) te definits mètodes de mesura apropiats segons la seva dimensió. Per exemple, longitud en el cas de les lÃnies o dels contorns dels polÃgons, superfÃcie en el cas dels polÃgons, etc. També a nivell de cada tipus de geometria hi ha definits mètodes per a obtenir el lÃmit de cada objecte geomètric, com per exemple els punts inicial i final d'una lÃnia o el contorn exterior i cada un dels contorns interiors d'un polÃgon. Els objectes geomètrics multipart disposen, a més, de mètodes per obtenir el nombre de components (parts) que formen la col·lecció i per a recuperar cada un dels components (parts) individuals integrants de l'objecte.
Un segon grup de mètodes generals són els que permeten avaluar relacions espacials d'un objecte geomètric en relació a un altre. Són mètodes comuns per a tots els tipus d'objectes geomètrics, definits per tant a nivell de la classe abstracta Geometry, que es basen en el model de nou interseccions estès dimensionalment (DE-9IM), definit per Egenhofer (Egenhofer et al., 1994) i Clementini (Clementini et al., 1993; 1994).
El model de nou interseccions estès dimensionalment (DE-9IM) és un model topològic que permet calcular i descriure les relacions espacials entre dos objectes geomètrics en l'espai de dues dimensions mitjançant la dimensió (0, 1 o 2; o bé el conjunt buit) del resultat de les nou possibles interseccions entre interior, lÃmit i exterior dels objectes geomètrics.
La matriu de nou interseccions es pot escriure com una seqüència de valors que és caracterÃstica de cada relació espacial i que permet implementar predicats de consulta espacial en les bases de dades espacials. Per exemple, la matriu expressada per la seqüència  (212101212) indica una relació de cavalcament entre dos polÃgons, atès que la intersecció dels dos interiors (primer dÃgit de la seqüència) és un objecte de dimensió 2, és a dir una à rea.
En base als patrons caracterÃstics de les diferents relacions espacials entre objectes de dimensions 0 (punts), 1 (lÃnies) i 2 (polÃgons) que proporciona el model de nou interseccions estès dimensionalment (DE-9IM), el model de dades està ndard Simple Feature Access defineix mètodes per a avaluar si es dóna cada una de les relacions espacials entre dos objectes geomètrics (o entre dos conjunts d'objectes geomètrics) següents: equals (igual), disjoint (disjunt), intersects (interseca), touches (toca), crosses (creua), within (dins), contains (conté), overlaps (cavalca), més el mètode genèric relate (relaciona) que avalua si la relació espacial entre dos objectes geomètrics és igual a una determinada matriu d'interseccions. En tots els casos el valor retornat per aquests mètodes de consulta espacial és de tipus booleà , cert o fals. És a dir, no calculen geometries derivades corresponents a aspectes (interseccions) de la relació espacial, només avaluen quina relació espacial es dóna entre els dos objectes.
La implementació per mitjà d'un llenguatge de consulta espacial, com és ara SQL-MM Part 3 Spatial, permet efectuar les consultes en ambdós sentits. És a dir, determinar si la matriu de nou interseccions entre dos objectes geomètrics és igual a un patró caracterÃstic determinat (e.g., saber si es dóna una relació espacial concreta), o bé obtenir els valors de la matriu de nou interseccions donats dos objectes (e.g., saber quina relació espacial es dóna).
Dins d'aquest bloc de mètodes de relació i consulta espacial el model de dades està ndard Simple Feature Access afegeix dos mètodes més, que no avaluen relacions espacials, sino que serveixen per a generar geometries a partir de mesures de referenciació lineal. Es tracta dels mètodes locateAlong (localitzar al llarg) i locateBetween (localitzar entre), que generen respectivament l'element lineal d'una determinada mesura des de l'origen al llarg d'un element lineal amb mesures i l'element lineal entre dues mesures al llarg d'un element lineal amb mesures.
El tercer bloc de mètodes d'operacions espacials definits per als objectes geomètrics del model de dades està ndard Simple Feature Access correspon a funcions espacials d'anà lisi, que calculen nous objectes geomètrics a partir dels objectes geomètrics emmagatzemats. Aquests mètodes són comuns a tots els objectes geomètrics (tipus de geometries) del model i per tant es defineixen a nivell de la classe abstracta Geometry, de la qual l'hereten els diferents tipus d'objectes geomètrics, essent la realització diferenciada en cada cas grà cies al polimorfisme.
En general es tracta de la majoria de les operacions espacials d'anà lisi bà siques dels sistemes d'informació geogrà fica, que es coneixen globalment com a operacions d'anà lisi cartogrà fica. Entre aquestes, el model de dades està ndard Simple Feature Access, defineix les funcions de distà ncia entre dos objectes (distance), à rea d'influència d'un objecte (buffer), polÃgon convex mÃnim d'un conjunt de punts o d'objectes (convexHull), la intersecció espacial de dos objectes (intersection), la unió de dos objectes (union), la diferència (difference) i la diferència simètrica (symDifference).
Â
Implementacions
El model de dades està ndard Simple Feature Access ha estat rà pidament acceptat i difós en pocs anys. El nombre de sistemes de gestió de bases de dades que l'han implementat, de forma més o menys completa i amb més o menys extensions, com a extensió espacial per a oferir un sistema de gestió de bases de dades espacials és molt gran. Igualment pel costat del client són nombrosos els programes de SIG de sobretaula, servidors de mapes web i biblioteques de tractament d'informació geoespacial que poden llegir, escriure i operar amb dades segons el model Simple Feature Access. La següent és una relació no exhaustiva, a tall d'exemple:
- sistemes de gestió de bases de dades de codi obert:
- PostgreSQL (versions 8, 9): PostGIS
- MySQL (versió 4.1)
- SpatiaLite
- Ingres:Â GeoSpatial
- sistemes de gestió de bases de dades comercials:
- Oracle (versions 9i, 10g, 11g):Â Oracle Spatial
- IBM DB2 (versions 9, 10): Spatial Extender i Spatial Support
- IBM Netezza: Netezza Spatial
- IBM Informix (versions 9, 10, 11): Spatial datablade
- Microsoft SQL Server 2008 R
- Teradata (versions 12, 13)
- biblioteques de funcions geoespacials de codi obert:
- Java Topology Suite, JTS
- GDAL
- GEO
- OpenLayers
- biblioteques de funcions geoespacials comercials:
- Feature Manipulation Engine, FME
- programari servidor de mapes web de codi obert:
- deegree
- GeoServer
- GeoTool
- MapServer
- programari de SIG de sobretaula de codi obert:
- GRASS
- gvSIG
- OpenJUMP
- Quantum GI
- uDig
- programari de SIG de sobretaula comercial:
- ArcGIS (per mitjà d'ArcSDE o d'Interoperability Extension)
- Cadcorp SIS
Temes relacionats
- Base de dades espacial
- Model de dades vectorial
- Model de nou interseccions estès dimensionalment
- Sistema de referència espacial
- Xarxa irregular de triangles
Referències
Clementini, E.; Di Felice, P. and van Oosterom, P. (1993) "A small set of formal topological relationships suitable for end-user interaction", In Abel, D. and Ooi, B. C. (eds.) Advances in Spatial Databases: Proceedings Third International Symposium, SSD '93 Singapore. Lecture Notes in Computer Science. 692. New York: Springer.
Clementini, E.; Sharma, J. and Egenhofer, M. (1994) "Modelling topological spatial relations: Strategies for query processing", Computers & Graphics, 18(6), 815–822.
Egenhofer, M.; Clementini, E. and di Felice, P.A. (1994) "Topological relations between regions with holes", International Journal of Geographical Information Systems, 8(2), 129-142.
ISO/TC211 (2003a) ISO 19107: Geographic information - Spatial schema, Geneva, Switzerland: International Organization for Standardization (ISO)
ISO/TC211 (2003b) ISO 19125: Geographic information - Simple Feature Access (SFA), Geneva, Switzerland: International Organization for Standardization (ISO)
ISO/IEC (2006) ISO/IEC 13249-3:2006(E) – Text for FDIS Ballot Information technology - Database languages - SQL Multimedia and Application Packages - Part 3: Spatial, Geneva, Switzerland: International Organization for Standardization (ISO)
OGC (1996) The OpenGIS Abstract Specification: An Object Model for Interoperable Geoprocessing, Revision 1, OpenGIS Project Document Number 96-015R1 Wayland, MA: OpenGIS Consortium Inc.
OGC (1999) OpenGIS Simple Features Specification for SQL (Revision 1.1). Wayland, MA: OpenGIS Consortium Inc.
OGC (2011a) OpenGIS Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture (Version 1.2.1). Wayland, MA: Open Geospatial Consortium.
OGC (2011b) OpenGIS Implementation Standard for Geographic information - Simple feature access - Part 2: SQL option (Version 1.2.1). Wayland, MA: Open Geospatial Consortium.
Lectures recomanades
OGC (2011a) OpenGIS Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture (Version 1.2.1). Wayland, MA: Open Geospatial Consortium.
PostGIS Project (2012) PostGIS 2.0.1SVN Manual, Chapter 4.
http://postgis.org/documentation/manual-svn/using_postgis_dbmanagement.html#DE-9IM> [Consulta: 16 maig 2012]
Strobl, C. (2008) "PostGIS" in Shekar, S. and Xiong, H. (eds.) Encyclopedia of GIS, New York: Springer.