Property Data from Lotlinker
Description
This is a custom-built dataset created by Code For Dayton. It powers LotLinker and Go Get Properties. Here is the scraper that collects the data, and here is the script that builds the JSON file that is parsed for the site.
The complete Go Get Properties and LotLinker sites are more complicated that the map on this page. The actual sites provide searching and filtering, custom markers, and interactions between map components and other parts of the page. The code is a bit rough, but it still provides a good example for how these things can be done.
Data Source
It is a multi-step process to create the data set for this application:
- Start with Montgomery County's monthly delinquent property list.
- The reap scraper filters out records from the csv, and supplements the data with information scraped from the County Treasurer's site.
- It is then split between city of Dayton records (LotLinker) and county records (Go Get Properties) with the split_reap_items.py script.
- Each record is geocoded via our custom geocoder*, filtered for 'REAPability', and converted to JSON by the appropriate project's build_json.py script.
- The output is copied into the static/data folder for each web server.
Geocoding is an important topic in web mapping, especially if you have data that does not contain lat/lon coordinates. We chose to build our own, since some of the data was missing complete addresses. Using the county's GIS data, we could key off the parcel ids instead of street address. The work of building the geocoder is split between the scraper's init_parcel_centroid.py script, and the individual build_json.py scripts. Building something like this is outside the scope of the workshop, but we'd be happy to talk you through the process we used.
There are several free or free-ish geocoders available that work on normal address data. The U.S. Census Bureau provides one, as does Google. Each has its benefits and drawbacks.
Enhancements
As mentioned earlier, the code written for LotLinker and Go Get Properties is a bit rough, and it could use some improvements. If you are interested in helping out, please let us know!
Resources
- Scrapy, our web scraper of choice.