Nous avons des données raster générées à partir de murs (verticaux). Nous souhaitons conserver ces données dans une base de données postgis et encoder la référence spatiale "de la manière la plus précise".
Actuellement, ils sont enregistrés en abusant d'un CRS métrique et codent la coordonnée z du mur en y et le décalage par rapport au côté gauche du mur en x. Cela donne un système de référence local qui fonctionne pour son objectif mais perd le contexte global.
Pour les données vectorielles, il est simple de donner à chaque sommet une coordonnée 3D pour le localiser dans l'espace (global). C'est ce qui doit être créé sur la base des données raster (utilisez une interface utilisateur SIG pour numériser les zones d'intérêt au-dessus de ces murs).
De plus, plusieurs murs peuvent être situés côte à côte et il devrait être possible de les visualiser dans ce contexte (cela suffit si cela ne fonctionne que s'ils ont le même azimut).
Il existe quelques approches pour résoudre ce problème:
Utilisez un CRS personnalisé dans l'espace vertical, dont l'origine est basée sur des coordonnées réelles. Cependant, où exactement cette "référence d'origine" serait stockée n'est pas encore claire.
- Enregistrer les informations dans le CRS (est-ce possible?) - Il faudrait plusieurs CRS différents pour chaque plan de référence.
- Utiliser une clé étrangère pour une ligne (voir les lignes rouges dans l'exemple) - Situation actuelle, informations redondantes (que faire si la longueur de la ligne ne correspond pas à la largeur du raster?)
- Créer un polygone 3D comme plan de référence - Informations redondantes, voir ci-dessus
- Créez un point d'origine sur la ligne qui, en combinaison avec l'azimut de la ligne, peut être le plan de référence - Des murs différents partageraient-ils le même plan de référence?
Toutes les approches semblent être en quelque sorte des «solutions de contournement» et ont leurs mises en garde.
Les deux images ci-dessous montrent une vue de dessus de la situation et une composition de plusieurs images tramées frontales. (C'est correct s'ils sont mappés sur un seul plan de référence)
Quelle est la façon la plus appropriée de stocker les images raster verticales dans la base de données sans perdre son contexte géographique dans l'espace horizontal et avec les informations d'altitude?
la source
Réponses:
douteux, c'est la réponse élégante, mais cela ressemble à quelque chose que nous avons fait - où nous avons commencé avec des coupes transversales numérisées (rasters verticaux, comme vos murs). Nous avons géoréférencé les images où le décalage du côté gauche était la coordonnée x et la hauteur de la section x était y. ces coordonnées étaient dans le même CRS que toutes nos autres données cartographiques pour la région.
Nous avons ensuite simplement numérisé les rasters et inclus un ensemble de données ponctuelles distinct pour indiquer les vrais coins de début / fin des coupes transversales.
De là, un court script peut extraire les sommets des lignes, et en utilisant les coins, nous pourrions transposer les points pour les afficher dans un espace 2D ou 3D - (note en 2D - tous les points s'empilent les uns sur les autres dans le plan vertical)
ou dans une visionneuse 3D -
bien que nous ne les ayons pas stockés dans une base de données, le concept devrait être le même.
maintenant, peut-être qu'il y a une énorme erreur dans notre méthode - donc je serais heureux (enfin, pas vraiment) d'entendre cela aussi. si cela m'intéresse, je pourrais partager le script kludgy que nous avons utilisé pour transposer les données.
la source