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=xmllat=-22
2648630lon=166.4694287zoom=18addressdetails=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=xmllat=-22.2648630lon=166
4694287zoom=18addressdetails=1
result place_id=95022773 osm_type=way osm_id=104632110 lat=-22
2648782958183 lon=166.46920622592923 Bis, Rue de la Gazelle, Magenta,
Magenta Aérodrome, Nouméa, Province Sud, 98800, Nouvelle-Calédonie/result
addressparts
house_number23 Bis/house_number
roadRue de la Gazelle/road
suburbMagenta/suburb
city_districtMagenta Aérodrome/city_district
cityNouméa/city
countyProvince Sud/county
postcode98800/postcode
countryNouvelle-Calédonie/country
country_codenc/country_code
/addressparts
/reversegeocode
Il faudrait juste ajouter le maxpseed50/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.00
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___
dev-fr mailing list
dev-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/dev-fr