J'ai un tableau avec des colonnes de longitude latitude (NAD27). Je calcule deux autres colonnes, X et Y, représentant l'emplacement de Web Mercator (WGS84).
Actuellement, j'utilise un Arcmap pour ce faire, en appliquant la géotransformation recommandée pour la zone d'étude - la géotransformation à 3 paramètres (géocentrique) - pour passer de NAD27 à WGS84.
Je voudrais le faire entièrement dans Sql Server 2012. D'après ce que je peux dire, Sql Server ne prend pas en charge les transformations de données prêtes à l'emploi. Quelqu'un connaît-il une bibliothèque Sql qui prend en charge cette géotransformation? Je voudrais simplement utiliser les mêmes coefficients en SQL que j'utilise actuellement en Arcmap.
J'ai également besoin de projeter de WGS84 lat / long dans web mercator. Je vois cette formule implémentée en javascript , mais si quelqu'un a une procédure stockée SQL qui fait cela, ce serait génial.
la source
Réponses:
En ce qui concerne le javascript à SQL, voici probablement comment vous géreriez cela:
Je pense que ce qui suit répondra à votre première question. Cela nécessitera un peu de vérification des erreurs. Pour vous aider, vous pouvez trouver l'équation originale ici: http://www.colorado.edu/geography/gcraft/notes/datum/gif/molodens.gif
Edit: quelques variables qui auraient dû être des noms de colonnes, et une virgule et des parenthèses manquantes.
Edit: une parenthèse de plus.
J'ai testé cette formule et elle fonctionne en utilisant des points aléatoires contre la transformation ArcGISs. N'oubliez pas que vos unités peuvent être en pieds / degrés. N'oubliez pas que ces résultats sont des deltas, vous devrez donc les ajouter à vos valeurs pour obtenir vos résultats finaux.
la source
@dX @dY @dZ
valeurs d'ike qui peuvent être différentes selon laNAD_1927_To_WGS_1984
méthode géocentrique que vous avez choisie.Ceci est un lien vers une question similaire:
http://sqlspatialtools.codeplex.com/discussions/286893
Je pense que la première réponse peut être utile pour comprendre ce que vous pouvez et ce que vous ne pouvez pas faire dans SQL Server et pour connaître certaines méthodes pour résoudre votre problème.
la source