Skip to content

ishiland/python-geoclient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python-Geoclient

Call the RESTful NYC Geoclient API using python.

Python 2.7 | 3.4+ Build Status PyPI version

Introduction

This library provides a Python interface for using the NYC Geoclient API. It is an updated and maintained fork of nyc_geoclient.

In order to use the library, you must first register an application with the NYC Developer Portal to obtain an application key and ID.

Installing

you can install python-geoclient using:

$ pip install python-geoclient

or you can clone this directory and:

$ python setup.py install

Quickstart

Once your app has been registered with DoITT, using the API is simple:

from geoclient import Geoclient
g = Geoclient('my app ID', 'my app key')

You can use any of the available methods documented in the API:

g.address(100, 'Gold st', 'MN')

{u'uspsPreferredCityName': u'NEW YORK',
 u'fireCompanyType': u'E',
 u'fromLionNodeId': u'0015445',
 u'cooperativeIdNumber': u'0000',
 u'dotStreetLightContractorArea': u'1',
 u'lionBoroughCodeForVanityAddress': u'1',
 u'zipCode': u'10038',
 u'fireCompanyNumber': u'006',
 u'communityDistrict': u'101',
 u'firstStreetNameNormalized': u'GOLD STREET',
 u'boroughCode1In': u'1',
 u'latitude': 40.71035225065372,
 u'longitude': -74.00400739046181,
 ...
 }

Geocoding Errors

python-geoclient will raise a GeoclientError when the Geoclient API returns an error code. Sometimes there is more information returned, in which case the exception will have a result dictionary.

from geoclient import GeoclientError
try:
    g.address(125, 'wort st', 1)
except GeoclientError as e:
    print(e) # 'WORT STREET' NOT RECOGNIZED. THERE ARE 010 SIMILAR NAMES.
    print(e.result['streetName1']) # WORTH SQUARE

Documentation

The Python Geoclient documentation details using the library.

The API closely follows the DoITT documentation (requires account/login).

Running Tests

python setup.py test

Contributing

If you see an issue or would like to contribute, pull requests are welcome.

License

BSD.

Releases

No releases published

Packages

No packages published

Languages