Re: [OSM-dev-fr] Requêtes SQL spatiale

2011-07-15 Par sujet sly (sylvain letuffe)

> SELECT Y(ST_AsText(ST_Transform(way, 4326))),
> X(ST_AsText(ST_Transform(way, 4326))),
> Distance(way, (SELECT way FROM planet_osm_point WHERE 
osm_id=582505865))::int,
> amenity || ' ' || name, 'icon.png', '16,16', '0,0'
> FROM planet_osm_point P WHERE (amenity ILIKE 'res%' OR amenity ILIKE
> 'caf%') AND Distance(way, (SELECT way FROM planet_osm_point WHERE
> osm_id=582505865)) < 1
> ORDER BY 3;
> 
> Ca me retourne des données directement exploitable avec Openlayer mais
> il est certainement possible de faire 100x mieux.
> Suggestions bienvenues

grosso modo c'est pas mal, mais je te conseille : 
- de ne pas faire de mise en forme au niveau SQL, fais le au niveau de ton 
langage afin de générer le fichier pour openlayers sans quoi on n'y comprend 
rien
- limite le nombre de requête imbriquées, on doit pouvoir faire ce que tu veux 
faire sans aucune requête imbriquée
En plus là, elle ne servent pas puisque j'imagine que "chez toi" est un 
concept pas nécessairement dans la base OSM, donc plutôt que de galérer à 
trouver le feu le plus proche de chez toi (582505865) donne directement les 
coordonnées GPS dans ta requête

Sinon, tu peux passer par une requête sur deux fois la même table style :
select name 
from planet_osm_point as p1, planet_osm_point as p2
where
p1.osm_id=l'id du point choisi
and
st_distance(p1.way,p2.way)http://sly.letuffe.org

___
dev-fr mailing list
dev-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev-fr


Re: [OSM-dev-fr] [OSM-talk-fr] Requêtes SQL spatiale

2011-07-15 Par sujet Frédéric Benninger
Merci,

Ok la prochaine foi je posterai ce genre de questions sur la ML-dev.

Pour trouver les resto et café proche de chez moi j'ai écrit un truc du style:

SELECT Y(ST_AsText(ST_Transform(way, 4326))),
X(ST_AsText(ST_Transform(way, 4326))),
Distance(way, (SELECT way FROM planet_osm_point WHERE osm_id=582505865))::int,
amenity || ' ' || name, 'icon.png', '16,16', '0,0'
FROM planet_osm_point P WHERE (amenity ILIKE 'res%' OR amenity ILIKE
'caf%') AND Distance(way, (SELECT way FROM planet_osm_point WHERE
osm_id=582505865)) < 1
ORDER BY 3;

Ca me retourne des données directement exploitable avec Openlayer mais
il est certainement possible de faire 100x mieux.
Suggestions bienvenues

Benni_75

Le 15 juillet 2011 02:15, Etienne Trimaille
 a écrit :
