Everything Java Apache Geospatial Open Source. Hello Shinning Stars!!! Vincent Massol, Raphael Luta, Santiago Gala, Carsten Z.

Tuesday, November 28, 2006

Marvellous discovery. The GPX format. An xml schema for GPS data. I just used it with my GPS. A garmin legend c. To sample this out I used Debian 3.1 and an excellent tool called gpsbabel version 1.3.2. It worked right out of the box.

sudo apt-get install gpsbabel

sudo gpsbabel -t -r -w -i garmin -f usb: -o gpx -F gironde.gpx

The format stores way points with latitude longitude name description current time symbols and elevation.

Tracks are stored as track segments with track points containing the latitude longitude time and elevation.

Sunday, November 26, 2006

Thursday, November 23, 2006

Emulating Windows XP on Linux using QEMU

Quoting the quickstart guide.

Create an virtual Harddrive

qemu-img create -f qcow windowsxp.img 3G

Install Windows XP

qemu -cdrom /dev/cdrom -hda windowsxp.img -m 256 -boot d

This command means to boot from the d drive using 256 megabytes of RAM. The -cdrom option indicates where to find the device.

Networking is configured by default and Windows XP should configure itself with DHCP.
OpenSuSE 10.1 Network Install on AMD 64 Athalon

Requirements

cdrom read write
network connection

Prepare the CD

Download, write, and boot from the miniiso.

Specify Resource

At the boot menu type,

install=http://ftp.opensuse.org/pub/opensuse/distribution/SL-10.1/

Sunday, November 19, 2006

Great News! Apache talks to Tomcat through the AJP proxy. Check out mod_proxy_ajp. To enable this great service add the following to your httpd.conf file.

ProxyPass /jetspeed ajp://127.0.0.1:8009/javacontext
Geospatial data units, commonly refered to as features, can be related to one another in one of three fundamental ways. Mutually exclusive meaning that there is no space common to both features, partially inclusive meaning that each feature overlaps the other but not entirely. They occupy space that is both common and unique to one another. And all inclusive meaning one feature si defined entirely within the bounds of the other. Points, lines and polygons can relate to polygons in this way. Yet lines can only intersect one another. Points can be part of a line and can be included in a polygon or be part of the polygons bound definition.

Thursday, November 16, 2006

I've been doing alot of security lately and I need to backup some derby databases from one machine to another. The backup strategy is simple create an compressed archive and copy it using a secure connection to another machine. I'm documenting the process here. I want to backup a directory found at /path/parent/data. And I want the archive to maintain the directory data so that when it is expanded it writes one directory data and all the contents below it.

cd /path/parent
tar czf /tmp/data-`date +%j`.tar.gz data

The archive name is created with a %j indicating the day of the year. Therefore maintaining a year of backups. The next year will start to overwrite previous backups.

Then we want to copy the data to a remote machine. A secure encrypted copy can be sent to the remote machine. But in order to incorporate this in a cron job the remote machine must accept a password-less connection. These are the steps to generate the key. Run ssh-keygen without providing a passphrase.

ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub remoteuser@remotemachine:.ssh/authorized_keys2

Now remote connections can be made without providing a password. Meaning the remote machine trusts the local machine.

Tuesday, November 14, 2006

OpenSSL

sudo openssl genrsa -des3 -out domainname.key 1024
sudo openssl rsa -noout -text -in domainname.key
sudo openssl req -new -key domainname.key -out domainname.csr
sudo openssl req -noout -text -in domainname.csr

Monday, November 13, 2006

Setting up an Apache2 SSL and SuSE 10 Firewall

Setting the SuSEfirewall2 to accept https connections requires a modification to /etc/sysconfig/SuSEfirewall2.

FW_SERVICES_EXT_TCP="ssh www 443 8888"

This definition allows the Internet to connect via ssh http https and a backdoor tomcat server. Apply the new rules with,

sudo /sbin/SuSEfirewall2 start

Configuring the Default SuSE Apache 2.2 SSL

Useful guides can be found in /usr/share/doc/packages/apache2. Check out README, README.QUICKSTART, README.QUICKSTART.SSL and README.SUSE.

Define a NameVirtualHost in /etc/apache2/listen.conf

NameVirtualHost www.example.com:443

Enable the ssl configuration by copying /etc/apache2/vhosts.d/vhosts-ssl.template to vhosts-ssl.conf (only files with the extension conf will be read). Change the line with _default_ as indicated below.





Create a Test Certificate

