Comments (2)
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.)
- 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
- 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.
-
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.
-
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:
from pandana.
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)
- [Feature Request] Aggreggation queries to subset of nodes
- Binary incompatibility error with older versions of NumPy HOT 1
- Shortest path length exists but shortest path is empty HOT 5
- shortest path distance between non connected nodes
- Allow specifying mapping distance for POIs
- Issue: the POI Accessibility computation is taking forever
- OSM loader - POIs that are ways in OSM HOT 1
- Pandana network initiation slow for large network HOT 4
- how to increase the performance of the aggregate when impedance is changed to time?
- net.shortest_paths doesn't work with multiprocessing
- tables sub-dependency versions conflict with python 3.10 compatibility when installing with pip HOT 1
- incorrect shortest paths solutions when impendance values are particularly small or large HOT 1
- Plotting with Pandana does not render title HOT 1
- osm.pdna_network_from_bbox error HOT 6
- Pulling network object from OSM bugged HOT 2
- New release ?
- Google Colab install pandana error HOT 1
- query the OSM API for the street network within the specified bounding box error HOT 1
- OSM Network Loader Error HOT 1
- Retrieving contracted nodes and edges of shortest paths HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pandana.