Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

La fonction public.clean_graph() n'existe pas #3

Open
frozar opened this issue Nov 12, 2022 · 1 comment
Open

La fonction public.clean_graph() n'existe pas #3

frozar opened this issue Nov 12, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@frozar
Copy link
Contributor

frozar commented Nov 12, 2022

J'ai pu remplir la base de donnée pivot et je travaille sur la création de la base de données pour pgRouting avec la commande r2gg-pivot2pgrouting. Lorsque je lance cette commande, l'ensemble du script s'exécute correctement jusqu'au moment où la fonction public.clean_graph() est utilisée :

for profile_name in profile_names:
logger.info("Cleaning isolated edges for profile {}...".format(profile_name))
clean_graph_query = "SELECT {0}.clean_graph('{1}')".format(schema, profile_name)
logger.info("SQL: {}".format(clean_graph_query))
cursor_isolated.execute(clean_graph_query)

A ce moment, j'ai le message d'erreur suivant :

Traceback (most recent call last):
  File "/home/frozar/.local/bin/r2gg-pivot2pgrouting", line 33, in <module>
    sys.exit(load_entry_point('r2gg', 'console_scripts', 'r2gg-pivot2pgrouting')())
  File "/home/frozar/wk/flaxib/wk/route-graph-generator/r2gg/__init__.py", line 12, in pivot2pgrouting
    pgr_convert(config, resource, db_configs, connection, logger)
  File "/home/frozar/wk/flaxib/wk/route-graph-generator/r2gg/_main.py", line 132, in pgr_convert
    pivot_to_pgr(resource, cost_calculation_file_path, connection, connection_out, logger)
  File "/home/frozar/wk/flaxib/wk/route-graph-generator/r2gg/_pivot_to_pgr.py", line 384, in pivot_to_pgr
    cursor_isolated.execute(clean_graph_query)
psycopg2.errors.UndefinedFunction: function public.clean_graph(unknown) does not exist
LINE 1: SELECT public.clean_graph('pedestrian')

En cherchant dans le projet pour savoir où est défini la fonction public.clean_graph(), je ne trouve rien.

Je pense donc que la définition de cette fonction n'est pas dans ce projet.

Si tel est le cas, pouvez-vous rajouter la définition de cette fonction dans le fichier _pivot_to_pgr.py svp ?

@azarz
Copy link
Member

azarz commented Nov 14, 2022

Bonjour !
La fonction clean_graph() est définie dans le projet https://github.com/IGNF/pgrouting-procedures, qu'il est nécessaire d'utiliser sur la base de données si ensuite on veut utiliser le serveur road2 avec pgRouting, car elle contient notamment le point d'entrée de road2 pour la communication avec pgRouting.

Dans l'état actuel du code, il est nécessaire d'installer les procédures SQL définies dans ce projet sur votre BDD avant de générer des données pour pgRouting. Une piste d'amélioration du projet r2gg pourrait être d'inclure les procédures définies dans pgrouting-procedures dans un script qui soit lancé avant _pivot_to_pgr.py

@azarz azarz added the enhancement New feature or request label Nov 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants