Suite

Comment créer un tampon autour du point ayant la projection 4326

Comment créer un tampon autour du point ayant la projection 4326


J'essaie de créer un tampon (en mètres) autour du point (long lat alt) qui est en projection4326avec le code ci-dessous. Mais il ne donne pas le rendement attendu.

SELECT ST_AsTEXT(ST_Buffer((ST_GeomFromText('POINT(78.385333 17.433293 0)', 4326)),63.763271854));

Mais si je convertis le point enla géographieil donne un résultat correct.

SELECT ST_AsTEXT(ST_Buffer((ST_GeomFromText('POINT(78.385333 17.433293 0)', 4326))::geography,63.763271854));

Qu'est-ce que çast_bufferfaire avecla géographieType de données. Sans le convertir en géographie, comment puis-je faire cela? Je suis nouveau sur postgis.


La base du type géographique PostGIS est une sphère.

La base du type de géométrie PostGIS est un plan. (même lien)

Ainsi, lorsque vous exécutez ST_Buffer sur une géométrie EPSG:4326, la sortie est donnée en degrés de latitude/longitude. D'un autre côté, lorsque vous faites la même chose pour la géographie EPSG:4326, vous obtenez le résultat en mètres.

Ce que vous pouvez faire (en plus d'utiliser le type géographique) est de projeter vos données dans le "meilleur" CRS que EPSG:4326 (c'est-à-dire le système de grille national).


Données spatiales SQL Server ajoutant un rayon autour d'une géométrie

J'ai récemment utilisé les nouveaux types de données spatiales pour un projet au travail et j'ai rencontré un problème intéressant.

Pour plus de précision, le meilleur type de données pour stocker des informations géographiques est de loin la géographie, si elle est chargée correctement, vous pouvez obtenir des calculs de distance très soignés entre des points, des formes, etc. en fonction de la courbure de la terre. Agréable.

Cependant, en termes de performances, c'est un chien. Même avec une indexation spatiale appliquée sur des milliers de formes chargées et devant utiliser STIntersects, STDistance pour obtenir les informations dont nous avons besoin n'était pas vraiment performant.

Nous avons donc converti toutes les formes, les points en géométrie – un peu comme ceci :

Tout est bon au pays de la performance, sacrifiant une légère précision (au Royaume-Uni, ce n'est pas significatif). Nous obtenons maintenant quelques méthodes astucieuses de géométrie uniquement comme STWithin, STContains et bien d'autres. Nous pouvons faire toutes sortes de trucs géniaux comme me montrer tous les codes postaux de (STWithin) Londres. Neato.

Ensuite, bien sûr, nous avons voulu appliquer un rayon autour de notre recherche, par ex. montrez-moi toutes les villes à moins de 3000 mètres d'un code postal et vous ne pouvez pas, du moins pas comme vous le pensez.

Si les données étaient toujours une géographie, vous n'utilisez que STBuffer(@radius) pour appliquer un rayon de X mètres autour de votre point de départ. Maintenant que les données sont une géométrie, STBuffer existe toujours mais c'est maintenant à une échelle différente - vous ne pouvez pas simplement (facilement) convertir vos compteurs en une valeur que STBuffer vous donnera un résultat précis.

Alors, est-ce possible ? Eh bien, je pense avoir trouvé une réponse facile. En basculant la forme d'une géométrie à une géographie et inversement, nous pouvons appliquer un STBuffer en mètres autour de notre forme.

Cela peut être fait comme ceci :

Ce que ce petit extrait ferait, c'est vous renvoyer toutes les formes de votre table de géométrie où elles se trouvent dans (à l'intérieur) de votre forme de départ plus un rayon de 3000 mètres. Le calcul est simple et rapide. En supposant que vous ayez un index spatial (dans notre cas, nous avons une boîte englobante du Royaume-Uni), la performance est en effet très limitée. Ensuite, montrant la distance en mètres.


