Coder Social home page Coder Social logo

nycplanning / labs-tax-lot-selector Goto Github PK

View Code? Open in Web Editor NEW
10.0 8.0 5.0 4.19 MB

A simple map-based tool for selecting multiple NYC tax lots and downloading a CSV or shapefile of their PLUTO data

Home Page: https://lotselector.planning.nyc.gov/

License: Other

CSS 9.91% HTML 29.73% JavaScript 60.01% Shell 0.35%
mapbox labs

labs-tax-lot-selector's Introduction

NYC Tax Lot Selector (BBL List Generator)

This is a simple map-based tool for selecting multiple NYC tax lots and downloading a CSV/SHP file with their BBLs (Borough/Block/Lot).

Built with Department of City Planning's Business Improvement Division, this tool's primary purpose is to complement other information systems that require a list of affected tax lots to describe a study area, rezoning, or other area of interest. Instead of a more manual process using desktop GIS software, this tool allows the user to quickly identify the lots in their area of interest through a simple, open web interface. The user can select those lots that are within the area of interest, and quickly download the lot identifiers as machine-readable data.

image

How we work

NYC Planning Labs takes on a single project at a time, working closely with our customers from concept to delivery in a matter of weeks. We conduct regular maintenance between larger projects.

How you can help

In the spirit of free software, everyone is encouraged to help improve this project. Here are some ways you can contribute.

  • Comment on or clarify [issues](link to issues)
  • Report [bugs](link to bugs)
  • Suggest new features
  • Write or edit documentation
  • Write code (no patch is too small)
    • Fix typos
    • Add comments
    • Clean up code
    • Add new features

Read more about contributing.

Requirements

You will need the following things properly installed on your computer.

  • Git
  • Node.js (with NPM)
  • This installation was tested using Node v14.15.0

Local development

  • Clone this repository git clone https://github.com/NYCPlanning/labs-bbl-list-generator.git
  • Navigate to the project directory and start a local webserver
    • Python 2 cd labs-bbl-list-generator && python -m SimpleHTTPServer 8000
    • Python 3 cd labs-bbl-list-generator && python -m http.server 8000
  • Open the site in your browser at http://localhost:8000

Architecture

This is a simple HTML/CSS/JS frontend mapping tool that interacts with NYC PLUTO data hosted on a Carto server. The client-side mapping technology is mapbox GL JS. The Carto server provides vector tiles for NYC's MapPLUTO dataset, and also handles the file downloads based on the user's selection.

Deployment

Deploy with dokku: Create git remote dokku if you haven't already git remote add dokku dokku@{domain}:lotselector. Push master git push dokku master

MapPLUTO Block Labels

mappluto_block_centroids dataset was created to handle labels for the blocks. This is a bit involved as it's a complex query and carto may timeout, so we had to run the code below by borough, save each result as a new dataset, and UNION ALL them together into a new block_centroids dataset. Query for posterity/maintenance:

SELECT ST_Centroid(ST_Union(the_geom)) as the_geom, block, borocode FROM planninglabs.mappluto
WHERE borocode = '1'
GROUP BY block, borocode

The above technique ran into issues with invalid geometries in Queens. We have requested that this block centroids dataset be a routine product of the MapPLUTO workflow, but until then, you may need to use ST_MakeValid() when using the above SQL to manually build the centroids table.

Contact us

You can find us on Twitter at @nycplanninglabs, or comment on issues and we'll follow up as soon as we can. If you'd like to send an email, use [email protected]

labs-tax-lot-selector's People

Contributors

allthesignals avatar andycochran avatar chriswhong avatar dhochbaum-dcp avatar fedex1 avatar hannahkates avatar trbmcginnis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

labs-tax-lot-selector's Issues

Add Labs beta notice

Add a notice letting folks know that this is a project of NYC Planning Labs, to be removed upon completion/handoff/adoption.

Add DoITT Aerials

DoITT has a high res aerials raster layer publicly available, add it here a map option.

Use POST method for long URIs

Description

Large numbers of BBLs won't download if a they create a URI that is too long. We can use POST method, but we don't have a way to handle the blob of data once Carto returns it. This handling needs to convert it into a download appropriately.

See branch post-method-download for some work on this.

BUG: {"error":["column \"exemptland\" does not exist"]}

Tax Lot selected. All Pluto Data Selected. Export to CSV selected.
Instead of the Data Export, I received the following error message:
{"error":["column "exemptland" does not exist"]}

Occurred on a Chrome Browser and Dell Desktop

Add Search by Tax Lot or BBL

Users should be able to search by Tax Lot or BBL instead of address only. Should have the same search option as Zola
-free form text
-BBL Look Up

Improve Tax Block and Tax Lot Labels

There should be one Tax Block label per Block and one Tax Lot label per lot.

Current label format = "block#-lot#" (This results in a long label and causes many lots to not be labeled due to overlapping.

Labels can be scaled but when zoomed into a block/lot level, user needs to be able to see both Block and Lot labels

Not rendering in IE

The map is not rendering in IE for some reason... will post more here once I can get in front of a Windows machine.

User is unable to select tax lots

Problem:
The core purpose of this app is to select tax lots and export them. Currently, neither the click select or draw select work.

Steps to reproduce:

  • Go to https://lotselector.planning.nyc.gov/
  • Try to click on a tax lot, and see that the panning grab hand mouse stays active. It's not possible to click on a lot.
  • Try drawing to select lots. See that the draw tools work and you can create a closed polygon, but no lots get selected.

Search should draw a point marker on the screen

When a user searches for an address, the map zooms to the location but does not identify which lot was searched. The user has to guess which lot is correct.

Example: searched 19 Nassau Street, map zooms to Lower Manhattan. When user tries to identify the correct lot the tool tip only provides one address per lot so the user has no way of knowing which lot is correct. (19 Nassau Street is the same lot as 120 Broadway = BBL 1000477501)

can't select any lots

When using lotselector.planning.nyc.gov, I'm unable to select lots either by clicking on individual lots or by drawing a polygon.

I'm using Chrome 67 on Windows 10

Convert to Ember

Description

Before moving forward with new features, we need to put this app into a framework for better maintainability.

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.