.. | ||
sql | ||
test | ||
LICENSE.md | ||
README.md |
IP address geocoder
Function
Receives an array of IP addresses (both IPv4 and IPv6) and returns a point geometry for each input if the geocoding process is successful.
Usage example
SELECT geocode_ip(Array['1.0.16.0', '::ffff:1.0.16.0'])
Creation steps
- Create the
ip_address_locations
table - Obtain the file from http://geolite.maxmind.com/download/geoip/database/GeoLite2-City-CSV.zip
- Uncompress it and upload the
GeoLite2-City-Blocks-IPv4.csv
file - Rename the uploaded table as
latest_ip_address_locations
- Run the
sql/build_data_table
script to update the table
Tables
ip_address_locations
This table, obtained from GeoLite and curated with sql/build_data_table
contains a list of IP addresses and their location.
Table structure
Table "public.ip_address_locations"
Column | Type | Modifiers | Storage
----------------------+--------------------------+---------------------------------------------------------------------------+---------
network_start_ip | inet | | main
the_geom | geometry(Geometry,4326) | | main
cartodb_id | integer | not null default nextval('geolite2_city_blocks_cartodb_id_seq'::regclass) | plain
created_at | timestamp with time zone | not null default now() | plain
updated_at | timestamp with time zone | not null default now() | plain
the_geom_webmercator | geometry(Geometry,3857) | | main
Current indexes
Indexes:
"geolite2_city_blocks_pkey" PRIMARY KEY, btree (cartodb_id)
"geolite2_city_blocks_the_geom_idx" gist (the_geom)
"geolite2_city_blocks_the_geom_webmercator_idx" gist (the_geom_webmercator)
"idx_ip_address_locations_start" btree (network_start_ip)
Response data types
- geocode_ip_v1:
CREATE TYPE geocode_ip_v1 AS (q TEXT, geom GEOMETRY, success BOOLEAN);
Data Sources
- GeoLite2 open source database Created by MaxMind -
http://dev.maxmind.com/geoip/geoip2/geolite2/
Download the CSV Geolite2 City
- Coverage: global
- Geometry type: point
Testing
In order to test the data and the functions created under the script avaialble in this folder, you will need to run bash test.sh
from test/data
and test/functions
.
Known issues
Historic:
- [01/12/2015]:
- Removed geocoder function. Check /extensions instead.
- [19/10/2015]:
- Updates README and adds usage example and definition of the service
- [08/10/2015]:
- Added response data types
- [14/07/2015]:
- Added tests
- [24/06/2015]:
- Update readme.md: Adds Known issues section
- Supervised function available in
geocoder.sql
- [23/06/2015]:
- Updates
README.md
: adds testing and table structure sections. Updates creation steps - Adding test structure for IP addresses geocoder
- Updates