Vous utilisez ArcGIS Desktop avec SQL Server Spatial comme backend?

15

Je me demande comment utiliser au mieux ArcGIS Desktop et SQL Server 2008. Pour le moment, nous exécutons des importations et des exportations manuelles entre sql 2008 et les fichiers de forme arcgis 10. Avec sql 2008 ayant un type de données géographiques, je m'attendais à ce qu'il soit simple de remplacer les fichiers de carte par une base de données relationnelle, mais pour une raison quelconque, cela ne semble pas aussi simple que prévu.

Quelqu'un at-il des idées sur la façon dont je peux utiliser SQL 2008 pour le stockage de données et supprimer les fichiers de forme? J'ai lu sur arcsde, mais je ne comprends vraiment pas l'intérêt d'une autre couche. Aucune idée de ce qu'il est censé faire.

Michael
la source

Réponses:

9

En utilisant ArcSDE, vous pouvez stocker des données spatiales dans essentiellement 2 formats. Soit en utilisant le format natif SDE (qui est un BLOB), OU selon la base de données que vous utilisez (SQL Server, Oracle, PostGIS, je pense que DB2 spatial aussi) dans le format natif de base de données respectif. Lequel pour Oracle par exemple, est le type SDO_GEOMETRY et pour SQL Server les types spatiaux Geography ou Geometry.

Le format que vous finissez par utiliser dépend de vous et cela ne devrait / ne devrait pas faire de différence (énorme) du côté client. Tout client ESRI (par exemple Arcmap) traiterait les données de la même manière. Ma suggestion serait d'opter pour le format natif SQL Server (ou Oracle si vous l'utilisiez), sinon je pense que vous devrez utiliser des outils ESRI uniquement pour effectuer même les requêtes ou analyses spatiales les plus simples. L'utilisation du format db natif, d'autre part, vous permettrait également d'interroger les données d'autres clients et même de SQL Server Management Studio. Et comme @Blomster le dit, vous pouvez déplacer une grande partie de la logique spatiale dans des procédures stockées.

La première étape pour importer des fichiers de formes dans SQL Server serait de télécharger l' utilitaire Shape2SQL extrêmement pratique de Morten Nielsen

mapoholic
la source
13

Puisque vous avez balisé la question pour ArcGIS 10, consultez les couches de requête: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/What_is_a_query_layer/00s50000000n000000/

Je l'ai utilisé pour me connecter à des bases de données SQL Server 2008 non ArcSDE.

Vous y accédez à partir du menu fichier:

entrez la description de l'image ici

Et il y a quelques autres écrans qui vous guident dans la définition de ce que ArcMap doit savoir pour créer la couche de requête.

entrez la description de l'image ici
(Assurez-vous que votre requête comprend un champ de géométrie et un champ d'identification unique)

entrez la description de l'image ici

Vous aurez envie de le tester, car je sais que c'était buggé à la sortie et SP1.

Jay Cummins
la source
6

D'après mon expérience, l'ajout d'un type de colonne spatiale SQL m'a permis de déplacer une grande partie de mes opérations spatiales (distance, tampon) dans des procédures stockées, ce qui est vraiment pratique.

La boîte à outils ArcGIS dispose d'un outil "Copier les entités" pour pousser les données dans une géodatabase sde, et si vous spécifiez un mot-clé de configuration "Géométrie" ou "Géographie", une colonne spatiale sql doit être générée.

Blomster
la source
4

ArcSDE vous permet de stocker des données spatiales dans l'instance SQL Server, en ajoutant efficacement une colonne spatiale à vos tables; il ne le modifie pas et n'affecte pas la connectivité / les applications existantes. ArcSDE agit, si vous le souhaitez, comme un magasin de métadonnées pour vos données spatiales, comme son nom de classe, son propriétaire, son étendue, le type de géométrie que vous stockez, etc., etc. (le tout dans des tables de métadonnées basées sur l'installation d'ArcSDE). Il vous permet de stocker tout ce que vous aimez, des images, etc. et d'avoir toujours des références spatiales (dans SQL Server, si je me souviens bien, les données spatiales sont stockées sous forme d'image tpe?). ArcSDE gère le stockage de ces données. C'est en fait un bon outil et tout cela d'un utilisateur ESRI sceptique.

J'utilise actuellement ArcGIS Server, avec ArcSDE et une connexion directe (à l'aide de tnsnames) sur un backend Oracle 11g et c'est génial. Je ne comprends pas pourquoi vous utiliseriez SQL Server pour les données spatiales alors que je pense qu'il est encore assez immature.

Poilu
la source
0

Vous pouvez modifier les données vectorielles stockées dans SQL 2008 ou 2012 dans ArcGIS en installant l'extension GISquirrel, disponible sur www.gisquirrel.com. Cela fournit également des outils pour importer des données spatiales dans SQL Server à partir de n'importe quelle source de données qui peut être affichée comme une couche dans ArcMap . J'ai récemment importé une table avec 90 millions de polygones - cela a pris 4 jours, mais a fonctionné sans accroc sur un ordinateur portable de 2 ans!

CrispinF
la source