Utiliser PostGIS avec une table de données existante avec des coordonnées décimales

J’ai un fichier de données au format CSV qui contient des données comme ceci: id du champ | tuile de données | description des données | longitude | latitude

PostgreSQL et PostGIS sont déjà installés et j’aimerais utiliser PostGIS pour créer une requête qui affichera tous les enregistrements (du tableau ci-dessus) situés à une distance donnée d’un emplacement lat / long.

Le problème est que je ne sais pas comment commencer. Dois-je simplement importer mon fichier CSV dans la firebase database PostgreSQL et commencer à utiliser les fonctions PostgreSQL et PostGIS une fois le fichier CSV converti en une table PostgreSQL?

Existe-t-il des étapes supplémentaires pour que la table fonctionne avec les fonctions PostGIS?

Quelles seraient les mesures correctes à prendre à ce sujet? J’apprécie vraiment votre aide!

Pour travailler avec PostGIS, vous devez importer ces scripts dans votre firebase database de travail.

Une fois cette étape effectuée, configurez votre table et ajoutez-y la colonne PostGIS

SELECT AddGeometryColumn('yourtable', 'columnname', 4269, 'POINT', 2 ); 

Les trois dernières valeurs sont SRID, le type et la dimension. Je suppose que c’est ce que vous voulez. Vous devez probablement ajuster le SRID mais cela devrait aller.

Vous pouvez définir dans votre import / update / ce que vous avez choisi pour append la géomésortinge comme

 ST_Transform(ST_PointFromText('POINT(-85.45899 32.1337)', 4326)); 

Cette requête peut être écrite dans votre script UPDATE ou INSERT pour les données.

Je devais juste résoudre la même tâche et faire quelque chose de similaire à la solution de DrColossos … Vous avez probablement fini avec ça, mais je voulais juste append ceci au cas où quelqu’un googlerait ce problème (comme je l’ai fait): pour écrire un script afin de générer une géomésortinge à partir des champs lat / lon, vous pouvez utiliser une simple chaîne concaténée:

 UPDATE mytable SET the_geom = ST_PointFromText('POINT(' || x ||' '|| y ||')', 4326) 

C’est une question amusante 🙂

Savez-vous quel système de coordonnées sont les lat lons?

Je pose cette question car elle concerne la manière dont vous stockez les données.

Vous devez créer une colonne en plus de celles du fichier CSV contenant un object de géomésortinge PostGIS de type POINT.

Je voudrais ensuite importer les données CSV dans les colonnes standard de la table, puis exécuter une mise à jour SQL pour construire les données POINT de chaque enregistrement et les stocker dans la colonne de géomésortinge créée.

À ce stade, vous devriez pouvoir utiliser les fonctions PostGIS pour accéder aux requêtes et aux prédicats sur les données.

C’est tout ce que je disais plus haut, car il y a des complexités en ce qui concerne les données utilisées. Vous devrez d’abord connaître le système de référencement spatial utilisé avec les données.