https://github.com/azavea/python-omgeo

OMGeocoder - A python geocoding abstraction layer

https://github.com/azavea/python-omgeo

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.4%) to scientific vocabulary

Keywords

geocode geocoder geocoding python

Keywords from Contributors

civic-apps-team hydrology stormwater watersheds
Last synced: 5 months ago · JSON representation

Repository

OMGeocoder - A python geocoding abstraction layer

Basic Info
Statistics
  • Stars: 37
  • Watchers: 34
  • Forks: 14
  • Open Issues: 13
  • Releases: 0
Topics
geocode geocoder geocoding python
Created almost 14 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Changelog License

README.rst

**OMGeo - Python Edition**

``python-omgeo`` is a geocoding abstraction layer written in python.  Currently
supported geocoders:

* `US Census Geocoder `_
* `Bing Maps REST Locations API `_
* `ESRI World Geocoding Service `_
* `MapQuest Licensed Data API `_
* `MapQuest-hosted Nominatim Open Data API `_
* `Pelias geocoder `_. Defaults to use `geocode.earth `_
* `Google geocoder `_

.. NOTE::
   Check out `this project's page on GitHub `_.

**Installation**::

    sudo pip install python-omgeo

**Documentation**

Docs are available in `HTML `_
or `PDF `_ format.

**Usage Example**

Make a new geocoder and geocode and address::

    >>> from omgeo import Geocoder
    >>> g = Geocoder()
    >>> result = g.geocode('340 12th St, Philadelphia PA')

Take a look at the result::

    >>> result
    {'candidates': [
      <340 S 12th St, Philadelphia, PA, 19107 (-75.161461, 39.94532) EsriWGS>,
      <340 N 12th St, Philadelphia, PA, 19107 (-75.158434, 39.958728) EsriWGS>
     ],
     'upstream_response_info': []}

Take a closer look at the information in our address Candidate objects::

    >>> [c.__dict__ for c in result["candidates"]]
	[{'geoservice': 'EsriWGS',
	  'locator': u'USA.AddressPoint',
	  'locator_type': u'PointAddress',
	  'match_addr': u'340 S 12th St, Philadelphia, PA, 19107',
	  'score': 90.87,
	  'wkid': 4326,
	  'x': -75.161461,
	  'y': 39.94532},
	 {'geoservice': 'EsriWGS',
	  'locator': 'interpolation',
	  'locator_type': u'StreetAddress',
	  'match_addr': u'340 N 12th St, Philadelphia, PA, 19107',
	  'score': 90.87,
	  'wkid': 4326,
	  'x': -75.158434,
	  'y': 39.958728}]

Some geocoders (EsriWGS and US Census) can return address components in addition to the
full address::

    >>> [{'geoservice': 'EsriWGS',
        'locator': 'interpolation',
        'locator_type': u'StreetAddress',
        'match_addr': u'340 N 12th St, Phila, Pennsylvania, 19107',
        'match_city': u'Phila',
        'match_country': u'USA',
        'match_postal': u'19107',
        'match_region': u'Pennsylvania',
        'match_streetaddr': u'340 N 12th St',
        'match_subregion': u'',
        'score': 90.1,
        'wkid': 4326,
        'x': -75.158384,
        'y': 39.958774}]

These are optional; their existence may change depending on the response from the geocoder.

**Testing**

There is a shell script in the root of the repository called *test.dummy.sh*.
Copy it using ``cp test.dummy.sh test.sh``. Edit *test.sh* to include the
API keys that you obtained from the given geocoding service providers. Then, run
the tests using ``./test.sh``.

Owner

  • Name: Azavea
  • Login: azavea
  • Kind: organization
  • Location: Philadelphia, PA

Geospatial software engineering for good

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 272
  • Total Committers: 15
  • Avg Commits per committer: 18.133
  • Development Distribution Score (DDS): 0.423
Top Committers
Name Email Commits
Joe j****o@a****m 157
Klaas Hoekema k****a@a****m 18
Derek Dohler d****r@a****m 18
Andrew Jennings a****s@a****m 16
Michael Maurizi m****i@a****m 12
Justin Walgran j****n@a****m 10
Kathryn Killebrew k****w@a****m 9
Sharp Hall s****l@a****m 7
Joe Tricarico j****o@g****m 6
Laurence Liss l****s@g****m 6
Hector Castro h****o@a****m 5
Michael Tedeschi m****i@a****m 3
Laurence Liss l****s@a****m 2
Hector Castro h****o@g****m 2
Joe Tricarico j****e@l****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 36
  • Total pull requests: 36
  • Average time to close issues: 4 months
  • Average time to close pull requests: 9 days
  • Total issue authors: 17
  • Total pull request authors: 12
  • Average comments per issue: 0.53
  • Average comments per pull request: 1.47
  • Merged pull requests: 31
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • flibbertigibbet (5)
  • maurizi (5)
  • hectcastro (4)
  • joetric (4)
  • rajadain (3)
  • ddohler (2)
  • jwalgran (2)
  • rominf (1)
  • mbtronics (1)
  • andrewjennings (1)
  • jcrubino (1)
  • lliss (1)
  • CloudNiner (1)
  • ghost (1)
  • ablegrape (1)
Pull Request Authors
  • KlaasH (6)
  • ddohler (5)
  • sharph (5)
  • flibbertigibbet (4)
  • joetric (3)
  • hectcastro (3)
  • maurizi (3)
  • mbtronics (2)
  • lliss (2)
  • rajadain (2)
  • JN-Hernandez (2)
  • jwalgran (1)
Top Labels
Issue Labels
operations (3) size: 2 (2) out-of-bounds (1) size: 1 (1)
Pull Request Labels
operations (3)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 152 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 21
  • Total versions: 43
  • Total maintainers: 8
pypi.org: python-omgeo

Geocoding Library using ESRI, Google, Bing Maps, US Census, OpenStreetMap, Pelias, and MapQuest geocoders

  • Versions: 43
  • Dependent Packages: 0
  • Dependent Repositories: 21
  • Downloads: 152 Last month
Rankings
Dependent repos count: 3.2%
Average: 9.4%
Forks count: 9.8%
Dependent packages count: 10.1%
Stargazers count: 10.7%
Downloads: 13.4%
Last synced: 6 months ago

Dependencies

setup.py pypi
  • requests *
.github/workflows/continuous_integration.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/release.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
requirements.txt pypi