All Projects → mhudecheck → revgeo

mhudecheck / revgeo

Licence: GPL-3.0 license
Reverse Geocoding in R with Google Maps API and Photon API

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to revgeo

Coffeehack
Hack of our Jura coffee machine
Stars: ✭ 116 (+480%)
Mutual labels:  photon
karting
A multiplayer racing example project in Unity using the SocketWeaver SDK
Stars: ✭ 39 (+95%)
Mutual labels:  photon
Slicer
Photon Open Slicer - Command Line Slicer usable as MeshMixer plugin or as standalone
Stars: ✭ 50 (+150%)
Mutual labels:  photon
Uvtools
MSLA/DLP, file analysis, calibration, repair, conversion and manipulation
Stars: ✭ 148 (+640%)
Mutual labels:  photon
Particle Cli
Command Line Interface for Particle Cloud and devices
Stars: ✭ 208 (+940%)
Mutual labels:  photon
preact-photon-electron-quick-start
Demo desktop app built with Electron using the Preact-Photon UI library
Stars: ✭ 32 (+60%)
Mutual labels:  photon
Photon
The fastest way to build beautiful Electron apps using simple HTML and CSS
Stars: ✭ 9,761 (+48705%)
Mutual labels:  photon
python-omgeo
OMGeocoder - A python geocoding abstraction layer
Stars: ✭ 34 (+70%)
Mutual labels:  geocode
Bing-Api
轻巧但辣鸡的 Bing 今日美图 API
Stars: ✭ 39 (+95%)
Mutual labels:  bing-api
Flex-AntiCheat
Flex AntiCheat - Optimized Configs For Multiple AntiCheats
Stars: ✭ 37 (+85%)
Mutual labels:  photon
Preact Photon
🚀 Beautiful desktop apps with Preact + Photon ❤️
Stars: ✭ 158 (+690%)
Mutual labels:  photon
Warcraft Arena Unity
World of Warcraft client-server combat system implementation in Unity with Photon Bolt.
Stars: ✭ 206 (+930%)
Mutual labels:  photon
neopo
A lightweight solution for local Particle development.
Stars: ✭ 19 (-5%)
Mutual labels:  photon
Docs
Documentation for Particle
Stars: ✭ 131 (+555%)
Mutual labels:  photon
vue-photonkit
Photonkit components for Vue
Stars: ✭ 15 (-25%)
Mutual labels:  photon
Particle Api Js
JS Library for the Particle API
Stars: ✭ 112 (+460%)
Mutual labels:  photon
svelte-mapbox
MapBox Map and Autocomplete components for Svelte (or Vanilla JS)
Stars: ✭ 267 (+1235%)
Mutual labels:  geocode
Osmunda
An offline geocode library for android, powered by SQLite, using osm data. 离线地理编码Android库,基于SQLite,使用开放街道地图数据。
Stars: ✭ 37 (+85%)
Mutual labels:  geocode
trashed
Trashed is an organizational tool designed to help users keep their communities clean.
Stars: ✭ 13 (-35%)
Mutual labels:  geocode
geocoder
Geocoder is a Typescript library which helps you build geo-aware applications by providing a powerful abstraction layer for geocoding manipulations
Stars: ✭ 28 (+40%)
Mutual labels:  geocode

Reverse Geocoding in R with Google Maps, Photon, and Bing

NOTE: For now, please use the Github version if you plan use Photon.

This code lets you reverse geocode coordinate pairs with Google Maps, Photon, and Bing. As far as I'm aware, it's the first package in R which specifically allows you to the Photon geocoder for OpenStreetMaps or Bing to reverse geocode (as opposed to geocode). This is pretty important, since the Google Maps API is limited to 2,500 free queries a day.

You can install revgeo() through CRAN:

install.packages('revgeo')

You also install revgeo() with the devtools package:

library(devtools)
install_github('mhudecheck/revgeo')

The syntax for revgeo() is pretty simple:

library('revgeo')

# Usage: revgeo(longitude, latitude, provider=NULL, API=NULL, output=NULL, item=NULL)
# Example: revgeo(longitude=-86.46222, latitude=33.94954, provider=NULL, API=NULL, output='hash', item='zip')

You'll need to create a Google Maps API, set provider='google' (or google=TRUE for v.11), and include your API key with API='your API key' if you want to use revgeo() with Google Maps:

library('revgeo')

# Example: revgeo(longitude=-86.46222, latitude=33.94954, provider='google', API='your API key')

The same is true for Bing if you're using v.12 (available from GitHub):

library('revgeo')

# Example: revgeo(longitude=-86.46222, latitude=33.94954, provider='bing', API='your API key')

There are a couple of neat things you can do with revgeo(). The default return is an address string:

library('revgeo')

# Example: revgeo(-77.016472, 38.785026)
# Returns: "146 National Plaza, Fort Washington, Maryland, 20745, United States of America"

You can use output='hash' to return a hashed string and output='frame' to return a dataframe with seperate columns for house numbers, streets, cities, counties, states, countries, and postal codes.

library('revgeo')

# Example: result <- revgeo(-77.016472, 38.785026, output="frame")
# Returns: data frame (result) with names(result) equal to 'housenumber', 'street', 'city', 'county', 'state', and 'country'.

You can also use output='hash' or output='frame' with item='housenumber', 'street', 'city', 'county', 'state', and 'country' to return any one of those values.

library('revgeo')

# Example: revgeo(-77.016472, 38.785026, output='hash', item='zip')
# Returns: "20745"

The Revgeo package is still very much a work in progress, so please send any comments or issues to the 'issues' section above.

You can find documentation on the Google Maps API at: https://developers.google.com/maps/documentation/geocoding/start.

You can find documentation on the Photon API at: http://photon.komoot.de/.

You can find documentation on the Bing API at: https://www.bingmapsportal.com/.

This package started as an extension to RPhoton/geocode to enable reverse geocoding with Photon, but it's since turned into a complete rewrite, with the added benefit of being able to use the Google Maps API and the Bing API without having to load multiple libraries. If you'd like to geocode an address with Photon (and not reverse geocode latitude/longitude coordinates), you can easily use their library at https://github.com/rCarto/photon/blob/master/R/geocode.R.

I'll try to get around to including standard geocoding in this package, but it isn't a promise.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].