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

pandana revamp todo list #83

Closed
18 tasks done
fscottfoti opened this issue May 24, 2017 · 1 comment
Closed
18 tasks done

pandana revamp todo list #83

fscottfoti opened this issue May 24, 2017 · 1 comment

Comments

@fscottfoti
Copy link
Contributor

fscottfoti commented May 24, 2017

I'm opening an issue to keep track of my to do list for the pandana rewrite taking place here

The main purpose of the rewrite is to replace the C++ api wrapper pyaccesswrap.cpp with a cython wrapper which will be much easier to use going forward. Cython was around when I worked on this but it wasn't nearly as ubiquitous as it is these days.

In addition to that I should be able to fix:

  • style issues and general clunkiness in the C++ code
  • use scipy NN instead of ANN, which saves us from having to build ANN
  • the big one: not having global memory thus allowing Accessibility objects to be created and discarded on the fly Unable to close network in memory #52

Here's the ongoing high level todo list:

  • port POI functions to cython
  • port aggregation functions to cython
  • port shortest path and precompute functions to cython
  • integrate with @federicofernandez scipy NN code
  • add unit tests for the cython wrapper (lower level tests)
  • get the old unit tests back up and running again

Small issues:

  • make sure Different results when making multiple calls with nearest_pois #73 is still solved
  • check to see if nodes ids and locations are actually used in CH code - I don't think they are and can be removed from cython wrapper
  • addGraphalg doesn't have to be public - cython shouldn't know about graphAlg
  • think long and hard about which level is responsible for turning ids into indexes (CH requires indexes), in the context of node ids shouldn't have to be ints #62
  • drop initialize_pois - use std::map internally, use strings for categories
  • drop initialize_acc_vars - use std::map internally, use strings for categories
  • pass in strings for decay and aggregation types, rather than ints
  • impedance ids should be strings not ints too (leaving this as-is)
  • check for memory leaks
  • add test for non integer node ids
  • there's probably a better way to return the POI node_ids
  • fix travis build issue for python3.5
@fscottfoti
Copy link
Contributor Author

finished with #87

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant