Strange behaviour in pgr_withPoints

Aperta
#760 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
postgresql
Ambito
databases

Direzione di ricerca

The issue involves the pgr_withPoints function in pgRouting. Start by examining the function's source code in the repository, likely in src/withPoints/. Reproduce the bug using the provided SQL backup to understand the data and query behavior. Compare the two queries to identify why the second returns no results, focusing on how the function handles the points of interest table. Look for existing tests related to pgr_withPoints to see expected behavior.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Bug Report Discussion Documentation Enhancement withPoints

Hello everybody, I'm using the proposed function pgr_withPoints, but it seems there is a bug

Expected behavior and actual behavior

The expected result is the one I obtain if I select all the point of interests "limiting" the results for example in this way:

select * from pgr_withPoints('SELECT gid as id, source, target, length_m as cost, length_m as reverse_cost, x1,y1,x2,y2 FROM ways', 'SELECT j.bid as pid, j.way_id as edge_id, j.fraction from join_building_ways j where bid in (13464281, 13464251, 13464250)', -13464281, -13464250);
 seq | path_seq |   node    | edge  |       cost       |     agg_cost     
-----+----------+-----------+-------+------------------+------------------
   1 |        1 | -13464281 | 85965 | 21.3940627565627 |                0
   2 |        2 |     75852 | 85957 | 9.67727907223116 | 21.3940627565627
   3 |        3 |     68330 | 85956 | 7.22238171772227 | 31.0713418287938
   4 |        4 |     71916 | 85955 | 7.18404585924898 | 38.2937235465161
   5 |        5 | -13464250 |    -1 |                0 | 45.4777694057651

If I do this:

select * from pgr_withPoints('SELECT gid as id, source, target, length_m as cost, length_m as reverse_cost, x1,y1,x2,y2 FROM ways', 'SELECT j.bid as pid, j.way_id as edge_id, j.fraction from join_building_ways j', -13464281, -13464250);
 seq | path_seq | node | edge | cost | agg_cost 
-----+----------+------+------+------+----------
(0 rows)

I have no results. Why?

Steps to reproduce the problem

create a db with this backup.
https://www.dropbox.com/s/p9pq9dh2zz1yfir/bug2.sql.zip?dl=0

Specifications like the version of pgRouting/PostGIS and PostgreSQL as well as Operating System

PostgreSQL 9.6.1 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4, 64-bit

POSTGIS="2.3.0 r15146" GEOS="3.5.0-CAPI-1.9.0 r4084" PROJ="Rel. 4.9.2, 08 September 2015" GDAL="GDAL 1.11.3, released 2015/09/16" LIBXML="2.9.1" RASTER

(2.3.2,v2.3.2,1f2af3c52,master,1.54.0)
Lingua principale
C++
Stelle
1.4k
Fork
397
Merge medio
2g 2h
PR unite (30g)
4

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di pgRouting/pgrouting

Tutte le issue di pgRouting/pgrouting

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.