Nothing fancy. Just a scratchboard for Open Source Geospatial manipulations. Involves (although not limited to) Linux, R, gdal, Quantum GIS, Geoserver etc.
Wednesday, April 25, 2012
Syntax highlighting in Blogger with SyntaxHighlighter
http://www.craftyfella.com/2010/01/syntax-highlighting-with-blogger-engine.html
Wednesday, March 21, 2012
Compiling source code of netcdf4 on linux
First obtain szip libraries (from the link at http://www.hdfgroup.org/HDF5/release/obtain5.html)
wget http://www.hdfgroup.org/ftp/lib-external/szip/2.1/src/szip-2.1.tar.gz
tar -xzvf szip-2.1.tar.gz
cd szip-2.1
./configure --prefix=/home/acizmeli/opt
wget http://www.hdfgroup.org/ftp/lib-external/szip/2.1/src/szip-2.1.tar.gz
tar -xzvf szip-2.1.tar.gz
cd szip-2.1
./configure --prefix=/home/acizmeli/opt
make
make test
make install
Then obtain the hd5 source code (again from http://www.hdfgroup.org/HDF5/release/obtain5.html)
wget http://www.hdfgroup.org/ftp/lib-external/szip/2.1/src/szip-2.1.tar.gz
tar -xzvf hdf5-1.8.8.tar.gz
cd hdf5-1.8.8
./configure --prefix=/home/acizmeli/opt --with-szlib=/home/acizmeli/opt/
(make sure that ./configure has recognized the szip libraries)
make
(or for parallel compilation : ) make -j -16
make install
Then obtain the netcdf4 source :
wget http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.2.tar.gz
tar -xzvf netcdf-4.2.tar.gz
cd netcdf-4.2
CPPFLAGS=-I/home/acizmeli/opt/include/ LDFLAGS=-L/home/acizmeli/opt/lib ./configure --prefix=/home/acizmeli/opt/
make
make install
If there is a doxygen error, try adding --disable-doxygen
Sunday, March 11, 2012
Find nearest neighbours in a point cloud
From http://rwiki.sciviews.org/doku.php?id=tips:spatial-data:overlapping
library(spdep) data(columbus) #Extract coordinates from a data frame coords <- columbus[,c("X", "Y")] #For each point, determine the four closest points based on great circle distances: knn.col <- knearneigh(as.matrix(coords), k=4, longlat=T) knn.nb <- knn2nb(knn.col) #What are the indices of the four nearest neighbours to point number 5? knn.col$nn[5,] #Equivalently: knn.nb[[5]] #Plot all points, then mark point number 5 by red, and its four nearest neighbours by blue: plot(coords) points(coords[5,], col="red", pch=19) points(coords[knn.nb[[5]],], col="blue", pch=19)
Some beginner tricks with git
#################################################
Problem : error: Your local changes to the following files would be overwritten by merge: rfiles/BiOpticaR/Various/spacetime_ISIN.R
Please, commit your changes or stash them before you can merge.Aborting
#################################################
$ git pull
remote: Counting objects: 38, done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 25 (delta 13), reused 1 (delta 0)
Unpacking objects: 100% (25/25), done.
From ssh://ekumen/home/acizmeli/GIT
d63ba8f..cea6b9e master -> origin/master
Updating d63ba8f..cea6b9e
error: Your local changes to the following files would be overwritten by merge:
rfiles/BiOpticaR/Various/spacetime_ISIN.R
Please, commit your changes or stash them before you can merge.
Aborting
Solution:
$ git reset --hard HEAD
HEAD is now at d63ba8f Moved all netcdf imagery functions in the fil......
$ git pull
#################################################
Problem : Push rejected
! [rejected] master -> master (non-fast forward)
error: failed to push some refs to.....
#################################################
Solution:
(From http://rip747.wordpress.com/2009/04/20/git-push-rejected-non-fast-forward/)
When trying to do a push to a repo, you might encounter the following error:
$ git push github master
#################################################
Problem : Automatic merge failed; fix conflicts and then commit the result.
#################################################
use :
git mergetool
Problem : error: Your local changes to the following files would be overwritten by merge: rfiles/BiOpticaR/Various/spacetime_ISIN.R
Please, commit your changes or stash them before you can merge.Aborting
#################################################
$ git pull
remote: Counting objects: 38, done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 25 (delta 13), reused 1 (delta 0)
Unpacking objects: 100% (25/25), done.
From ssh://ekumen/home/acizmeli/GIT
d63ba8f..cea6b9e master -> origin/master
Updating d63ba8f..cea6b9e
error: Your local changes to the following files would be overwritten by merge:
rfiles/BiOpticaR/Various/spacetime_ISIN.R
Please, commit your changes or stash them before you can merge.
Aborting
Solution:
$ git reset --hard HEAD
HEAD is now at d63ba8f Moved all netcdf imagery functions in the fil......
$ git pull
#################################################
Problem : Push rejected
! [rejected] master -> master (non-fast forward)
error: failed to push some refs to.....
#################################################
Solution:
(From http://rip747.wordpress.com/2009/04/20/git-push-rejected-non-fast-forward/)
When trying to do a push to a repo, you might encounter the following error:
$ git push github masterDon’t panic, this is extremely easy to fix. All you have to do is issue a pull and your branch will be fast-forward:
To git@gitproxy:rip747/cfwheels.git
! [rejected] master -> master (non-fast forward)
error: failed to push some refs to ‘git@gitproxy:rip747/cfwheels.git’
$ git pull github masterThen retry your push and everything should be fine:
From git@gitproxy:rip747/cfwheels
* branch master -> FETCH_HEAD
Already uptodate!
Merge made by recursive.
$ git push github master
#################################################
Problem : Automatic merge failed; fix conflicts and then commit the result.
#################################################
use :
git mergetool
Wednesday, March 7, 2012
Some time conversions in R
Form a "POSIXlt" object from a string :
Compute the seconds since 1970 ((Internal storage format of the "POSIXlt" class)
Compute the days since 1970 (Internal storage format of the "Date class)
Convert an xts object into seconds since 1970
Convert an xts object into days since 1970
Construct a time object from different numeric components
Extract from a POSIXlt object the Year, month, day etc information in numeric format :
tt = strptime("20100101","%Y%m%d", tz="GMT")
Compute the seconds since 1970 ((Internal storage format of the "POSIXlt" class)
as.double(tt)
Compute the days since 1970 (Internal storage format of the "Date class)
as.double(as.Date(tt))or
unclass(as.Date(tt))
Convert an xts object into seconds since 1970
xx = xts(111, tt) as.double(time(xx))
Convert an xts object into days since 1970
floor(as.double(time(xx))/60/60/24)
Construct a time object from different numeric components
ISOdatetime(year, month, day, hour, min, sec, tz = "")
Extract from a POSIXlt object the Year, month, day etc information in numeric format :
class(a) [1] "POSIXlt" "POSIXt" a [1] "2009-07-06 20:00:28" c(a$year+1900, a$mon+1, a$mday, a$hour, a$min, a$sec) [1] 2009 7 6 20 0 28
Convert a ESRI shapefile into GMT vector format
Use ogr2ogr to convert the shapefile into GMT vector format :
ogr2ogr -f "GMT" Hudson_bounds.gmt Hudson_bounds.shp
ogr2ogr -f "GMT" Hudson_bounds.gmt Hudson_bounds.shp
Wednesday, February 29, 2012
Switch the layout of your keyboards
Handy switch if you need to change regularly between layouts of keyboards.
Setxkbmap is a tool to set the keyboard layout. In the options of the tool you're allowed to set a switch.
sets the keyboard to belgium (be) and with alt+shift I can switch to a us layout.
You can find the explanation for the coding in:
You might want to execute this command autocratically on login, so you don't have to type it all the time again.
create a file "setxkbmap.desktop" in "~/.config/autostart/"
and enter the setxkbmap command
this file will be run every time you login to your system
Setxkbmap is a tool to set the keyboard layout. In the options of the tool you're allowed to set a switch.
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll be,us
sets the keyboard to belgium (be) and with alt+shift I can switch to a us layout.
You can find the explanation for the coding in:
/usr/share/X11/xkb/rules/xorg.lst
You might want to execute this command autocratically on login, so you don't have to type it all the time again.
create a file "setxkbmap.desktop" in "~/.config/autostart/"
nano ~/.config/autostart/setxkbmap.desktop
and enter the setxkbmap command
[Desktop Entry] Encoding=UTF-8 Name=sertxkbmap GenericName=set keyboard layout Comment=Switch with alt+shift the layout of your keyboard Exec=setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll be,us
this file will be run every time you login to your system
Subscribe to:
Posts (Atom)