Development #22218
géocodage: pouvoir spécifier des urls différentes pour le géocodage et géocodage inverse
0%
Description
Certains services peuvent proposer le géocodage inverse, mais pas le géocodage.
On devrait pouvoir spécifier les deux pour ne pas casser l'action de géocodage dans wcs.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 6 ans
- Lié à Development #21558: opengis: rajouter le geocodage inverse ajouté
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 6 ans
- Fichier 0001-workflows-allow-custom-url-for-nominatim-search-2221.patch 0001-workflows-allow-custom-url-for-nominatim-search-2221.patch ajouté
- Patch proposed changé de Non à Oui
Option supplémentaire qui prend la valeur de nominatim_url
si non-définie.
Mis à jour par Frédéric Péters il y a environ 6 ans
pub.site_options.set('options', 'nominatim_search_url', 'http://search.openstreetmap.org')
Dans dix minutes tout le monde aura oublié pourquoi deux paramètres et quelqu'un voudra aller à cette adresse en se disant que peut-être l'API y est différente et le nom de domaine n'existera pas et la perplexité grandira encore.
Ce qu'il faut plutôt c'est avoir du côté du publisher get_geocoding_service_url() et get_reverse_geocoding_service_url() et chacune regarderait d'abord si (reverse_)geocoding_service_url existe dans le site-options.cfg et sinon construirait l'URL à partir de nominatim_url, dans ce genre :
def get_reverse_geocoding_service_url(self): url = self.get_site_option('reverse_geocoding_service_url') if url: return url nominatim_url = self.get_site_option('nominatim_url') or 'http://nominatim.openstreetmap.org' return nominatim_url + 'reverse'
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 6 ans
Le même principe doit être suivi aussi pour les paramètres liés à nominatim, comme nominatim_key
, nominatim_reverse_zoom_level
, imo.
Mis à jour par Frédéric Péters il y a environ 6 ans
def get_geocoding_key(self):
Si ça doit arriver ça doit être en permettant aux URL de géocodage (inversé) de contenir une query string arbitraire.
def get_geocoding_reverse_zoom_level(self):
Si ça devait arriver ça bénéficierait aussi du point précédent. Ne pas ajouter cette méthode, continuer avec l'ancienne option uniquement en attendant.
soudainement deux lignes blanches entre deux méthodes
Non.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 6 ans
- Fichier 0001-geocoding-allow-custom-url-for-search-and-reverse-ge.patch 0001-geocoding-allow-custom-url-for-search-and-reverse-ge.patch ajouté
Ok. Le nom de la clé pour interroger le service définissable dans les options.
Mis à jour par Frédéric Péters il y a environ 6 ans
pub.site_options.set('options', 'custom_geocode_key', 'geocoding_secret')
Nope je me suis mal fait comprendre, je ne veux pas de nouvelle option sur le sujet; je veux que geocoding_service_url puisse être https://whatever/search?key=toto&foo=bar qu'il n'y ait pas besoin d'un site_options par paramètre.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 6 ans
- Fichier 0001-geocoding-allow-custom-url-for-search-and-reverse-ge.patch 0001-geocoding-allow-custom-url-for-search-and-reverse-ge.patch ajouté
Ok. Pigé.
Mis à jour par Thomas Noël il y a environ 6 ans
Sur ce passage :
url = url % (urllib2.quote(address))
pour la beauté de la chose, éviter de faire le % alors qu'on ne sait pas vraiment ce qu'il y a dans url (s'il y a un autre %truc, ça va crasher salement). Plutôt :
if '?' in url: url += '&' else: url += '?' url += 'q=%s' % urllib2.quote(address)
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 6 ans
- Fichier 0001-geocoding-allow-custom-url-for-search-and-reverse-ge.patch 0001-geocoding-allow-custom-url-for-search-and-reverse-ge.patch ajouté
Oui.
Mis à jour par Thomas Noël il y a environ 6 ans
Je pourrais faire mon pénible relou en disant que tu pouvais laisser la ligne
url += '&accept-language=%s' % (get_publisher().get_site_language() or 'en')tranquille, pour minimiser ton patch, le temps du relecteur, et garder un git blame qui blâme bien ... mais allez, ack.
Si tu peux/veux attendre Frédéric qui est en début de relecture, c'est bien, sinon, tu pousses.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 6 ans
- Fichier 0001-geocoding-allow-custom-url-for-search-and-reverse-ge.patch 0001-geocoding-allow-custom-url-for-search-and-reverse-ge.patch ajouté
Yep, j'ai remis la ligne comme elle était.
J'attends aussi un avis de Frédéric avant de pusher.
Mis à jour par Frédéric Péters il y a environ 6 ans
Pour moi les options nominatim_* devraient servir, vu leur nom, uniquement pour nominatim, à intégrer en bout de get_reverse_geocoding_service_url et get_geocoding_service_url.
Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 6 ans
- Fichier 0001-geocoding-allow-custom-url-for-search-and-reverse-ge.patch 0001-geocoding-allow-custom-url-for-search-and-reverse-ge.patch ajouté
- Statut changé de Nouveau à En cours
- Assigné à mis à Serghei Mihai (congés, retour 15/05)
Oui, d'accord.
Mis à jour par Frédéric Péters il y a environ 6 ans
- Statut changé de En cours à Résolu (à déployer)
- Assigné à changé de Serghei Mihai (congés, retour 15/05) à Frédéric Péters
Parce que :
- nominaitm_url, à quoi ça sert donc d'avoir des tests s'ils ne sont pas exécutés
- la disparition du format=json lors des appels de l'action de workflow qui allait gentiment casser tout ça
- le code qui aurait plutôt eu sa place dans le publisher de qommon/, comme les autres méthodes proches (get_default_position, get_map_attributes)
- etc.
Parce que fatigué.
J'ai repris, modifié, poussé.
commit 0c18c039ab8ded812537d0494cf25a263d417694 Author: Serghei Mihai <smihai@entrouvert.com> Date: Fri Mar 2 10:15:05 2018 +0100 geocoding: allow custom url for search and reverse geocoding (#22218)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
geocoding: allow custom url for search and reverse geocoding (#22218)