> J'ai commencer à apprendre en regardant/comprenant les requêtes qui passent
> sur la liste ML (-DEV), comme par exemple :
> http://www.mail-archive.com/dev-fr@openstreetmap.org/msg00074.html
> http://www.mail-archive.com/dev-fr@openstreetmap.org/msg1.html
>
> Il y a d'autres requêtes très intéressantes qui sont passées, il faut les
> rechercher. (pour faire ce que tu demande)
> Le 13 juillet 2011 23:46, Vincent de Chateau-Thierry  a
> écrit :
>>
>> Bonjour,
>>
>> Le 14/07/2011 08:13, Frédéric Benninger a écrit :
>>>
>>> Petite question, j'ai importé des données osm avec osm2pgsql dans ma db
>>> gis.
>>>
>>> gis=# \d
>>>                Liste des relations
>>>  Schéma |        Nom         | Type  | Propriétaire
>>> ++---+--
>>>  public | geography_columns  | vue   | mapmaker
>>>  public | geometry_columns   | table | mapmaker
>>>  public | planet_osm_line    | table | mapmaker
>>>  public | planet_osm_nodes   | table | mapmaker
>>>  public | planet_osm_point   | table | mapmaker
>>>  public | planet_osm_polygon | table | mapmaker
>>>  public | planet_osm_rels    | table | mapmaker
>>>  public | planet_osm_roads   | table | mapmaker
>>>  public | planet_osm_ways    | table | mapmaker
>>>  public | spatial_ref_sys    | table | mapmaker
>>>
>>> Maintenant j'aimerais savoir comment faire pour lancer quelques
>>> requêtes s'appuyant sur le moteur spatial.
>>>
>>> Par exemple: Compter le nombre de café dans ma commune.
>>> Me donner la boite au lettre la plus proche, etc
>>>
>>> qqun a-t-il un site avec des exemples pour bien démarrer?
>>> Je suis un peu perdu avec l'extension spatiale et la dénormalisation de
>>> la base.
>>>
>>
>> Je n'ai pas de tutorial sous la main mais côté doc, tes requêtes vont
>> s'appuyer sur les opérateurs listés ici :
>>
>> http://www.postgis.org/documentation/manual-1.5/reference.html#Spatial_Relationships_Measurements
>> . Tu as des exemples pour chaque opérateur.
>>
>> N'hésite pas à poursuivre la discussion sur la liste dev-fr (en cc ici),
>> où les syntaxes SQL et autres sont les bienvenues.
>>
>> vincent

___
dev-fr mailing list
dev-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev-fr


Re: [OSM-dev-fr] Osmose et last-update.py

2011-07-15 Par sujet Thomas Petillon
(Désolé pour le double envoi, j'ai fait une fausse manipulation.)

2011/7/15 Frédéric Rodrigo 

> Le 13/07/2011 21:09, Thomas Petillon a écrit :
>
>> Ce patch s'applique à Name_Toponymie.py et permet de régler le problème
>>
>> des (nombreux) noms de lieu bretons contenant « c'h », dont l'apostrophe
>> est détectée comme une coupure de mot, ce qui déclenche une erreur de
>> toponymie due à la majuscule supposément manquante au « h ». En gros il
>> y a plein de faux positifs.
>>
>
> Je viens de regarder. Je me pause par contre des questions. La page
> wikipédia sur le sujet n'est pas assez claire et contradictoire.
>
> http://fr.wikipedia.org/wiki/**C%27h 
>
> - Quel est la majuscule de "c'h" : "C'h" ou "C'H' ?
>

La majuscule est "C'h". (Sauf quand on écrit entièrement en capitales bien
sûr. ;) )


> - Quel est bon caractère à mettre au milieu "'" ou "’" ?
>

Je suppose que le caractère à utiliser dans l'idéal serait U+02BC (modifier
letter apostrophe), qui a l'air d'être l'apostrophe non sécable d'Unicode.
Dans la pratique il est conseillé de mettre au moins un U+2019 (la vraie
apostrophe). Mais en réalité on trouve surtout du U+0027, i.e. la fausse
apostrophe, celle qu'on a dans l'ASCII et sur les clavier. Dans ce cas par
contre c'est une erreur de typographie. (Valable aussi en français,
techniquement on pourrait faire un plug-in pour détecter ces fausses
apostrophes.)

Le patch gère les différentes apostrophes, sans les modifier au final.
(U+02BC n'apparaît pas, mais c'est normal car les mots ne sont déjà pas
coupés sur ce caractère, donc le problème n'est pas présent.)


> Pour le patch on peut faire plus simple en remplaçant tout le trigramme par
> un caractère utf8 temporaire  tout en s'assurant qu'il n'est pas déjà
> présent dans la chaîne d'origine.
>

C'est plus ou moins ce que j'ai déjà fait, sauf que je n'ai remplacé que
l'apostrophe elle-même. Ça permet de traiter plus de cas (par exemple
"prud'homme", qui est un cas particulier dans la version non patchée), et de
remettre les caractères tels quels à la fin du traitement.

Thomas.
___
dev-fr mailing list
dev-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev-fr


