Giter Site home page Giter Site logo

fagi-gis's Introduction

The FAGI-gis repository is now under SLIPO-EU project.

FAGI-gis is a tool developed, mainly, to facilitate the fusion of interlinked RDF entities containing spatial data. It is designed to retrieve data through SPARQL endpoints. This allows for FAGI-gis to operate on already existing and publicly available datasets without the need for any special formatting or input. It also supports the fusion and handling of other, non-spatial metadata related to these entities. A detailed user guide for FAGI-gis is also provided for further reference.

The user provides the tool with two source datasets and a list of linked entities between them, either in file format or through an available SPARQL endpoint. The tool analyzes the datasets, discovering how geometric information is stored along with their accompanied metadata. Knowing the data structure, FAGI-gis offers the user various options and recommendations for fusing each entity pair into a new, fused, richer entity.

FAGI-gis consists of two components, namely, fagi-gis-cli and fagi-gis-service. The first offers a command line interface for basic fusion functionality and the latter provides a full fledged interactive user interface for advanced previewing and fusion actions on geometric data and their metadata.

On Linux, FAGI-gis comes as part of the GeoKnow Generator and the latest stable version can be installed through the ldstack repository. After, setting up the generator' s repository, a simple

sudo apt-get install fagi-gis-common fagi-gis fagi-gis-service

will install the tool on your local machine.

On Windows, there is an installer that comes with all the required components. The installer offers to create three shortcuts on the Desktop and it is strongly recommended to accept them for ease of use.

  1. A shortcut for starting tomcat7 (Currently requires to be Run As Administrator)
  2. A shortcut to start the provide Virtuoso triple store (Currently requires to be Run As Administrator)
  3. A shortcut to the FAGI-gis web interface

Upon installation, FAGI-gis will be available at "http://localhost:port/fagi-gis-service".

The main interface consists of a menu bar and a map preview. The user supplies his data sources and is presented with several options to control the fusion process. Geometric information is previewed on the map at all stages.

##Manually Building FAGI-gis

Following is the set of dependency requirements. Mainly, FAGI-gis requires a Virtuoso Quad Store to handle the information in RDF format and a Postgres/Postgis installation for the geospatial data.


##Dependencies

  • FAGI-gis is compatible with virtuoso-opensource-7.1 and 7.2, Postgresql-9.3 and tested in Linux x64 Mac OS X 10.6+ and Windows 7.
  • The latest Virtuoso is provided in binary form for Windows and needs to be compiled from source on Linux and Moac OS X. Both can be found on the Virtuoso-opensource github page
  • FAGI-gis uses wordnet for schema matching regarding the metadata fusion, and needs to be installed on your system:
    1. Linux sudo apt-get install wordnet.
    2. Mac OS X requires a custom build of Wordnet which requires an existing X11 installation.
    3. Windows support an older version of Wordnet which can be downloaded from here
  • FAGI-gis requires an existing installation of Apache Tomcat 7 for the web interface.
  • Install PostgreSQL with postgis extension:
    1. Linux sudo apt-get install postgresql-9.3-postgis-2.1 -f.
    2. Windows: download PostgreSQL from here and install it along with the postgis extension.

##Building Instructions

Both projects are maintained using MAVEN. fagi-gis-service depends on fagi-gis lib

  • Command line:

    1. Download or checkout the FAGI-gis repo at a path of your choice:
      git clone https://github.com/GeoKnow/FAGI-gis targetDir
    2. Install in local maven repo the following two jars (not provided by maven repository).
    • Download: Virtuoso Jena 2.10.x Provider JAR file and Virtuoso JDBC 4 Driver JAR file that are provided [here] (https://github.com/GeoKnow/FAGI-gis/tree/develop/fagi-gis/lib)

    • Run:
      mvn install:install-file -Dfile=/path/to/virt_jena2.jar -DgroupId=virtuoso.jena.driver -DartifactId=virtjena -Dversion=2 -Dpackaging=jar

      • Run:
        mvn install:install-file -Dfile=/path/to/virtjdbc4.jar -DgroupId=virtuoso -DartifactId=vjdbc41 -Dversion=4.1 -Dpackaging=jar
    1. Go to /path/to/targetDir/fagi-gis and build the project by running:
      mvn package
    2. Go to /path/to/targetDir/fagi-gis-service and build the project by running:
      mvn package
  • Netbeans:

    1. Download or checkout the FAGI-gis repo at a path of your choice as above:
      git clone https://github.com/GeoKnow/FAGI-gis targetDir
    2. In Netbeans, File -> Open Project.
      Browse and choose fagi-gis and fagi-gis-service and click OK.
    3. Install the missing jars locally:
    • Download the two jars from the links provided above.
    • Click on the dependencies of the project, find the two missing jars, right click on them and then click "Manually install artifact".
    • Browse to the location of the jars and click OK.
    1. Click "Build Project".

After building the tools

#FAGI-gis Web Interface version

  1. Add the produced fagi-gis-service.war (available in FAGI-gis/bin) in your Apache Tomcat 7 webapps directory.
  2. Open your browser at "http://localhost:port/fagi-gis-service" and use the FAGI-gis Interface!

#FAGI-gis Command Line version

  1. Open the fusion.conf file and provide the appropriate configuration,
  2. Go to fagi-gis/target from terminal and run:
    java -jar fagi-gis -c /path/to/fusion.conf

#Licence


The source code of this repo is published under the Apache License Version 2.0

fagi-gis's People

Contributors

vineek avatar nkaragiannakis avatar giorgosgiannopoulos avatar

Watchers

James Cloos avatar GIS Map avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.