[OSM-dev-fr] OSM Nominatim + MaxSpeed

Payet Louis inform-me at heavenfactory.info
Jeu 5 Avr 12:24:17 BST 2012


Re Bonjour,

Merci pour ceux qui ont répondu à mon message sur "talk-fr" (Nicolas,Damouns
Étienne,Rodolphe,Frédéric) ....
http://lists.openstreetmap.org/pipermail/talk-fr/2012-April/042333.html

Mon projet concerne "La Nouvelle-Calédonie" (dans un premier temps), et dans
un second temps d'autres pays....

Pour être plus précis, je pense qu'on peux facilement ajouter une table (ou
un champ) avec "ID des rues + maxspeed" dans postgresql.
Les données existent dans la base OSM....... Il faut par contre que j'étudie
la structure de nominatim (DB).

Une requête http://nominatim.openstreetmap.org/reverse?format=xml&lat=-22
2648630&lon=166.4694287&zoom=18&addressdetails=1 

donne :
<reversegeocode timestamp="Thu, 05 Apr 12 11:48:29 +0100" attribution="Data
Copyright OpenStreetMap Contributors, Some Rights Reserved. CC-BY-SA 2.0."
querystring="format=xml&lat=-22.2648630&lon=166
4694287&zoom=18&addressdetails=1">
<result place_id="95022773" osm_type="way" osm_id="104632110" lat="-22
2648782958183" lon="166.469206225929">23 Bis, Rue de la Gazelle, Magenta,
Magenta Aérodrome, Nouméa, Province Sud, 98800, Nouvelle-Calédonie</result>
<addressparts>
<house_number>23 Bis</house_number>
<road>Rue de la Gazelle</road>
<suburb>Magenta</suburb>
<city_district>Magenta Aérodrome</city_district>
<city>Nouméa</city>
<county>Province Sud</county>
<postcode>98800</postcode>
<country>Nouvelle-Calédonie</country>
<country_code>nc</country_code>
</addressparts>
</reversegeocode>

Il faudrait juste ajouter le <maxpseed>50</maxpseed> dans le <addressparts>
(....) </addressparts>

Il faudrait modifier le fichier setup.php pour importer cette valeur, ainsi
que le fichier reverse.php pour chercher le maxspeed si l'ID (place_id ou
osm_id) est définit
Ensuite il faudrait faire une update du fichier reverse.php pour afficher
celle-ci.



@Etienne: 
Pour le fait que ce ne soit pas défini, si on doit faire toutes les rues de
la Nouvelle-Calédonie et définir cette valeur on va le faire, (ou le faire
faire) ^_^
La plupart des rues sont à 50, on possède quelques zones à 30 (4 ou 5 rues),
et les voies rapides (qui ne sont pas super nombreuse de 70 à 120).

@Rodolphe: 
Ta proposition pour debian m'intéresse.
Utilise-tu nominatim ?

Pour le coup des locales, j'ai essayé de passé pgsql en en.utf8 par défaut,
mais j'avais des erreurs (en boucle) après la procédure de CREAT/INSERT du
début:
Done 1 in 792 @ 0.001263 per second - Rank 21 ETA (seconds): 25649712.000000
index_placex: UPDATE failed: ERREUR: requires UTF8 database encoding
CONTEXT: PL/pgSQL function "make_standard_name" line 5 at affectation 

Ensuite j'ai utilisé une debian EN (sans modifier les locales) et l'erreur
est la suivante (toujours en boucle) :
PL/pgSQL function "placex_update" line 290 at FOR over SELECT rows
index_placex: UPDATE failed: ERROR: upper bound of FOR loop cannot be null
CONTEXT: PL/pgSQL function "get_osm_rel_members" line 6 at FOR with integer
loop variable

J'ai fait mes tests sur une VM (2 coeurs, 1,5Gb de RAM) et me suis préparé
des commandes pour accélérer mon install : 
sed -i 's/shared_buffers = 24MB/shared_buffers = 200MB/g' /etc/postgresql/9
1/main/postgresql.conf
sed -i 's/#fsync = on/fsync = off/g' /etc/postgresql/9.1/main/postgresql
conf
sed -i 's/#autovacuum = on/autovacuum = off/g' /etc/postgresql/9
1/main/postgresql.conf
sed -i 's/gazetteer -C 12000/gazetteer -C 500/g'
/usr/src/Nominatim/utils/setup.php
echo -e "<?php\ndefine('CONST_Postgresql_Version','9.1');\ndefine(
CONST_Osm2pgsql_Binary','/usr/bin/osm2pgsql');\ndefine('CONST_Osmosis_Binary
,'/usr/bin/osmosis');\ndefine('CONST_Website_BaseURL','http://192.168.1
16/nominatim/');\n?>" > /usr/src/Nominatim/settings/local.php


Si vous avez des idées, elles sont les bienvenues, et je précise "une fois
de plus" que je peux rémunérer une personne pour cette update, ce qui va me
faire gagner un temps précieux.

Louis
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/dev-fr/attachments/20120405/7aae94e3/attachment.html>


Plus d'informations sur la liste de diffusion dev-fr