Skip to main content

Radius searches on Canadian postal codes, location data

Project description

This is a fork of Nathan Van Gheem’s excellent pyzipcode package. The zipcode database has been replaced with Canadian cities and their postal codes. The general usage is the same.

Canadian postal codes are six characters with this format: A1A 1A1, where A is a letter and 1 is a digit, with a space separating the third and fourth characters. The first three digits are the Forward Sortation Area © (FSA), and the last three are the Local Delivery Unit (LDU). The FSA information is available from the report “Forward Sortation Area Boundary File, 2011 Census. Statistics Canada Catalogue no. 92-179-X” retrieved from http://www12.statcan.gc.ca/census-recensement/2011/geo/bound-limit/bound-limit-2011-eng.cfm

This module only uses the FSA designator for location. There are over 800,000 FSA+LDU combinations, but the 1,620 unique FSA values provide enough resolution for most applications.

Basic usage (copied from the pyzipcode docs):

>>> from pypostalcode import PostalCodeDatabase
>>> pcdb = PostalCodeDatabase()
>>> location = pcdb['V5K']
>>> location.postalcode
u'V5K'
>>> location.city
u'Vancouver (North Hastings- Sunrise)'
>>> location.province
u'British Columbia'
>>> location.longitude
49.293
>>> location.latitude
-123.0489
>>> location.timezone
-8

Get a list of postal codes given a radius in kilometers:

>>> from pypostalcode import PostalCodeDatabase
>>> pcdb = PostalCodeDatabase()
>>> results = pcdb.get_postalcodes_around_radius('T3Z', 25)
>>> for r in results:
>>>     ''.join([r.postalcode, ": ", r.city, ", ", r.province])
u'T3B: Calgary (Montgomery / Bowness / Silver Springs / Greenwood), Alberta'
u'T3G: Calgary (Hawkwood / Arbour Lake / Royal Oak / Rocky Ridge), Alberta'
u'T3H: Calgary (Discovery Ridge / Signal Hill / Aspen Woods / Patterson / Cougar Ridge), Alberta'
u'T3L: Calgary (Tuscany / Scenic Acres), Alberta'
u'T3R: Calgary Northwest, Alberta'
u'T3Z: Redwood Meadows, Alberta'
u'T4C: Cochrane, Alberta'

© This data includes information copied with permission from Canada Post Corporation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypostalcode-0.3.3.tar.gz (94.1 kB view details)

Uploaded Source

File details

Details for the file pypostalcode-0.3.3.tar.gz.

File metadata

  • Download URL: pypostalcode-0.3.3.tar.gz
  • Upload date:
  • Size: 94.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pypostalcode-0.3.3.tar.gz
Algorithm Hash digest
SHA256 a0f832f8b7d7541c8179d7f36eb69af88ad8c2a6d37fbb7a2c8249266e70ff2b
MD5 26129b2c8d42c714b9a32b2db939d4ab
BLAKE2b-256 1fd790c027ff1347bf0c2dd8a2774281dcb36bead81e3fab3c01579cd893d235

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page