Coder Social home page Coder Social logo

Comments (2)

fscottfoti avatar fscottfoti commented on July 19, 2024

I should say that we have plans to improve the framework significantly over the next month or two. Basically we would like to make it easier to use, make it fully tested and documented, make is easier to compile and install, and include more test data and examples. One of things I'd also like to do is make graph creation easier, likely using Pandas dataframes for the nodes and edges (Pandas didn't exist when I started the accessibility framework). With that caveat, I'll do my best to answer your questions. (I should say I've used the library extensively - it works as designed, it just isn't as usable as it will be.)

  1. Correct. Use positional arguments not the external ids. Here is the script I use to create networks:

https://github.com/fscottfoti/urbanaccess/blob/master/scripts/createnetwork.py

here is where I map ids to positions;

https://github.com/fscottfoti/urbanaccess/blob/master/scripts/createnetwork.py#L102

here is an example of what the output looks like:

http://paris.urbansim.org/data/mccog/mccog_network.jar

  1. Yes, directional specific arcs are supported. So if edges are different in each direction specify the edge as from_id, to_id and the correct impedance. A direction that isn't supported should not have an edge.

I should also point you to the high-level interface used by

UrbanSim https://github.com/synthicity/urbansim/blob/master/urbansim/utils/networks.py#L78

which has a flag to automatically convert the edges to two-way edges.

  1. No there are no turn impedances at this time. I imagine these have to be dealt with as additional "edges" in the underlying library, but we can create an abstraction at some point to make this easier at the high level.

  2. Pseudo edges would be the way to do this right now. In principle the ideal network would include access/egress points from parcels to the network, but we've never encountered a region that had this region-wide. So this could be done with centroid connectors as is typical in travel models (except ours are at the parcel level instead of zone level). This could also be done by projecting each centroid to the nearest edge rather than the nearest intersection, but this hasn't been done yet, either.

By the way, the best high level documentation at this point is the paper I'm trying to get published:

https://github.com/fscottfoti/dissertation/blob/master/networks/Foti%20and%20Waddell%20-%20Accessibility%20Framework.pdf?raw=true

from pandana.

fscottfoti avatar fscottfoti commented on July 19, 2024

2, 3, and 4 are still up to date, but the answer to 1 is now different.

There are no positional arguments or indexes now (internal ids are actually internal!). Just specify the real node ids in the edge definitions.

http://synthicity.github.io/pandana/network.html#pandana.network.Network.__init__

from pandana.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.