All Projects → Novetta → CLAVIN-rest

Novetta / CLAVIN-rest

Licence: Apache-2.0 license
A Spring Boot microservice that serves the CLAVIN (https://github.com/novetta/CLAVIN) library for geo rectifying locations mentioned in text.

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects
CSS
56736 projects

Projects that are alternatives of or similar to CLAVIN-rest

CLAVIN-NERD
Stanford NLP Implementation of the CLAVIN LocationTagger
Stars: ✭ 22 (+37.5%)
Mutual labels:  geoparsing, geonames, geolocation, gazetteer, geotagging, georesolution
WhatsMissingInGeoparsing
The accompanying code and data for the Springer 2017 publication "What's missing in geographical parsing?" in Language Resources and Evaluation.
Stars: ✭ 15 (-6.25%)
Mutual labels:  geoparsing, geonames, geotagging
Xponents
Geographic Place, Date/time, and Pattern entity extraction toolkit along with text extraction from unstructured data and GIS outputters.
Stars: ✭ 39 (+143.75%)
Mutual labels:  geoparsing, geonames, geotagging
sigsby
Sistem Informasi Geografis (SIG) / GIS Wisata Kota Surabaya Berbasis Web - www.firstplato.com
Stars: ✭ 23 (+43.75%)
Mutual labels:  geolocation, geotagging
Geocoding-with-Map-Vector
Resources for the ACL 2018 publication "Which Melbourne? Augmenting Geocoding with Maps", published in July 2018.
Stars: ✭ 24 (+50%)
Mutual labels:  geoparsing, geolocation
lucene-geo-gazetteer
Uses Apache Lucene, OpenNLP and geonames and extracts locations from text and geocodes them.
Stars: ✭ 34 (+112.5%)
Mutual labels:  geonames, gazetteer
radiocells-nlp-android
radiocells.org Unified Network Location Provider
Stars: ✭ 35 (+118.75%)
Mutual labels:  geolocation
haversine-geolocation
Get distances between two points or get closest position to current point. Based on the Haversine Formula
Stars: ✭ 20 (+25%)
Mutual labels:  geolocation
FakeGPS
[NOT MAINTAINED] FakeGPS driver for Windows
Stars: ✭ 85 (+431.25%)
Mutual labels:  geolocation
df-aggregator
Networked DFing software that can handle multiple DOA receivers.
Stars: ✭ 47 (+193.75%)
Mutual labels:  geolocation
AppleWifiNlpBackend
UnifiedNlp Backend that uses Apple's service to resolve wifi locations. Location calculation is done onboard and wifi locations are cached to minimize data usage.
Stars: ✭ 54 (+237.5%)
Mutual labels:  geolocation
geodist
Golang package to compute the distance between two geographic latitude, longitude coordinates
Stars: ✭ 133 (+731.25%)
Mutual labels:  geolocation
lala
🌎 Analyze and generate reports of web logs (NGINX)
Stars: ✭ 59 (+268.75%)
Mutual labels:  geolocation
CiLocks
Crack Interface lockscreen, Metasploit and More Android/IOS Hacking
Stars: ✭ 1,033 (+6356.25%)
Mutual labels:  geolocation
tinygeoip
🐉 tiny geoip microservice
Stars: ✭ 13 (-18.75%)
Mutual labels:  geolocation
loc
🌍 Helps anyone play with locations
Stars: ✭ 17 (+6.25%)
Mutual labels:  geolocation
ip2location-csv-converter
This PHP script converts IP2Location CSV database into IP range or CIDR format.
Stars: ✭ 26 (+62.5%)
Mutual labels:  geolocation
GeoParser
Extract and Visualize location from any file
Stars: ✭ 48 (+200%)
Mutual labels:  gazetteer
ip2location-nginx
Nginx module that allows user to lookup for geolocation information using IP2Location database.
Stars: ✭ 33 (+106.25%)
Mutual labels:  geolocation
world-cities-mongodb
A free world cities database
Stars: ✭ 29 (+81.25%)
Mutual labels:  geolocation

CLAVIN

CLAVIN-Rest Master

License

CLAVIN Rest

We have updated the CLAVIN REST server to use Spring Boot. The port and HTTP methods remain unchanged, but we did update the API version. So whereas prior you would go to http://localhost:9090/api/v0/geotag, you will now go to http://localhost:9090/api/v1/geotag. The application now has a application.yml file that contains the available settings. Here are the instructions for getting up and running.

Download the CLAVIN Rest Project

git clone https://github.com/Novetta/CLAVIN-rest.git
cd CLAVIN-rest

Download Geonames

curl -O http://download.geonames.org/export/dump/allCountries.zip

Unzip Geonames

unzip allCountries.zip

Inspect the application.yml

Look at (and edit if you so choose) the default configuration settings contained within the application.yml.

Build the CLAVIN Rest jar

You'll need to skip the integration tests to build the jar, so that you can build your geonames gazetteer.

mvn clean package -Dmaven.test.skip=true

Create a CLAVIN gazetteer

java -Xmx4096m -Dspring.profiles.active=Build -jar target/clavin-rest.jar

Run the Integration Tests

Now that you've built the index, you can run the integration tests if you so choose.

mvn clean package

Run the CLAVIN Rest server

java -Xmx2048m -jar target/clavin-rest.jar 

Geotag an article

From within the clavin-rest project, run the following curl command to retrieve all relevant geonames data for each location:

curl -s --data @src/test/resources/Somalia-doc.txt --header "Content-Type: text/plain" http://localhost:9090/api/v1/geotag

From within the clavin-rest project, run the following curl command to retrieve minimized geonames data for each location:

curl -s --data @src/test/resources/Somalia-doc.txt --header "Content-Type: text/plain" http://localhost:9090/api/v1/geotagmin	

CLAVIN Rest web page

You can also see a very rudimentary web page by going to http://localhost:9090. Copy and paste the Somalia-doc.txt file contents into the text area, and hit submit. You'll wait for a few seconds (there is no loader to let you know its working), and voila! The map will be populated, and the resulting JSON will appear below the map.

CLAVIN Rest docker image

To build a docker image, you'll need to first tar.gz the IndexDirectory that contains the indexed geonames gazetteer.

tar -czvf IndexDirectory.tar.gz IndexDirectory

With the IndexDirectory.tar.gz in the project root directory, you can simply run the following command to build the Docker container.

mvn dockerfile:build 

To run the image in the foreground, you would then simply issue the docker run command. Or add the -d flag to detach and run in the background.

docker run -p 9090:9090 clavin-rest:latest

Integration with Novetta AdaptNLP

CLAVIN-Rest 1.0 using CLAVIN 3.0 can leverage AdaptNLP as a place name extractor. Doing so requires an instance of AdaptNLP running, and accessible to web calls. To use CLAVIN-Rest with AdaptNLP, you must edit com.novetta.clavin.rest.index.GeoNamesIndexService.java in CLAVIN-Rest:

Comment out this line:

extractor = new ApacheExtractor();

Uncomment this line and pass host and port information to AdaptNlpExtractor, or use the default constructor which points to 'localhost:5000'.

extractor = new AdaptNlpExtractor(host, port);

In the future, we'll make this all possible via configuration.

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].