Hi,

I think the best way is too install Python with Anaconda.  Then, you will need to  install geopandas, networkX and possibly pandas and shapely libraries.  I am not sure it it's a good idea to add these in the Qgis Python distribution.

My algorithm currently uses 1 line input file and 1 point input file. It would need to be modified to work with 2 point input files.

Nicolas

On 2022-05-06 10:02 a.m., Francesca Parente wrote:
Thank you very much indeed Nicolas, for your inputs and all the suggested materials! I have 50 targets and 532 origins. My goal is to define where is best to go within the 50 destinations for each starting point - given the actual range of choices though, so I'm not sure that running a batch one-to-many would take into account all the variables properly as a many-to-many would do. In the absence of a specific modelling, also some second best could work.

I understand that your upstream-downstream-Dijkstra script is suitable for layer-to-layer indeed and I'm trying to run it, but at the >>> import geopandas as gpd<< line I got the following error message:

/Traceback (most recent call last):
  File "C:\OSGEO4~1\apps\Python37\lib\code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
  File "C:/OSGEO4~1/apps/qgis/./python\qgis\utils.py", line 799, in _import
    mod = _builtin_import(name, globals, locals, fromlist, level)
/
/ModuleNotFoundError: No module named 'geopandas'/
I've been following your tutorial, but I admit I'm not quite familiar with py. I've gone through the remaining import coding and it seems working, but I'm not sure the "geopandas" module is needed or not to properly complete the script.

Thanks again!!
Best,
Francesca

Il giorno gio 5 mag 2022 alle ore 22:28 Nicolas Cadieux <njacadieux.git...@gmail.com> ha scritto:

    Hi,

    How many shortest path calculations are you looking at? You could
    probably do a all pairs shortest path dijkstra and filter the
    results.  You could batch multiple one to many (point to layers)
     In QGIS using the processing plug-in.

    I did create an algorithm using networkX that could be modified to
    work with two input layers.  This could be useful if QGIS is not
    fast enough or if you have too many routes to calculate.  You will
    find it in the links below. Keep in mind this algorithm was for
    rivers therefore you have no trafic rules.  This would need more work.

    You will also find an article we wrote in Data that may help.  If
    you have trouble with the network, look in the QGIS hub for the
    models. Look for the 3 “fix directional networks models”.

    I added a few YouTube videos I made.

    
https://gitlab.com/njacadieux/upstream_downstream_shortests_path_dijkstra<https://www.mdpi.com/2306-5729/5/1/8>

    https://www.mdpi.com/2306-5729/5/1/8

    https://plugins.qgis.org/models/

    https://youtu.be/v61PafSByvM

    https://youtu.be/qQrHcKtmr3o


    Nicolas Cadieux
    https://gitlab.com/njacadieux

    Le 5 mai 2022 à 10:38, Francesca Parente via Qgis-user
    <qgis-user@lists.osgeo.org> a écrit :

    
    Hello everyone,

    I'd need to identify optimal destinations (within a point layer
    of geolocated facilities) for each territory of a given set of
    possible origins.
    I already calculated a distance matrix between the two
    point-layers, and also applied the distance-to-nearest-hub tool
    to generate a string layer and identify the optimal facilities.
    But I'd like to obtain a more realistic estimate, accounting for
    the roads network (and ideally their travel times). With quite a
    few issues, I finally managed to import an OSM road network from
    download.geofabrik.de <http://download.geofabrik.de> (in order to
    cover my area of interest, I had to merge two different vectors
    fo Center and Southern Italy and then extract a focus spot in
    between the two and save it as a lighter layer, otherwise it also
    took an eternity to run every analysis).

    So now my question would be: is there a tool to perform a
    layer-to-layer shortest-path analysis that takes it into account?
    All that I could find was either point-to-point or
    layer-to-point/point-to-layer (I looked also at built-in network
    analysis tool and Qneat3 plugin).

    Any kind of inputs and suggestions will be more than welcome!
    Thanks a lot for your support and have a good day,
    Francesca

-- ----------------------------
    Francesca Parente

    _ SESS Euro PhD
    <https://phd.uniroma1.it/web/FRANCESCA-PARENTE_nT1602922_IT.aspx>
    in SocioEconomic and Statistical Studies
    _ Luiss SEP <https://sep.luiss.it/> School of European Political
    Economy


    email: francescaparente....@gmail.com
    paren...@luiss.it

    _______________________________________________
    Qgis-user mailing list
    Qgis-user@lists.osgeo.org
    List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
    Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user



--
----------------------------
Francesca Parente

_ SESS Euro PhD <https://phd.uniroma1.it/web/FRANCESCA-PARENTE_nT1602922_IT.aspx> in SocioEconomic and Statistical Studies
_ Luiss SEP <https://sep.luiss.it/> School of European Political Economy

email: francescaparente....@gmail.com
paren...@luiss.it

--
Nicolas Cadieux
https://gitlab.com/njacadieux
_______________________________________________
Qgis-user mailing list
Qgis-user@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to