Description de la distance tampon

Le paramètre de distance tampon peut être saisi sous forme de valeur fixe ou sous forme de champ contenant des valeurs numériques.

Exemple 1 : Distance fixe

L'illustration suivante montre la zone tampon d'une classe d'entités linéaires utilisant une distance de 20, un type d'extrémité FLAT , un type de côté FULL et un type de fondu ALL.

Étant donné que la distance tampon est une constante, toutes les entités sont tamponnées à la même largeur.

Exemple 2 : Distance du champ

Cet exemple illustre la zone tampon d'une classe d'entités linéaires à l'aide d'un champ numérique avec des valeurs de 10, 20 et 30 pour la distance, un type de fin FLAT , un type de côté FULL et un type de fondu ALL .

Étant donné que les distances de tampon dépendent des valeurs de champ, différentes largeurs de tampon peuvent être appliquées dans la même opération.


Contenu

La projection stéréographique était connue d'Hipparque, de Ptolémée et probablement plus tôt des Égyptiens. Elle était à l'origine connue sous le nom de projection planisphère. [1] Planisphaerium par Ptolémée est le plus ancien document survivant qui le décrit. L'une de ses utilisations les plus importantes était la représentation des cartes célestes. [1] Le terme planisphère est encore utilisé pour faire référence à de telles cartes.

Aux XVIe et XVIIe siècles, l'aspect équatorial de la projection stéréographique était couramment utilisé pour les cartes des hémisphères est et ouest. On pense que déjà la carte créée en 1507 par Gualterius Lud [2] était en projection stéréographique, de même que plus tard les cartes de Jean Roze (1542), Rumold Mercator (1595) et bien d'autres. [3] Dans les cartes stellaires, même cet aspect équatorial avait déjà été utilisé par les anciens astronomes comme Ptolémée. [4]

François d'Aguilon a donné à la projection stéréographique son nom actuel dans son œuvre de 1613 Opticorum libri sex philosophis juxta ac mathematicis utiles (Six livres d'optique, utiles pour les philosophes et les mathématiciens). [5]

En 1695, Edmond Halley, motivé par son intérêt pour les cartes du ciel, publie la première preuve mathématique que cette carte est conforme. [6] Il a utilisé les outils de calcul récemment établis, inventés par son ami Isaac Newton.

Première formulation Modifier

La sphère unitaire S 2 dans l'espace tridimensionnel R 3 est l'ensemble des points (X, oui, z) tel que X 2 + oui 2 + z 2 = 1 . Laisser N = (0, 0, 1) être le "pôle nord", et soit M être le reste de la sphère. L'avion z = 0 passe par le centre de la sphère, "l'équateur" est l'intersection de la sphère avec ce plan.

Pour n'importe quel point P sur M , il y a une ligne unique à travers N et P , et cette droite coupe le plan z = 0 en exactement un point P′ . Définir la projection stéréographique de P être ce point P′ dans l'avion.

En coordonnées cartésiennes (X, oui, z) sur la sphère et (X, Oui) sur le plan, la projection et son inverse sont donnés par les formules

En coordonnées sphériques (φ, θ) sur la sphère (avec φ l'angle zénithal, 0 φ π , et θ l'azimut, 0 θ ≤ 2π ) et les coordonnées polaires (R, Θ) sur le plan, la projection et son inverse sont

Ici, φ est compris comme ayant la valeur lorsque R = 0. En outre, il existe de nombreuses façons de réécrire ces formules en utilisant des identités trigonométriques. En coordonnées cylindriques (r, θ, z) sur la sphère et les coordonnées polaires (R, Θ) sur le plan, la projection et son inverse sont

Autres conventions Modifier

