You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Introduction

Apache SIS is a spatial framework that enables better representation of coordinates for searching, data clustering, archiving, or any other relevant spatial needs. SIS is undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.

Downloading & Building SIS

The latest released source code can be obtained by visiting the downloads page. You can download the 'apache-sis-src.tar.gz' archive and run the following commands to unpack it to a local folder, for example as follows:

mkdir /usr/local/src
mkdir /usr/local/src/sis-site
tar xzvf apache-sis-src.tar.gz -C /usr/local/src/sis-site

You can also check out the latest code from the SIS Subversion repository. Below is an example command to get the latest code and copy it to folder /usr/local/src/sis-site:

mkdir /usr/local/src
svn checkout http://svn.apache.org/repos/asf/incubator/sis/trunk /usr/local/src/sis-site

SIS is based on Java 5 and uses the Apache Maven (version 2) build system. Once you have obtained the source files, to build SIS, run the following command from within the top source directory (e.g. /usr/local/src/sis-site):

mvn clean install

Eclipse Integration

svn co https://svn.apache.org/repos/asf/sis/trunk/ sis-site
cd sis-site 
mvn test   # this will deploy the test resources and download and build necessary libraries
mvn eclipse:eclipse  

Open eclipse in a new workspace.
Go to Eclipse->Preferences->General->Workspace
Change Text file encoding to Other: UTF-8, Apply, Ok

Go to File-> Import -> General -> Existing Projects in Workspace
Choose the sis directory and import

NetBeans Integration

See https://builds.apache.org/job/sis-trunk/site/develop.html.

Running The SIS Web Application

The build consists of a number of components, including a web-based application that you can use to try out SIS features. Below are some instructions on how to set up the web application on various different servers.

Running on Jetty

Jetty is now supported as of 11th February 2012. After building SIS, navigate to the sis-webapp directory. To run the built-in Jetty server, run the following command:

mvn jetty:run

Running on Tomcat

There are several different versions of Apache Tomcat available, each with different requirements for installing web applications. For more details, please refer to the documentation for the specific version of Tomcat that you're running. Below is a set of instructions for a very simple installation on Tomcat 7. In the following examples, please replace $TOMCAT_HOME with the location of your Tomcat 7 installation.

Shut down Tomcat if it's already running:

$TOMCAT_HOME/bin/shutdown.sh

Copy the SIS web application from the SIS build directory to the Tomcat web applications directory. The SIS web application can be found in the 'sis-webapp/target' directory within your SIS source directory. The web applications directory for Tomcat 7 is by default '$TOMCAT_HOME/webapps'. For example, the following command will copy the SIS web application directory to the Tomcat webapps directory and rename it to 'sis'.

cp -R /usr/local/src/sis-site/sis-webapp/target/sis-webapp /$TOMCAT_HOME/webapps/sis

Create the following directories to store data returned from SIS queries. These can be created anywhere you like. The example below creates them within the SIS webapp directory:

mkdir $TOMCAT_HOME/webapps/sis/qtree
mkdir $TOMCAT_HOME/webapps/sis/geodata

Edit the '$TOMCAT_HOME/webapps/sis/WEB-INF/web.xml' file and add references to your data directories as follows:

<context-param>
  <param-name>org.apache.sis.services.config.qIndexPath</param-name>
  <param-value>/$TOMCAT_HOME/webapps/sis/qtree</param-value>
</context-param>

<context-param>
  <param-name>org.apache.sis.services.config.geodataPath</param-name>
  <param-value>/$TOMCAT_HOME/webapps/sis/geodata</param-value>
</context-param>

Modify the parameter for 'org.apache.sis.services.config.filePath' to point to the location of your 'sis-location-config.xml' file. By default, this is located in the 'WEB-INF/classes' directory of the SIS web application:

<context-param>
  <param-name>org.apache.sis.services.config.filePath</param-name>
  <param-value>/$TOMCAT_HOME/webapps/sis/WEB-INF/classes/sis-location-config.xml</param-value>
</context-param>

You can use the 'sis-location-config.xml' file to configure the RSS feeds that SIS will process. Feeds can be added by inserting their URLs into the 'sis-location-config.xml' file between <url> ... </url> tags, as in the following example:

<url>http://earthquake.usgs.gov/earthquakes/catalogs/shakerss.xml</url>

After making the above changes to the SIS web application configuration files, restart Tomcat with the following command:

$TOMCAT_HOME/bin/startup.sh

Demonstration

A demonstration is included with the SIS webapp. The 'demo.jsp' file can be found in the sis-webapp top level folder. It can be accessed via a web browser by navigating to http:////demo.jsp, where <host> is the address of your chosen server and <webapp> is the name of the top level SIS webapp directory, for example http://localhost:8080/sis/demo.jsp.

On loading the page, you should see the Apache SIS logo, a simple form and a map. Use the form to enter some queries and return results from RSS feeds to SIS on the map. Below are two example queries to try:

Bounding Box:

Lower Left: Latitude: 0, Longitude: 50
Upper Right: Latitude: 50, Longitude: 100
Point Radius:

Latitude: 0
Longitude: 80
Radius: 400km

Mailing Lists

Discussion about SIS takes place on the following mailing lists:

  • sis-user@incubator.apache.org - about using SIS
  • sis-dev@incubator.apache.org - about developing SIS
  • sis-commits@incubator.apache.org - notifications on all code changes for SIS

The mailing lists are open to anyone and publicly archived.

Issue Tracker

If you encounter errors in SIS or want to suggest an improvement or a new feature, please visit the SIS issue tracker. There you can also find the latest information on known issues and recent bug fixes and enhancements.

  • No labels