#1 Mon 10 May 2010 00:39
- Syphys
- Participant occasionnel
- Date d'inscription: 10 May 2010
- Messages: 15
Unité distance postgis
Bonjour,
J'ai une base de donnée postgis contenant les villes de France mais je n'arrive pas à comprendre en quelle unité sont retournés les résultats
J'ai utilisé le srid 2154 pour mettre mes données que j'ai pris à cette adresse : http://download.geofabrik.de/osm/europe/france/
quand je fais une requéte style
select distinct distance((select the_geom from villes v where v.name = 'Strasbourg' and type= 'city'),(select the_geom from villes v where v.name = 'Brest' and v.type= 'city')) from villes;
j'obtiens :
12.2371737413677
Si je fais des essaies avec plein de distance inter-ville je vois une correspondance dans l'ordre de grandeur mais ce n'est pas proportionnel.
Je vous remercie ne-serait-que pour l'espoir que l'attente d'une réponse me procure... Je sais je suis mélodramatique quoique... :'s
Hors ligne
#2 Mon 10 May 2010 01:13
- Guillaume Sueur
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 23 Sep 2005
- Messages: 331
- Site web
Re: Unité distance postgis
Bonsoir,
Les données doivent être en WGS84, EPSG:4326, car cette distance Brest - Strasbourg ressemble à des degrés décimaux ! Essayez :
UPDATE villes SET the_geom = ST_Transform(ST_SetSRID(the_geom,4326),2154);
et refaites vos calculs de distance.
Guillaume
Hors ligne
#3 Mon 10 May 2010 07:50
- Sylvie
- Membre
- Date d'inscription: 5 Sep 2005
- Messages: 3066
Re: Unité distance postgis
Bonjour,
J'ai déplacé ce sujet sur Postgis sur le forum Géo'BD
Sylvie, pour la modération
Hors ligne
#4 Mon 10 May 2010 09:29
- Syphys
- Participant occasionnel
- Date d'inscription: 10 May 2010
- Messages: 15
Re: Unité distance postgis
C' est super ça marche!!!!!
Merci beaucoup!
Hors ligne
#5 Mon 10 May 2010 09:52
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Unité distance postgis
Bonjour,
J'ai une base de donnée postgis contenant les villes de France mais je n'arrive pas à comprendre en quelle unité sont retournés les résultats
J'ai utilisé le srid 2154 pour mettre mes données que j'ai pris à cette adresse : http://download.geofabrik.de/osm/europe/france/
quand je fais une requéte style
select distinct distance((select the_geom from villes v where v.name = 'Strasbourg' and type= 'city'),(select the_geom from villes v where v.name = 'Brest' and v.type= 'city')) from villes;
j'obtiens :
12.2371737413677
Si je fais des essaies avec plein de distance inter-ville je vois une correspondance dans l'ordre de grandeur mais ce n'est pas proportionnel.
Je vous remercie ne-serait-que pour l'espoir que l'attente d'une réponse me procure... Je sais je suis mélodramatique quoique... :'s
Bonjour,
Postgis fait les calculs dans les unités des données.
Nico
Hors ligne
#6 Mon 10 May 2010 10:53
Re: Unité distance postgis
Syphys a écrit:Bonjour,
J'ai une base de donnée postgis contenant les villes de France mais je n'arrive pas à comprendre en quelle unité sont retournés les résultats
J'ai utilisé le srid 2154 pour mettre mes données que j'ai pris à cette adresse : http://download.geofabrik.de/osm/europe/france/
quand je fais une requéte style
select distinct distance((select the_geom from villes v where v.name = 'Strasbourg' and type= 'city'),(select the_geom from villes v where v.name = 'Brest' and v.type= 'city')) from villes;
j'obtiens :
12.2371737413677
Si je fais des essaies avec plein de distance inter-ville je vois une correspondance dans l'ordre de grandeur mais ce n'est pas proportionnel.
Je vous remercie ne-serait-que pour l'espoir que l'attente d'une réponse me procure... Je sais je suis mélodramatique quoique... :'s
Bonjour,
Postgis fait les calculs dans les unités des données.
Nico
Je dirais même plus : dans les unités de la projection
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#7 Mon 10 May 2010 11:23
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Unité distance postgis
Nicolas Ribot a écrit:Syphys a écrit:Bonjour,
J'ai une base de donnée postgis contenant les villes de France mais je n'arrive pas à comprendre en quelle unité sont retournés les résultats
J'ai utilisé le srid 2154 pour mettre mes données que j'ai pris à cette adresse : http://download.geofabrik.de/osm/europe/france/
quand je fais une requéte style
select distinct distance((select the_geom from villes v where v.name = 'Strasbourg' and type= 'city'),(select the_geom from villes v where v.name = 'Brest' and v.type= 'city')) from villes;
j'obtiens :
12.2371737413677
Si je fais des essaies avec plein de distance inter-ville je vois une correspondance dans l'ordre de grandeur mais ce n'est pas proportionnel.
Je vous remercie ne-serait-que pour l'espoir que l'attente d'une réponse me procure... Je sais je suis mélodramatique quoique... :'s
Bonjour,
Postgis fait les calculs dans les unités des données.
Nico
Je dirais même plus : dans les unités de la projection
Y.
Non, pas tout a fait: si une colonne geometrique contient des données metriques, (disons lambert 2), mais que lors de l'import un mauvais SRID a ete affecté a ses données (disons WGS84), le calcul se fera bien en metres. Autrement dit, postgis ne tient pas compte du SRID de la geometries pour connaitres les unités de calcul.
Au detail pres du nouveau type GEOGRAPHY, qui "sait" que les données sont dans un systeme spherique, avec un modele particulier de calcul, a condition qu'un SRID geodétique soit associé.
C'est a l'utilisateur de garantir que le SRID associé a des données soit valide et corresponde aux données.
Il faut donc y faire attention au moment de l'import de données dans postgis.
Nico
Hors ligne
#8 Mon 10 May 2010 16:10
- Syphys
- Participant occasionnel
- Date d'inscription: 10 May 2010
- Messages: 15
Re: Unité distance postgis
Toutes les questions que je me posais
Par contre je me demande comment on fait pour savoir le srid avec lequel on doit importer les données?
Dernière modification par Syphys (Mon 10 May 2010 16:12)
Hors ligne
#9 Mon 10 May 2010 16:20
Re: Unité distance postgis
Merci Nico, ma précision a pour origine la doc de postgis qui effectivement doit supposer que les données sont dans le srid correcte.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#10 Mon 10 May 2010 16:33
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Unité distance postgis
Toutes les questions que je me posais
Par contre je me demande comment on fait pour savoir le srid avec lequel on doit importer les données?
Le fournisseur du shape DOIT avoir livré des metadonnées décrivant ledit shape (projection entr'autre)
Si un fichier .prj est present, il contient le WKT de la projection du shapefile.
Si aucune info n'est presente, associée au shape, alors ce n'est pas facile: données d'un pays => essayer les projections du pays, eventuellement en superposant des données dont on connait la projection.
Les coordonnées peuvent aider (metrique, lat-long ?)
Mais bon, faut vraiment gronder celui qui produit le shape s'il n'a pas les info de projections associées.
Nico
Hors ligne
#11 Mon 10 May 2010 16:52
- Syphys
- Participant occasionnel
- Date d'inscription: 10 May 2010
- Messages: 15
Re: Unité distance postgis
:$ :$ :$
C'est moi qui savait pas où regarder je voyais bien les autres fichiers autour mais je savais pas à quoi ils servaient :s
Hors ligne
#12 Mon 10 May 2010 17:01
- Syphys
- Participant occasionnel
- Date d'inscription: 10 May 2010
- Messages: 15
Re: Unité distance postgis
Comme vous avez l'air bien au courant de tout ça, je me permet de vous poser une question sans avoir vraiment regardé (parce que je sais pas trop où chercher...)
Savez-vous comment je peux entrer dans ma base des points dont j'ai la longitude et la latitude?
J'en aurais besoin plus tard mais ça me turlupine déjà...
Bon avec un tout petit peu de recherche il semble que j'ai trouvé ça ici:
http://www.postgis.fr/node/351
Merci encore de m'avoir débloqué et pour les explications
Dernière modification par Syphys (Mon 10 May 2010 17:10)
Hors ligne
#13 Mon 10 May 2010 17:43
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Unité distance postgis
Comme vous avez l'air bien au courant de tout ça, je me permet de vous poser une question sans avoir vraiment regardé (parce que je sais pas trop où chercher...)
Savez-vous comment je peux entrer dans ma base des points dont j'ai la longitude et la latitude?
J'en aurais besoin plus tard mais ça me turlupine déjà...
Bon avec un tout petit peu de recherche il semble que j'ai trouvé ça ici:
http://www.postgis.fr/node/351
Merci encore de m'avoir débloqué et pour les explications
De rien
L'ideal pour la fabrication de POINT postgis a partir de colonnes lat long est d'utiliser makePoint(x, y):
update matable set macolonnegeo = setSrid(st_makepoint(colLongitude, colLatitude), <le srid de ma colonne>);
Plus rapide et plus sur que la concatenation de string.
Nicolas
Hors ligne