Re: [OSM-dev-fr] Osmose et last-update.py

2011-07-15 Par sujet Thomas Petillon
2011/7/15 Frédéric Rodrigo 

> Le 13/07/2011 21:09, Thomas Petillon a écrit :
>
>> Ce patch s'applique à Name_Toponymie.py et permet de régler le problème
>>
>> des (nombreux) noms de lieu bretons contenant « c'h », dont l'apostrophe
>> est détectée comme une coupure de mot, ce qui déclenche une erreur de
>> toponymie due à la majuscule supposément manquante au « h ». En gros il
>> y a plein de faux positifs.
>>
>
> Je viens de regarder. Je me pause par contre des questions. La page
> wikipédia sur le sujet n'est pas assez claire et contradictoire.
>
> http://fr.wikipedia.org/wiki/**C%27h 
>
> - Quel est la majuscule de "c'h" : "C'h" ou "C'H' ?
> - Quel est bon caractère à mettre au milieu "'" ou "’" ?
>

Je suppose que le caractère à utiliser dans l'idéal serait
*
*U+02BC (modifier letter apostrophe), qui a l'air d'être l'apostrophe non
sécable d'Unicode. Da

Pour le patch on peut faire plus simple en remplaçant tout le trigramme par
> un caractère utf8 temporaire  tout en s'assurant qu'il n'est pas déjà
> présent dans la chaîne d'origine.
>
>
___
dev-fr mailing list
dev-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev-fr


[OSM-dev-fr] Proprietaire d'un vieux changeset pour passage à l'ODbL

2011-07-15 Par sujet Hendrik Oesterlin
Bonjour vous tous,

Je suis en train de regarder en quelle mesure le fameux changement de
licence affectera les la Nouvelle-Calédonie, et je suis tombé sur ce
changeset, dont l'auteur n'est pas affiché:

http://www.openstreetmap.org/browse/changeset/15678

Comment savoir s'il va accepter le changement de licence?

D'ailleurs, la carte
http://osm.informatik.uni-leipzig.de/map/?zoom=13&lat=-22.24363&lon=166.46258&layers=B00T
n'affiche semble-t-il uniquement le statut des ways, pas celui des
nodes... Mais si l'on coupe un way en deux, une moitié devient
nouvelle, mais les nodes restent tous les vieux. Un way sans ses
nodes, c'est un peu bizarre.

Comment peut-on savoir si un utilisateur particulier à accepte le
changement? Dans d'autres mots, le site http://hdyc.neis-one.org/
est-il à jour?

Et puis, est'il déjà de bon ton d'envoyer un MP à ceux qui ne sont pas
encore passé à la ODbL ?  Car celui qui est toujours actif a
obligatoirement accepté, et celui qui ne participe plus activement
n'est peut être même pas au courant de toute cette affaire autour de
la licence.

Merci pour vos commentaires!

Hendrik


___
dev-fr mailing list
dev-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev-fr


Re: [OSM-dev-fr] Osmose et last-update.py

2011-07-15 Par sujet Frédéric Rodrigo

Le 13/07/2011 21:09, Thomas Petillon a écrit :

Ce patch s'applique à Name_Toponymie.py et permet de régler le problème
des (nombreux) noms de lieu bretons contenant « c'h », dont l'apostrophe
est détectée comme une coupure de mot, ce qui déclenche une erreur de
toponymie due à la majuscule supposément manquante au « h ». En gros il
y a plein de faux positifs.


Je viens de regarder. Je me pause par contre des questions. La page 
wikipédia sur le sujet n'est pas assez claire et contradictoire.


http://fr.wikipedia.org/wiki/C%27h

- Quel est la majuscule de "c'h" : "C'h" ou "C'H' ?
- Quel est bon caractère à mettre au milieu "'" ou "’" ?

Pour le patch on peut faire plus simple en remplaçant tout le trigramme 
par un caractère utf8 temporaire  tout en s'assurant qu'il n'est pas 
déjà présent dans la chaîne d'origine.


Fred

___
dev-fr mailing list
dev-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev-fr