Certains auteurs [7] définissent la projection stéréographique du pôle nord (0, 0, 1) sur le plan z = −1 , qui est tangente à la sphère unité au pôle sud (0, 0, −1). Les valeurs X et Oui produites par cette projection sont exactement le double de celles produites par la projection équatoriale décrite dans la section précédente. Par exemple, cette projection renvoie l'équateur au cercle de rayon 2 centré à l'origine. Alors que la projection équatoriale ne produit aucune distorsion de surface infinitésimale le long de l'équateur, cette projection tangente aux pôles ne produit à la place aucune distorsion de surface infinitésimale au pôle sud.

En général, on peut définir une projection stéréographique à partir de n'importe quel point Q sur la sphère sur n'importe quel plan E tel que

  • E est perpendiculaire au diamètre traversant Q , et
  • E ne contient pas Q .

Aussi longtemps que E remplit ces conditions, alors pour tout point P autre que Q la ligne à travers P et Q se rencontre E en un seul point P′ , qui est défini comme étant la projection stéréographique de P sur E. [9]

Généralisations Modifier

Plus généralement, une projection stéréographique peut être appliquée à l'ensemble m -sphère S m dans ( m + Espace euclidien de dimension 1) E m+1. Si Q est un point de S m et E un hyperplan dans E m+1 , puis la projection stéréographique d'un point PS m − <Q> est le point P′ d'intersection de la ligne QP avec E . En coordonnées cartésiennes ( Xje , je de 0 à m ) sur S m et ( Xje , je de 1 à m) sur E , la projection de Q = (1, 0, 0, . 0) ∈ S m est donné par

Plus généralement encore, supposons que S est une hypersurface quadrique (non singulière) dans l'espace projectif P m+1. En d'autres termes, S est le lieu des zéros d'une forme quadratique non singulière F(X0, . Xm+1) dans les coordonnées homogènes Xje . Fixez n'importe quel point Q sur S et un hyperplan E dans P m+1 ne contenant pas Q . Puis la projection stéréographique d'un point P dans S − <Q> est l'unique point d'intersection de QP avec E . Comme précédemment, la projection stéréographique est conforme et inversible en dehors d'un "petit" ensemble. La projection stéréographique présente l'hypersurface quadrique comme une hypersurface rationnelle. [10] Cette construction joue un rôle dans la géométrie algébrique et la géométrie conforme.

La première projection stéréographique définie dans la section précédente envoie le "pôle sud" (0, 0, -1) de la sphère unité à (0, 0), l'équateur au cercle unité, l'hémisphère sud à la région à l'intérieur du cercle , et l'hémisphère nord à la région en dehors du cercle.

La projection n'est pas définie au point de projection N = (0, 0, 1). De petits voisinages de ce point sont envoyés à des sous-ensembles du plan éloignés de (0, 0). Le plus proche P est à (0, 0, 1), plus son image est éloignée de (0, 0) dans le plan. Pour cette raison, il est courant de parler de (0, 0, 1) comme mappage à "l'infini" dans le plan, et de la sphère comme complétant le plan en ajoutant un point à l'infini. Cette notion trouve son utilité en géométrie projective et en analyse complexe. Sur un plan purement topologique, il illustre comment la sphère est homéomorphe à la compactification en un point du plan.

En coordonnées cartésiennes un point P(X, oui, z) sur la sphère et son image P′(X, Oui) sur le plan, soit les deux sont des points rationnels, soit aucun d'entre eux :

La projection stéréographique est conforme, c'est-à-dire qu'elle préserve les angles auxquels les courbes se croisent (voir figures). D'autre part, la projection stéréographique ne préserve pas l'aire en général, l'aire d'une région de la sphère n'égale pas l'aire de sa projection sur le plan. L'élément de surface est donné dans (X, Oui) coordonnées par

Le long du cercle unité, où X 2 + Oui 2 = 1 , il n'y a pas d'inflation de zone dans la limite, ce qui donne un facteur d'échelle de 1. Les zones proches (0, 0) sont gonflées par un facteur 4, et les zones proches de l'infini sont gonflées par des facteurs arbitrairement petits.

