Git Product home page Git Product logo

analyst-server's People

Contributors

abyrd avatar bmander avatar kpwebb avatar mattwigway avatar trevorgerhardt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

analyst-server's Issues

Spatial data text is confusing

When you clock on PointSets, it says you can add a pointset and upload a shapefile. But that's not true, you have to upload a shapefile first.

It should probably not let you try to add a PointSet until you've uploaded a shapefile.

Too many classes

10 classes is too many; they can't be distinguished on the map.

Create area types

So that areas used for aggregation are not the same as pointsets.

Cannot saved changed name after creating scenario

If I create a scenario, wait for it to build and then change the name, I can't save it. I suspect this is because a property "status" gets set during graph building, which the server chokes on on save:

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "status" (class models.Scenario), not marked as ignorable (9 known properties: "name", "processingGtfs", "projectId", "bounds", "processingOsm", "files", "id", "description", "failed"])
 at [Source: N/A; line: -1, column: -1] (through reference chain: models.Scenario["status"])
    at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:51)
    at com.fasterxml.jackson.databind.DeserializationContext.reportUnknownProperty(DeserializationContext.java:731)
    at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:915)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1298)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1276)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:243)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:118)
    at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:3023)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1637)
    at controllers.Api.updateScenario(Api.java:751)

Tiles not rendering when memory is low

If I give analyst-server 8GB with a Portland graph (doing a comparison), everything is fine. If I give it 4GB, the tiles silently fail to render. Also, it shouldn't need 8GB of RAM for Portland---OTP certainly doesn't need that much.

Inbuilt datasets

We need to build something (or find something someone else has built) with block-level datasets containing all Census data (LODES and decennial census) and tract-level (latest 5-year ACS). We can also use WorldPop data or LandScan for international coverage.

Weighting vs. normalization

We say we're normalizing, but it's actually weighting. Normalization and group are both creating a weighted average, so they should be a single step. We need a slick way to generate reports.

Slow retrieval of results

It takes a long time for the tiles and the histograms to come up. We should investigate why this is so slow.

User feedback when uploading feed

There is no user feedback on creating a transit scenario until the file has transferred, which on a slow connection/large file can give the impression nothing is happening.

Implementation of Jenks

The Jenks classifier is currently binning to intervals of 100. This may not be appropriate depending on dataset range, and also may create problems because it reduces the in-class variance, although @kpwebb points out that values are large enough this shouldn't matter.

Numerical issue

One of the Portland census tracts is coming up blank in aggregation:

screenshot from 2014-12-04 16 55 46

Legend colors don't match map due to transparency

The colors in the legend don't match the colors on the map because the map tiles have opacity < 1. Probably the best we can do is to make the legend items partially transparent, and put a mpa-colored background behind them.

Use pycnoplactic mapping to do grouping

When we group we are grouping by centroids not by overlaps. We should be allocating the appropriate percentage of the weight of each area to each larger unit of aggregation. We need to calculate the areas using spherical geometry.

Histogram in single-point is too fine

The histogram is too sensitive to large jumps in numbers in a particular class (because a high-employment block was found in the 18 minute band, say). We should smooth it, because all the jobs in a block aren't concentrated at 18 minutes: some may 17, while some may be 19. Perhaps just bin by five-minute intervals on the client side?

Parrallelize aggregation

STRtree appears to be thread-safe once built, so we can run multiple threads to do the calculations when aggregating.

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.