Des organisations de toutes envergures se dirigent de plus en plus vers la création d'une Infrastructure de données géospatiales. Par un souci de réutilisation de leur information géographique ou simplement par optimisation des ressources investies, ces organisations se lancent dans le déploiement de ces solutions dites SDI (Spatial data infrastructure). La nouvelle norme européenne INSPIRE contribue largement au développement et à la popularité grandissante de ces solutions. Cette nouvelle réalité liée à cette volonté d'exploiter au maximum l'information à référence spatiale aura plusieurs avantages pour nos organisations. Notamment, faciliter la gestion intégrée de leurs données géospatiales, leurs droits d'accès, leurs accessibilités dans le réseau Intranet/Extranet, la création de services Web pour applications mobiles et bureautiques, la création de catalogues de données. Les composantes utilisées dans ces plates-formes diffèrent, mais elles ont toutes en fondation, un moteur de base de données. Ces technologies sont parfois imposées par nos TI, mais il nous faut tout de même connaître leurs avantages et inconvénients. Cette présentation a pour objectif de comparer et de démystifier certaines croyances sur trois des plates-formes les plus utilisées par ces entrepôts SDI: Oracle Spatial, Postgresql/PostGIS et Microsoft SQLServer. On y verra également concrètement les options et les utilitaires liés aux étapes de chargement et, comment exploiter l'information géographique via le langage SQL.
6. IBM System R -
1970
SDL - 1977
Software Development Laboratories
Ingres - 1974-1980
University of California, Berkeley
Informix - 1980
Oracle - 1982
SDL Devient Oracle
Ingress - 1986
Réécriture chez RTI
Sybase - 1984
a Berkeley
Postgresql - 1985
Réécriture a Berkeley
Sybase - 1988
Partenariat avec Microsoft Ingress - 1990
Naissance de Ingress coorp
Microsoft Sql Server 6.0 Oracle - 1992
Sybase - 1995 Oracle Spatial
- 1994
PowerDesigner-Adaptive server
Postgresql - 2001
Refraction.net PostGIS
Microsoft Sql Server
2005
Microsoft Sql Server
2008
Microsoft Sql Server Postgresql - 2011 Oracle - 2011
2011 PostGIS 2.0 Oracle 11G
13. OS
Windows XP, Windows Vista, Windows
2003, Windows 2008 32-64 bit
AIX, BSD, Debian, Fedora, FreeBSD, Gentoo, HP-
UX, IRIX, Ubuntu, Mac OSx, NetBSD, OpenBSD,
RedHat, Slackware, Solaris, Tru64, Windows(32 bit)
Solaris, HP-UX, AIX , Linux
32-64 bits, Windows 32-64 bit
14. version gratuite
Version Express
1 cpu, 10Gb avec R2 sinon 4GB
Version de base
auncune limite
Version Express XE
1 cpu, 4gb, 1Gb RAM
17. logiciels de chargement
Safe FME, ESRI ArcGIS 9.3+, CadCorp, ETL SQL
Server Integration Services (SSIS)
shp dataloader for SQL Server 2008 par Morten
Nielsen
Safe FME, ESRI ArcGIS 9.3+, CadCorp
shp2pgsql, shp2pgsql-gui, OGR2OGR, ogr2gui,
QuantumGIS SPIT, SHP loader for PostGIS
(SharpMap.NET), GeoKettle,
Safe FME, ESRI ArcGIS 9.3+, shp2sdo
OGR2OGR (doit être recompilé), ogr2gui ,
GeoKettle
gratuit
18. SQL-MM
Non (T-SQL)
Oui (NOTE: utilise ST_ pour TOUTES ses
fonctions)
OUI, à condition d’utiliser le type de donnée
ST_GEOMETRY
select ST_Transform(geom,32198) from eloliennes_p
19. index spatiaux
B-Tree
GiST (variation de R-Tree)
R-Tree, Quadtree
20. types de données géospatiales
Point, ligne, polygone, Multipoint, Multiligne,
Multipolygone, Geometrycollection
OGC 2d - 2.5d(Mesure)
Support EPSG
Point, ligne, polygone, Multipoint, Multiligne,
Multipolygone, Geometrycollection, Courbe
OGC 2d - 2.5d(Mesure)
Support EPSG
Point, ligne, polygone, Multipoint, Multiligne,
Multipolygone, Geometrycollection, LINEARRING,
Courbe, Raster
OGC 2d - 2.5d(Mesure), 3D
Support EPSG
21. calcul natif sur le géoide avec le champ de type
«geography»
supporté sur toutes les plateformes avec certaines restrictions
sur l’utilisation des fonctions spatiales
22. solutions web
SQL Server 2008 Postgresql / PostGIS Oracle
geoserver X X X
mapserver X X X
ArcGIS Server X X X
MapGuide X X X
GeoMedia X X X
MapXstream X ? X
Oracle MapView X
24. ...Customer shall not disclose the results of any benchmark tests of the Programs to any third party without
Oracle's prior written approval...
...You may not disclose the results of any benchmark test of either the Server Software or Client Software for
Microsoft SQL Server, Microsoft Exchange Server or Microsoft Proxy Server to any third party without
Microsoft's prior written approval...
25. requête intersection
DECLARE @g geometry;
DECLARE @h geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 2, 2 0, 4 2)', 0);
SET @h = geometry::STGeomFromText('POINT(1 1)', 0);
SELECT @g.STIntersects(@h);
SELECT ST_Intersects(ST_GeomFromText('LINESTRING(0 2, 2 0, 4 2)', 0),
ST_GeomFromText('POINT(1 1)', 0);
SELECT SDO_UTIL.FROM_WKTGEOMETRY('LINESTRING(0 2, 2 0, 4 2)') as g,
SDO_UTIL.FROM_WKTGEOMETRY('POINT(1 1)') as h
FROM DUAL
WHERE SDO_RELATE(g, h, 'mask=anyinteract querytype=window') = 'TRUE';
28. oracle locator
-Accès au type de données SDO_GEOMETRY
-Accès aux fonctions d’indexation spatiale
-Accès aux opérateurs spatiaux dans les requêtes SQL
-Accès à une fonctions d’aggrégation (SDO_AGGR_UNION) *
-Accès à des fonctions de transformation de système de coordonnées
(SDO_CS)
-Accès à des fonctions de paramétrage(SDO_TUNE)
-Accès aux fonctions communes (SDO_UTIL)
Source: Simon Greener - spatialdbadvisor.come
29. oracle spatial
-Accès a SDO_RELATE, SDO_DIFFERENCE, SDO_INTERSECTION,
SDO_UNION*
-Accès aux fonctions LRS (Linear referencing system)
-Accès aux fonctions d’analyse spatiale et de datamining (SDO_SAM)
-Accès aux fonctions de géocodage (SDO_GCDR)
-Accès au GeoRaster
-Accès aux fonctions de validation topologique
-Accès aux fonctions d’analyse de réseaux
Source: Simon Greener - spatialdbadvisor.come et Boston GIS bostongis.com
30. restrictions oracle locator
requête illégale
select mdsys.SDO_Geom.SDO_Centroid(geom,0.5) as geom,
mdsys.SDO_Geom.SDO_Area(geom,0.5) as area,
mdsys.SDO_Geom.SDO_Length(geom,0.5) as length,
mdsys.SDO_Geom.SDO_ConvexHull(geom,0.5) as chull
from projpoly2d
where rownum = 1
requête légale
select mdsys.st_polygon(geom).ST_Centroid() as geom,
mdsys.st_polygon(geom).ST_Area() as area,
mdsys.st_polygon(geom).ST_ExteriorRing().ST_Length() as length,
mdsys.st_polygon(geom).ST_ConvexHull() as chull
from projpoly2d
where rownum = 1;
)
Source: Simon Greener - spatialdbadvisor.com
32. Votre organisation utilise l’environnement Windows Server (OS et Outil corpo
- Office, Sherepoint, .Net, IIS, etc...). Vous cherchez une solution d’entreposage
de données très simple pour votre ligne de produits SIG (ArcGIS - MapInfo -
GeoMedia - Autocad). Vous ne voulez pas vraiment réutiliser l’information avec
d’autres technologies ou la manipuler directement dans l’entrepôt.
-SQL Server 2008 R2 fonctionne très bien dans l’environnement Windows!
-Facile à installer et administrer
-Coût de la licence élevé.
-Le serveur Windows demande plus de ressource système = $$$
-Microsoft est un bon choix si on considère l’utiliser aussi avec Sharepoint et
comme contenant mais moins pratique pour des systèmes de plus grande
envergure (moins de fonctions, moins accessible)
33. Idéal pour un entrepôt SDI sur serveur Windows, Linux, Solaris ou même
Mac. Peut être utilisé comme contenant pour votre suite bureautique ET/
OU comme solution de développement de système(manipulation SQL
facile et flexible). Il offre une connectivité à une grande majorité de
technologie de diffusion Web, le meilleur rapport qualité/prix versus le
nombre de fonctions spatiales offert.
-Grand nombre de fonctions de traitement facile à utiliser
-Grand nombre de langages de programmation supportés
-Connexion à toutes les plateformes SIG ou presque
-Flexibilité
-Gratuit, gestion facile et très performant
-Supporté sur tous le OS(ou presque)
-Postgresql corrige très rapidement les bugs et à une communauté
très active
-La meilleure des implantations pour une solution hybride
34. Vous êtes une grande organisation avec plus de moyen financier. Vous avez
déjà Oracle comme technologie RDBMS. Vous avez accès à de l’aide pour
gestion / installation / entretien!
-Oracle est une plateforme extrêmement solide utilisée par de
grandes organisations!
-Les fonctions «Oracle Spatial» couvrent pratiquement tous les
besoins et même plus.
-Coût élevé (licence, administration, utilisation)
-Oracle à un gros budget de développement et R&D.
-Oracle Enteprise Server 11g offre maintenant les services OGC
natif.
Si vous utilisez un entrepôt de données, cette offre de services est à votre portée. La base de données est maintenant le centre de notre univers géospatial. Il est le coeur d'une Infrastructure de Données Spatiales «SDI». Cette infrastructure regroupe un ensemble de composantes technologiques exposant des services Web standardisés et coordonnées autour d'un entrepôt de données. C'est maintenant autour de ces services que les applications Web modernes se construisent. L'entrepôt de données prends donc tout son sens...\n
\n
Microsoft\nMicrosoft a développé conjointement avec la firme Sybase une plateforme SGBD qui voit le jour 1989. Ce partenariat rompu depuis plusieurs années (1994), le produit ne cesse d’évoluer mais l’option «Spatiale» est utilisable efficacement dans ce produit avec la sortie de SQL Server 2008 R2 (mai 2010). Microsoft SQL Server 2011 (code name "Denali") devrait sortir au courant de l’année\n\nPostGIS\nEntre 2000 et 2001, une petite entreprise de la Colombie Britanique, réalise des travaux pour des ministères du gouvernement provincial. C’est le 31 mai 2001 qu’est apparu la version 0.1 de PostGIS, une extension spatiale au moteur de base de données OpenSource PostgreSQL. Les performances phénoménales du produit le rend très rapidement populaire dans le monde. Quatre ans plus tard, après plusieurs livraisons successives, le produit est devenu mature et largement utilisé dans le monde. \n\nPostgreSQL est un produit aujourd’hui extrêmement robuste et très bien supporté par la firme «EntepriseDB» elle-même financée par des géants comme IBM, Sony, NTT. Cette bd débute son histoire en 1973 Elle est la plus avancée des base de données Open Source et la seule à pouvoir rivaliser avec les produits commerciaux du même genre.\n\nOracle\nSuite à des travaux réalisés chez Pêche et Océan Canada, on a réussi à gérer un nouveau type de données «Spatial» directement dans la base de données Oracle. C'est en 1992 que l'option «Spatial Data Option» fait son apparition sur le marché dans le produit Oracle 7. Ce n'est qu'avec Oracle 8 que la compagnie commence à réellement vendre et organiser une campagne marketing avec «Oracle Spatial». Même encore aujourd'hui on attend le terme «SDO».\n
\n
L’entrepôt de données spatiales permettra de sauvegarder des géométries dans une table régulière et de faire des indexes spatiaux permettant de faire des requêtes SQL simples et/ou très complexes sur des jeux de données volumineux. \n
L’entrepôt de données spatiales permettra aussi de sauvegarder plusieurs géométries dans un même enregistrement d’une table régulière. Un bâtiment sera un polygone à grande échelle, ensuite une ligne et enfin un point\n
L’entrepôt de données spatiales permettra de sauvegarder des multigéométries dans un enregistrement d’une table régulière.\n
Encore plus étrange, l’entrepôt de données spatiales permettra aussi de sauvegarder collections de géométries dans un enregistrement de table régulière. Cette façon de faire est peu fréquente.\n
Certaines technologies bureautiques n’utilisent pas automatiquement le format natif de ces plateformes à l’étude aujourd’hui. Si c’est votre cas, malheureusement, RIEN de ce que je vais dire ici ne sera possible pour vous.\n
\n
Vous devez savoir que toutes les plateformes ont au moins une version gratuite. \n
\n
\n
\n
SQL-MM Représente un Standard d'écriture des requêtes SQL. «S» pour Standard et «T» pour temporel. Ceci signifie que une requête de reprojection «DEVRAIT» s'écrire de la même façon d'une plateforme à l'autre. Même si les trois plateformes supportent très bien le standard ANSI-SQL, aucune d'entre elles n'ont pas vraiment la même syntaxe d'écriture de leurs requêtes spatiales. Généralement par contre, il est facile de convertir l'écriture d'une plateforme à une autre\n
L’index R-Tree est maintenant largement préféré dans toutes les plateformes puisque son algorithme est auto-configurable donc plus simple à utiliser. \n\nLe B-Tree est le moins performant des trois mais il de limiter le i/o sur le serveur (si on a pas beaucoup de mémoire). Le B-Tree et Quadtree R-tree sont dérivés du même algorithme. \n\nLe R-Tree d’oracle est plus sensible que le Quadtree. Le GiST de PostGIS est très performant\n\n\n
PostGIS 2.0 supportera les images matricielles avec pgRaster. Qui est un développement fait à l’Université Laval par Pierre Racine. Les premiers échos du nouveau format sont très positifs dans dans la communauté. Pour les codes de système de référence, tous utilisent le standard EPSG. Le type Courbe et le 3D sera également supporté dans Pg2.0\n
On doit vérifier la documentation de toutes les plateformes pour les détails mais, en gros toutes ont un type «Geography» avec un certain nombre de fonctions spatiales (très limités). NOTE: Ce format est plus lent à l'exécution des requêtes... Sur toutes les plateformes l'emphase est mis sur une grille de calcule en coordonnées planes.\n
\n
Comparer la performance des plateformes est un jeu périlleux et discutable. De plus, on ne considère pas vraiment ce point pour faire un choix et la plupart du temps ce n'est pas le critère de sélection. Ils sont tous rapides et on finit toujours par ajuster nos requêtes les plus complexes sous les 3-5 secondes.\n
De plus, il me serait interdit de diffuser ici des résultats de performance. Un très grand nombre de variables sont à considérer pour bien comparer les produits à ce niveau.\n
\n
Ce montre peut-être stocké dans Oracle avec le format SDEBINARY, GDO, mais impossible de la charger nativement dans le format SDO_GEOMETRY qui est limiter à 1 million de points. Nous avons pu charger le monstre sans problème avec OGR2OGR dans Postgresql/PostGIS. Nous n’avons pas encore tester avec SQL Server 2008 R2 :-(\n\n
J’ouvre une parenthèse sur un point obscure et mal compris par plusieurs. Oracle offre à ses clients une licences «morales», i.e aucune clé physique n’est requise. Mais pour être légal, il y a une très grosse différence entre les deux produits.\n
Locator est le produit de base qui n'exige aucun investissement supplémentaire en licence. Il est possible d'utiliser cette version pour gérer de très gros système qui n'ont pas besoin de contraintes d'intégrités ou validations avec des requêtes complexes.\n
Tout ceux qui utilise Oracle comme un contenant n’ont pas besoin d’Oracle Spatial. Cette licence ne sera requise QUE si on veut programmer des packages spatiaux ou gérer sur le serveur nos contraintes d’intégrités spatiales ou avoir besoin de fonctions géomatiques avancées\n
La licence d’utilisation dans Oracle est particulièrement complexe à cerner. Il existe maintenant un scripte de désinstallation de Oracle Spatial dans Oracle 11g qui vous permettra d’être légal à 100%.\n