La métrique est donnée dans (X, Oui) coordonnées par

et est la formule unique trouvée dans Bernhard Riemann Habilitationsschrift sur les fondements de la géométrie, prononcé à Göttingen en 1854, et intitulé Über die Hypothesen welche der Geometrie zu Grunde liegen.

Aucune carte de la sphère au plan ne peut être à la fois conforme et préservant la zone. Si c'était le cas, alors ce serait une isométrie locale et conserverait la courbure de Gauss. La sphère et le plan ont des courbures gaussiennes différentes, c'est donc impossible.

Des cercles sur la sphère qui font ne pas passent par le point de projection sont projetés sur des cercles sur le plan. Des cercles sur la sphère qui faire passent par le point de projection sont projetés sur des lignes droites sur le plan. Ces lignes sont parfois considérées comme des cercles passant par le point à l'infini, ou des cercles de rayon infini.

Toutes les lignes du plan, lorsqu'elles sont transformées en cercles sur la sphère par l'inverse de la projection stéréographique, se rencontrent au point de projection. Les lignes parallèles, qui ne se coupent pas dans le plan, sont transformées en cercles tangents au point de projection. Les lignes d'intersection sont transformées en cercles qui se coupent transversalement en deux points de la sphère, dont l'un est le point de projection. (Des remarques similaires s'appliquent au plan projectif réel, mais les relations d'intersection y sont différentes.)

Les loxodromes de la sphère correspondent à des courbes sur le plan de la forme

où le paramètre une mesure l'« étanchéité » du loxodrome. Ainsi les loxodromes correspondent à des spirales logarithmiques. Ces spirales coupent les lignes radiales dans le plan à angles égaux, tout comme les loxodromes coupent les méridiens de la sphère à angles égaux.

La projection stéréographique concerne l'inversion de plan de manière simple. Laisser P et Q être deux points sur la sphère avec des projections P′ et Q′ dans l'avion. Puis P′ et Q′ sont des images inversives l'une de l'autre dans l'image du cercle équatorial si et seulement si P et Q sont des reflets les uns des autres dans le plan équatorial.

  • P est un point sur la sphère, mais pas un « pôle nord » N et non son antipode, le 'pôle sud' S ,
  • P′ est l'image de P dans une projection stéréographique avec le point de projection N et
  • P″ est l'image de P dans une projection stéréographique avec le point de projection S ,

ensuite P′ et P″ sont des images inversives l'une de l'autre dans le cercle unité.

Les tracés de projection stéréographique peuvent être réalisés par ordinateur en utilisant les formules explicites données ci-dessus. Cependant, pour la représentation graphique à la main, ces formules sont lourdes. Au lieu de cela, il est courant d'utiliser du papier millimétré conçu spécifiquement pour la tâche. Ce papier millimétré spécial est appelé un stéréonet ou alors Filet Wulff, d'après le minéralogiste russe George (Yuri Viktorovich) Wulff. [11]

Le réseau de Wulff montré ici est la projection stéréographique de la grille de parallèles et de méridiens d'un hémisphère centré en un point de l'équateur (comme l'hémisphère oriental ou occidental d'une planète).

Dans la figure, la propriété de distorsion de surface de la projection stéréographique peut être vue en comparant un secteur de grille près du centre du filet avec un à l'extrême droite ou gauche. Les deux secteurs ont des aires égales sur la sphère. Sur le disque, ce dernier a près de quatre fois la surface du premier. Si la grille est rendue plus fine, ce rapport approche exactement 4.