cd /usr/share/doc/packages/apache2
sudo ./certificate.sh

Restart Apache

sudo /etc/init.d/apache2 restart

Friday, November 10, 2006

Using Ajax Dojo Toolkit
  • The first difficulty was finding out what onClick event was being called when I clicked a checkbox. (Turns out to be some event listener addition)
  • Code that got things working:


dojo.event.connect(portletsTable, "updateEditor", updateEditor );
dojo.event.connect(portletsTable, "saveEntrySubmit", saveEntrySubmit );
dojo.event.connect(portletsTable, "clearAndDisableEditor", clearAndDisableEditor );
portletsTable.getNewEntryPrototype = getNewEntryPrototype;
var data = [] ;
##foreach($p in $portletPermissions)
//data.push( { name: "$p.Permission.Name", actions: "$p.Permission.Actions", roles: "$p.Roles", Id: $velocityCount } );
##end
data.push( { name: "Xin603 1", actions: "192.168.0.1", roles: "EF:E2:D5:6A:4B:44", Id: 1 } );
data.push( { name: "Xin603 2", actions: "192.168.0.2", roles: "55:E1:D2:7A:4B:44", Id: 2 } );
data.push( { name: "Xin603 3", actions: "192.168.0.3", roles: "55:A1:2D:A2:41:34", Id: 3 } );
portletsTable.js_masterdata = data;
portletsTable.js_type = "portlet";

Thursday, November 09, 2006

Debian Unstable
I've taken the leap into debian unstable territory. I needed a new version of gcc. Newer than 3.3.4. Stepping closer to the edge. The contents of my sources.list has changed to:

deb ftp://ftp2.fr.debian.org/debian/ stable main
deb-src ftp://ftp2.fr.debian.org/debian/ stable main
deb http://security.debian.org/ stable/updates main
p

Monday, November 06, 2006

MapServer - ODBC - OGR - Postgresql 7.4.7

I'll have to admit that this is not cutting edge mapping, but it is platform independent using php4, unixodbc, and apache. It works on Linux and works on Windows. The objective here is to get map plotting working. Scalability and security are assured by using a relational database.

OGR

OGR is a vendor independent geospatial data access library included with gdal.

Simplify Data

To illustrate properly map plotting of point data such as addresses we have set up a database table containing longitude and latitude data.

Map Server

Map Server is configured to read from the database and display custom icons for point data.

OGR Configuration





ODBC:postgres/password@pg


MappingPlot



wkbPoint



MapFile Configuration

The following configuration lets the user plot different icons given the value of icon_id. The layer will only display icons from the mapping_plot table where parameters_id is equal to 1. This is achieved using the FILTERITEM and FILTER keywords. Labels are shown from the tables remarks column.

LAYER
NAME "MapPlottingbob"
CONNECTION "conf/MapPlotting.ovf"
CONNECTIONTYPE OGR
STATUS ON
TYPE POINT
DATA mapping_plot
CLASSITEM icon_id
FILTERITEM "parameters_id"
FILTER "1"
LABELITEM "remarks"


CLASS
EXPRESSION "1"
SYMBOL "/home/phil/liveaxis/src/rose-0.3.7/graphics/crime.png"

STYLE
COLOR 0 0 0
END

LABEL
MINFEATURESIZE 40
MINDISTANCE 150
POSITION UR
SIZE MEDIUM
COLOR 0 0 255
END
TEMPLATE "templates/MappingPlot/MappingPlot.html"
END

CLASS
EXPRESSION "2"
SYMBOL "/home/phil/liveaxis/src/openaddress/src/plotting/icons/1.gif"

STYLE
COLOR 0 0 0
END

LABEL
MINFEATURESIZE 40
MINDISTANCE 150
POSITION UR
SIZE MEDIUM
COLOR 0 0 255
END
TEMPLATE "templates/MappingPlot/MappingPlot.html"
END

CLASS
EXPRESSION "3"
SYMBOL "/home/phil/liveaxis/src/openaddress/src/plotting/icons/2.gif"

STYLE
COLOR 0 0 0
END

LABEL
MINFEATURESIZE 40
MINDISTANCE 150
POSITION UR
SIZE MEDIUM
COLOR 0 0 255
END
TEMPLATE "templates/MappingPlot/MappingPlot.html"
END

HEADER "templates/MappingPlot/MappingPlot_header.html"
FOOTER "templates/MappingPlot/MappingPlot_footer.html"

END

Thursday, November 02, 2006

Setting the date on Linux

sudo date --set='+1 hours'