Thursday, May 7, 2015

Attempting to gain more clarity

Downloaded the shapefile from NYC, installed GDAL tools, converted (with the AS_YX option instead), and took a look at the CSV. There are 386,517 lines. The old CSV I got from my laptop had
381,445. Not too different, they might've added a few more signs since when I started.

Got my whole pipeline working. Looks like it finds about 40,000 no parking, no stopping, and no standing signs. Unfortunately my Google Maps code isn't able to display all of it, and seems to just not work. Works when I limit it to 10,000. I need to look into a different mapping solution.

Ideas:
  • Heat map?
  • Only show a certain number of things on the screen at once? Like 100? But if you're zoomed out to any reasonable level, which 100 markers to show?
  • Maybe heat map at distance, markers closer?
  • Figuring out different times and days to the map, which would limit the number of points shown at any given time?
--- shifting gears

I looked into using the NLP parser to try to get the valid days. Looking at one of the first entries, and it fell on its face. The description was something like "no parking 10am 3pm Tuesday and Friday". The parser associated the 3pm and Tuesday together, creating a TIME entry, while the Friday was solo as a DATE entry. One idea I had was to add "s" to the end of all the days, since in English it might imply the days are separate?, but that didn't seem to work. Could give it another try.

Without knowing which days are valid, the tool becomes significantly less useful. Although I could explore this area later.

One path going forward is figuring out how to show only the markers that are relevant at a given time slot. I could make a unique file for every time slot, perhaps in 15 minute increments (since I feel like that's the granularity I've seen in my life). 24 hours in a day, 4 slots per hour, totals 96 html files. Not terrible.

More minor things to do:
  1. In the marker's text, add the actual description, and perhaps more info, like the streets and what not, just for more usefulness and greater validation capability.
  2. Create a standalone view that has every sign, so that someone could just use it to find info.
    1. Creating this will probably involve limiting the number of markers on screen at once. Simply unsustainable.
  3. Create a "scripts" directory in source, that runs simple commands that I always look up. Prime example is pulling up the NLP parser prompt. Other things might be like easily getting the line count of a JSON file:
    1. python getLineCountJSON.py jsonFileName
  4. Start my write up. Look at my write up for Cho's class, he'll probably want similar major elements.


No comments:

Post a Comment