Sur le réseau Wulff, les images des parallèles et des méridiens se coupent à angle droit. Cette propriété d'orthogonalité est une conséquence de la propriété de conservation d'angle de la projection stéréoscopique. (Cependant, la propriété de préservation d'angle est plus forte que cette propriété. Toutes les projections qui préservent l'orthogonalité des parallèles et des méridiens ne préservent pas l'angle.)

Pour un exemple d'utilisation du filet de Wulff, imaginez-en deux exemplaires sur du papier fin, l'un au-dessus de l'autre, alignés et collés en leur centre mutuel. Laisser P être le point de l'hémisphère unitaire inférieur dont les coordonnées sphériques sont (140°, 60°) et dont les coordonnées cartésiennes sont (0,321, 0,557, -0,766). Ce point se trouve sur une ligne orientée à 60° dans le sens inverse des aiguilles d'une montre à partir du positif X -axe (ou 30° dans le sens horaire à partir du positif oui -axe) et 50° au-dessous du plan horizontal z = 0 . Une fois ces angles connus, il y a quatre étapes pour tracer P :

  1. En utilisant les lignes de la grille, qui sont espacées de 10° dans les figures ici, marquez le point sur le bord du filet qui est à 60° dans le sens antihoraire du point (1, 0) (ou 30° dans le sens horaire du point (0, 1 )).
  2. Faites pivoter le filet supérieur jusqu'à ce que ce point soit aligné avec (1, 0) sur le filet inférieur.
  3. À l'aide des lignes de la grille sur le filet inférieur, marquez le point situé à 50° vers le centre à partir de ce point.
  4. Faites pivoter le filet supérieur dans le sens inverse de son orientation précédente, pour le ramener en alignement avec le filet inférieur. Le point marqué à l'étape 3 est alors la projection que nous voulions.

Pour tracer d'autres points, dont les angles ne sont pas des nombres aussi ronds que 60° et 50°, il faut visuellement interpoler entre les lignes de grille les plus proches. Il est utile d'avoir un filet avec un espacement plus fin que 10°. Les espacements de 2° sont courants.

Pour trouver l'angle central entre deux points de la sphère en fonction de leur tracé stéréographique, superposez le tracé sur un réseau de Wulff et faites pivoter le tracé autour du centre jusqu'à ce que les deux points se trouvent sur ou près d'un méridien. Ensuite, mesurez l'angle entre eux en comptant les lignes de la grille le long de ce méridien.

Deux points P1 et P2 sont dessinés sur une feuille transparente collée à l'origine d'un filet Wulff.

La feuille transparente est tournée et l'angle central est lu le long du méridien commun aux deux points P1 et P2 .

Analyse complexe Modifier

Bien que toute projection stéréographique manque un point sur la sphère (le point de projection), la sphère entière peut être cartographiée en utilisant deux projections à partir de points de projection distincts. En d'autres termes, la sphère peut être couverte par deux paramétrisations stéréographiques (les inverses des projections) à partir du plan. Les paramétrages peuvent être choisis pour induire la même orientation sur la sphère. Ensemble, ils décrivent la sphère comme une surface orientée (ou une variété bidimensionnelle).

Cette construction a une signification particulière dans l'analyse complexe. Le point (X, Oui) dans le plan réel peut être identifié avec le nombre complexe ζ = X + jeOui . La projection stéréographique du pôle nord sur le plan équatorial est alors

De même, laisser ξ = X − jeOui être une autre coordonnée complexe, les fonctions

Visualisation des lignes et des plans Modifier

L'ensemble de toutes les lignes passant par l'origine dans l'espace tridimensionnel forme un espace appelé le plan projectif réel. Cet espace est difficile à visualiser, car il ne peut pas être intégré dans un espace tridimensionnel.

Cependant, on peut approximativement le visualiser comme un disque, comme suit. Toute ligne passant par l'origine coupe l'hémisphère sud z ≤ 0 en un point, qui peut ensuite être projeté stéréographiquement en un point sur un disque. Les lignes horizontales coupent l'hémisphère sud en deux points antipodaux le long de l'équateur, l'un ou l'autre pouvant être projetés sur le disque, il est entendu que les points antipodaux sur la limite du disque représentent une seule ligne. (Voir la topologie du quotient.) Ainsi, tout ensemble de lignes passant par l'origine peut être représenté, presque parfaitement, comme un ensemble de points dans un disque.

De plus, chaque plan passant par l'origine coupe la sphère unité dans un grand cercle, appelé le trace de l'avion. Ce cercle correspond à un cercle sous projection stéréographique. Ainsi, la projection nous permet de visualiser les plans sous forme d'arcs de cercle dans le disque. Avant la disponibilité des ordinateurs, les projections stéréographiques avec de grands cercles impliquaient souvent de dessiner des arcs de grand rayon qui nécessitaient l'utilisation d'un compas à faisceau. Les ordinateurs rendent maintenant cette tâche beaucoup plus facile.

En outre associée à chaque plan est une ligne unique, appelée l'avion pôle, qui passe par l'origine et est perpendiculaire au plan. Cette ligne peut être tracée comme un point sur le disque comme n'importe quelle ligne passant par l'origine. La projection stéréographique permet donc aussi de visualiser les plans comme des points dans le disque. Pour les tracés impliquant de nombreux plans, tracer leurs pôles produit une image moins encombrée que tracer leurs traces.

Cette construction est utilisée pour visualiser des données directionnelles en cristallographie et en géologie, comme décrit ci-dessous.

Autre visualisation Modifier

La projection stéréographique est également appliquée à la visualisation des polytopes. Dans un diagramme de Schlegel, un m -polytope dimensionnel dans R m+1 est projeté sur un m -sphère dimensionnelle, qui est ensuite projetée stéréographiquement sur R m . La réduction de R m+1 à R m peut rendre le polytope plus facile à visualiser et à comprendre.


Fonctions indexables

Depuis que je le mentionne ST_DDans() est indexable, je devrais lister toutes les fonctions pouvant utiliser un index spatial :

Et en prime, il y a aussi quelques opérateurs qui accèdent aux index spatiaux.

  • geom_a && geom_b renvoie vrai si la boîte englobante de geom_a coupe la boîte englobante de geom_b dans l'espace 2D.
  • geom_a &&& geom_b renvoie vrai si la boîte englobante de geom_a coupe la boîte englobante de geom_b dans l'espace ND (un index ND est nécessaire pour que cela soit assisté par index),

Le téléchargement du site Web de PostGIS contient des informations sur l'installation sur d'autres plates-formes, y compris macOS et sur d'autres distributions Linux.

Une fois PostGIS installé, vous devrez configurer votre base de données pour utiliser les extensions. Si vous avez installé PostGIS version > 2.0, c'est aussi simple que d'émettre la commande suivante avec psql en utilisant la base de données d'adresses de notre exercice précédent.

Si vous utilisez PostGIS 1.5 et une version de PostgreSQL inférieure à 9.1, vous devrez suivre un ensemble d'étapes différent afin d'installer les extensions postgis pour votre base de données. Veuillez consulter la documentation PostGIS pour obtenir des instructions sur la façon de procéder. Il y a aussi quelques instructions dans la version précédente de ce manuel.


6.2 Point dans le polygone

Pour la prochaine analyse, nous allons totaliser la densité des arrêts de transport en commun dans chaque groupe d'îlots de recensement, puis rechercher des tendances dans la densité des arrêts de transport en commun selon le revenu médian des ménages.

Nous devons d'abord obtenir les groupes d'îlots de recensement et le revenu familial médian à l'aide de tidycensus . L'utilisation de tidycensus dépasse le cadre de cet atelier pour une introduction, voir le séminaire Computational Demography présenté par Connor Gilroy et Neal Marquez.

En utilisant des tuyaux dans magrittr , nous effectuons une transformation CRS en ligne vers le plan d'état WA N et calculons également l'aire de chaque groupe de blocs (dont nous aurons besoin pour la mesure de la densité plus tard).

Si vous n'avez pas obtenu votre clé API de recensement, vous devrez charger la couche à partir du fichier recensement.gpkg :

Visualisez rapidement les données dans un ggplot() :

Tout d'abord, regardons les noms des colonnes dans busstop :

Pour obtenir les données du recensement en tant qu'attribut sur chaque arrêt de transport en commun, utilisez st_join() :

Nous voyons maintenant qu'il existe des variables supplémentaires, en particulier medfam Incomee :

Pour calculer la densité, nous avons besoin d'un nombre total d'arrêts de transport en commun par ID d'unité de recensement ( GEOID ) ainsi que la zone. Notez que toutes les variables sont identiques dans chaque unité de recensement, nous pouvons utiliser medfam Incomee = min(medfam Incomee) dans la fonction de résumé.

Faisons un nuage de points avec une ligne de régression et une erreur.

On dirait qu'aucune relation n'existe. Que diriez-vous de quelques statistiques formelles ?

Estimation Std. Erreur valeur t Pr(>|t|)
(Intercepter) 118205 1921 61.52 0
densité_ha -611.4 11035 -0.0554 0.9558
Modèle linéaire d'ajustement : medfam Incomee

Enfin, comment allez-vous exécuter cette stratégie ?

Et voilà, votre stratégie de marketing sur les réseaux sociaux !

Mais ce n'est pas la fin. Comme mentionné ci-dessus, une stratégie est l'endroit où vous vous dirigez, un plan est la façon dont vous y arriverez. Vous avez décidé où aller maintenant, vous avez besoin d'un plan.

Comment remplir vos profils sur les réseaux sociaux ? Quel devrait être votre ton et votre voix ? Quel type de publication (c'est-à-dire image, lien, vidéo, etc.) devriez-vous utiliser ?

Pour vous aider avec la prochaine étape et votre succès sur les réseaux sociaux, nous avons un guide étape par étape pour créer un plan de marketing sur les réseaux sociaux. Voici un aperçu de l'infographie que vous trouverez dans ce guide :


17.1.5. En regardant les fonctions PostGIS installées¶

PostGIS peut être considéré comme un ensemble de fonctions dans la base de données qui étendent les capacités de base de PostgreSQL afin qu'il puisse traiter les données spatiales. Par ‘traiter avec’, nous entendons stocker, récupérer, interroger et manipuler. Pour ce faire, un certain nombre de fonctions sont installées dans la base de données.

Notre PostgreSQL adresse La base de données est désormais géospatiale grâce à PostGIS. Nous allons approfondir ce sujet dans les sections à venir, mais laissez-nous vous en donner un petit avant-goût. Disons que nous voulons créer un point à partir de texte. Nous utilisons d'abord la commande psql pour trouver les fonctions relatives au point. Si vous n'êtes pas déjà connecté au adresse base de données, faites-le maintenant. Exécutez ensuite :

Voici la commande que nous recherchons : st_pointfromtext . Pour parcourir la liste, utilisez la flèche vers le bas, puis appuyez sur q pour quitter le shell psql.

  • Nous avons défini un point à la position 1,1 (EPSG:4326 est supposé) en utilisant POINT(1 1) ,
  • Nous avons exécuté une instruction SQL, mais pas sur n'importe quelle table, uniquement sur les données saisies à partir de l'invite SQL,
  • La ligne qui en résulte n'a pas beaucoup de sens.

La ligne résultante est au format OGC appelé ‘Well Known Binary’ (WKB). Nous verrons ce format en détail dans la section suivante.

Pour récupérer les résultats sous forme de texte, nous pouvons parcourir rapidement la liste des fonctions pour rechercher quelque chose qui renvoie du texte :

La requête que nous recherchons maintenant est st_astext . Associons-le à la requête précédente :

Ici, nous avons entré la chaîne POINT(1,1) , l'a transformé en un point en utilisant st_pointfromtext() , et l'a transformé en une forme lisible par l'homme avec st_astext() , ce qui nous a rendu notre chaîne d'origine.

Un dernier exemple avant d'entrer dans les détails de l'utilisation de PostGIS :

Qu'est-ce que ça a fait ? Il a créé un tampon de 1 degré autour de notre point et a renvoyé le résultat sous forme de texte.


Tuiles Web de géoréférencement

Les cartes que vous voyez sur le Web sont composées de nombreuses tuiles différentes, chacune de 256 par 256 pixels, mises à l'échelle pour s'adapter à la taille de l'affichage. Ils ne sont pas géoréférencés individuellement, mais chacun s'intègre dans un système qui permet de dériver leur échelle relative et leur emplacement.

Le schéma de tuile de cartographie Web le plus courant consiste en un niveau de zoom, une coordonnée x et une coordonnée y. Les niveaux de zoom vont généralement de 0 (156 412 mètres par pixel, global) à environ 19 (environ 0,3 mètre par pixel, aussi détaillé que les données satellitaires non classées à la plus haute résolution). À des niveaux de zoom plus élevés, la carte est subdivisée en deux tranches verticales et horizontales égales. Chaque tranche reçoit une coordonnée x et y, commençant par 0 dans le coin supérieur gauche. Mapbox a une description excellente et beaucoup plus détaillée du fonctionnement des cartes Web.

Ce schéma cohérent fournit un mécanisme de décodage par GDAL et la possibilité de convertir des tuiles Web en un fichier géoréférencé. Le code pour générer une carte des Canyonlands est d'une simplicité trompeuse :

Il regards tout comme une utilisation normale de gdal_translate , mais au lieu de pointer vers une image, il pointe vers un fichier XML :

Une description complète du processus se trouve dans la documentation GDAL Web Map Services, mais l'idée de base est d'ouvrir le fichier XML dans un éditeur de texte et de pointer la ligne <ServerUrl> sur le serveur de carte hébergeant les tuiles que vous souhaitez télécharger, assembler et géoréférencement. (J'ai également ajouté un petit tampon sur les bords avec -projwin -110,75 39 -109 37,5 afin que mon étape de reprojection suivante ne soit pas coupée sur les bords.)

Il existe plusieurs exemples utilisant différents types de serveurs de cartes dans la documentation, mais si vous visualisez une carte glissante, vous pouvez souvent cliquer avec le bouton droit (commande-clic sur un mac) sur la carte et cela vous donnera la possibilité d'ouvrir l'image dans un nouvel onglet ou une nouvelle fenêtre — cela vous donnera l'URL à coller dans <ServerUrl> . Remplacez /terrain/ par /watercolor/ pour générer des cartes stylisées. Vous pouvez accéder aux tuiles Open Street Map en changeant l'URL en http://tile.openstreetmap.org/ et le format de fichier de .jpg en .png :

BTW - Les tuiles de carte de Stamen sont construites sur Open Street Map et sous licence Creative Commons - assurez-vous de respecter toutes les exigences de licence pour les données que vous utilisez, et veuillez ne pas abuser de votre accès en téléchargeant des dizaines de milliers de tuiles.

La dernière étape consiste à convertir la carte de Web Mercator en conique équidistante avec ce qui devrait être la commande gdalwarp familière (bien que j'admette avoir besoin d'ouvrir la documentation plus souvent que de ne pas m'assurer d'avoir la bonne syntaxe):

Avec ces outils et la grande variété de données gouvernementales et open source disponibles, j'espère que vous pourrez commencer à créer vos propres cartes. Mais que se passe-t-il si vous souhaitez aller au-delà des cartes de base idéalisées et explorer une vue photo-réaliste du monde ou montrer les changements au fil du temps ? Ce sera le sujet de mon prochain post-traitement de données satellitaires, y compris Planet, Landsat et Sentinel, avec GDAL.


Voir la vidéo: TUTO Créer ses propres TAMPONS FACILEMENT