GithubHelp home page GithubHelp logo

isabella232 / lexington-geocoder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from codeforamerica/lexington-geocoder

0.0 0.0 0.0 6.36 MB

This project has migrated to python + flask!

Home Page: https://github.com/codeforamerica/streetscope

License: ISC License

Ruby 2.54% JavaScript 96.26% CSS 1.20%

lexington-geocoder's Introduction

This project has moved

Active development of this project is occuring in the streetscope repository.

This repository, the lexington-geocoder, is no longer active.

Streetscope

Streetscope is a service to allow people, but especially computer programs, to submit an address like '123 Main St.' and find its lat/lon coordinates and canonical parcel_id in the Lexington, KY Property Value Administrator's set of addresses.

Why are we doing this?

City agencies in Lexington sometimes disagree on the correct way to reference a single address or taxlot. (And sometimes someone entering data just makes a typo. Oops!) That makes it really hard to get a complete picture of a single property.

Streetscope allows different databases to know they're talking about the same address, even if it's not spelled exactly the same. It returns a geographic location and a parcel ID for matching addresses across databases to enable connections between these datasets and get a true picture of the city.

What will this do in the future?

  • Accept files to geocode as a batch
  • Emit performance metrics to indicate when this geocoder varies from other geocoders in geographic distance or ability to match an address
  • Generalize for any city that has a reliable address dataset

Who is this made by?

Lexingteam!

With completely indispensable help from Jonathan Hollinger and Shaye Rabold at Lexington-Fayette Urban County Government and David O'Neill, the Property Valuation Administrator

How to use it?

When programming, make an HTTP GET request to http://lexington-geocoder.herokuapp.com/geocode?query=449+w+4th

The geoJSON response:

{
"type": "FeatureCollection",
   "features": [
       {
	       	"type": "Feature",
	       	"geometry": {
	       		"type": "Point",
	        	"coordinates": [
		       		-84.4949386945456,
		       		38.055285154852555
	        	]
       		},
   	   		"properties": {
   	       		"formatted_address": "449 W FOURTH ST",
          		"parcel_id": "15602150"
       		}
       },
       ... { more features }
   ]
},

The json result can be previewed through the HTML UI. HTML UI

Setup

In your command line, run the following:

$ git clone https://github.com/codeforamerica/lexington-geocoder.git
$ cd lexington-geocoder
$ cp .env.sample .env
$ gem install bundler
$ bundle install

# make sure postgres is running, then:
$ createdb lexington_geocoder
$ csvsql --db postgresql:///lexington_geocoder --insert --table parcels data/ParcelCentroids.csv

# make sure elasticsearch is running then:
$ ruby index_addresses.rb
$ ... takes a few minutes
$ bundle exec rackup

Test it out

  • If you have access to the 'curl' command

$ curl http://localhost:9292/geocode?query=449+w+4th ... should return some json!

lexington-geocoder's People

Contributors

lyzidiamond avatar eeeschwartz avatar livienyin avatar techieshark avatar

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.