I've been looking online to find some documentation on how to undertake this in PostGIS. Has anyone done it successfully, and if so, further willing to share code?
Best,
-dx
_______________________________________________
postgis-users mailing list
postgi...@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users
> Hi,
>
> I've been looking online to find some documentation on how to undertake this in PostGIS. Has anyone done it successfully, and if so, further willing to share code?
>
did you see http://punkish.org/Voronoi-Diagrams-In-PostGIS
--
Puneet Kishor
> That was one that I'd bookmarked, but I don't have PL/R installed. I'm on a Mac. I have Python and PHP handy, though! I also don't know PL/R, but I could try to learn it!
>
All my work is on a Mac. You don't have to "learn" PL/R, but you do have to install it. Installing it via Macports is the easiest, but you can also easily compile it yourself.
Once you get PL/R installed, it is just a matter of copying the code I have provided. Then, over time you can learn R. PL/R simply lets you right Postgres functions in R.
Can someone give me completely idiot-proof directions to installing PL/R on OS X Lion, assuming the Kyng Chaos versions of GDAL, etc. ?
-dx
| See the tutorials here: http://www.bostongis.com/PrinterFriendly.aspx?content_name=postgresql_plr_tut01 http://www.bostongis.com/PrinterFriendly.aspx?content_name=postgresql_plr_tut02 http://www.bostongis.com/PrinterFriendly.aspx?content_name=postgresql_plr_tut03 They may be of some help. Cheers, Brent Wood --- On Sat, 3/10/12, Dheeraj Chand <dhe...@dheerajchand.com> wrote: |
I did get your message re. problems with installing PL/R. I might be able to help you, but I am tied up in knots with another problem I am trying to solve right now, which I have to attend to right away.
Also, note that I didn't use pkg-config (I have no idea what that is). I simply downloaded the PL/R code from Joe Conway's web site and compiled it. There were a few errors mainly to do with wrong paths, and I went about fixing those as those were encountered (only 3 or 4, if I recall correctly). After that it compiled easily. Also, I use macports for my R, Postgres and PostGIS needs, so everything was in /opt/local/.
Soon as I get a moment free, I will try to dig up where all I made edits in the PL/R source, and put it up on my web site.
I don't use MacPorts or Homebrew for a long series of reasons that I'd rather not get into at the moment...So I had to use the Kyng Chaos installers and periodically compile from source when there's something that I need that doesn't have a binary installer.
When I downloaded Jon Conway's source, this was the error that I got, which was that it needed pkg-config. I suspect that Ports gave it to you already. So I tried installing pkg-config, and this is what I got...
I'm absolutely stymied!
-dx
Since you don't use Macports, I will be completely guessing as to the source of the problem. I have not used the Kyngchaos installers at all. My problem is the other way around -- I need way too much stuff, and I'd rather have a single overarching mechanism for installing software. So, I either hand roll everything or let someone else do it... Macports comes the closest to filling my need. Also, if I occasionally do have to install something by hand (case in point being PL/R), it seems to work ok with Macports.
Anyway -- I am assuming you have R installed correctly, although I do see a mysterious double slash in the path to R components, for example, /Library/Frameworks/R.framework/Resources//include and /Library/Frameworks/R.framework/Resources//lib
Second issue, `make install` won't work without `sudo` because you are trying to install in /usr/local/ which requires correct permissions. That is why you get "mkdir: /usr/local/pgsql-9.1/share/doc/extension: Permission denied"
Third, do you have `pkg-config` installed or not? Here is what I have
$which pkg-config
/opt/local/bin/pkg-config
$pkg-config --version
0.26
The pkg-config web site is http://www.freedesktop.org/wiki/Software/pkg-config
Hope the above gives you a few ideas.
>>> ..
> GENESISARK:~ dheerajchand$ echo $PATH
> /Users/dheerajchand/pear/bin/:/Applications/ImageMagick-6.7.2/bin:/Users/dheerajchand/Projects/src/pkgthings/bin/pkg-config:/usr/local/pgsql-9.1/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/opt/local/bin:/usr/local/mysql/bin
Try removing 'pkg-config' from /Users/dheerajchand/Projects/src/pkgthings/bin/pkg-config and make it /Users/dheerajchand/Projects/src/pkgthings/bin
Then do a `source ~/.bash_profile` to reload the path (or quit Terminal and launch it again), then do a `which pkg-config`
--
Puneet Kishor
1. Altering $PKG_CONFIG to just ../bin worked!
2. Fixed the issue with the R path.
That allowed the make to work, but the make install is still giving me errors. (Appended)
-dx
GENESISARK:plr dheerajchand$ pwd
/Users/dheerajchand/Projects/src/plr
GENESISARK:plr dheerajchand$ which pkg-config
/Users/dheerajchand/Projects/src/pkgthings/bin/pkg-config
GENESISARK:plr dheerajchand$ echo $PATH
/Users/dheerajchand/pear/bin/:/Applications/ImageMagick-6.7.2/bin:/Users/dheerajchand/Projects/src/pkgthings/bin:/usr/local/pgsql-9.1/bin:/Users/dheerajchand/pear/bin/:/Applications/ImageMagick-6.7.2/bin:/Users/dheerajchand/Projects/src/pkgthings/bin/pkg-config:/usr/local/pgsql-9.1/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/opt/local/bin:/usr/local/mysql/bin:/usr/local/mysql/bin
GENESISARK:plr dheerajchand$ USE_PGXS=1 make
sed 's,MODULE_PATHNAME,$libdir/plr,g' plr.sql.in >plr.sql
gcc -Os -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -D_FILE_OFFSET_BITS=64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -I"." -I"/Library/Frameworks/R.framework/Resources/include" -I/Library/Frameworks/R.framework/Resources/include -I. -I. -I/usr/local/pgsql-9.1/include/server -I/usr/local/pgsql-9.1/include/internal -I/usr/include/libxml2 -DPKGLIBDIR=\"/usr/local/pgsql-9.1/lib\" -DDLSUFFIX=\".so\" -DR_HOME_DEFAULT=\"/Library/Frameworks/R.framework/Resources\" -c -o plr.o plr.c
gcc -Os -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -D_FILE_OFFSET_BITS=64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -I"." -I"/Library/Frameworks/R.framework/Resources/include" -I/Library/Frameworks/R.framework/Resources/include -I. -I. -I/usr/local/pgsql-9.1/include/server -I/usr/local/pgsql-9.1/include/internal -I/usr/include/libxml2 -DPKGLIBDIR=\"/usr/local/pgsql-9.1/lib\" -DDLSUFFIX=\".so\" -DR_HOME_DEFAULT=\"/Library/Frameworks/R.framework/Resources\" -c -o pg_conversion.o pg_conversion.c
gcc -Os -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -D_FILE_OFFSET_BITS=64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -I"." -I"/Library/Frameworks/R.framework/Resources/include" -I/Library/Frameworks/R.framework/Resources/include -I. -I. -I/usr/local/pgsql-9.1/include/server -I/usr/local/pgsql-9.1/include/internal -I/usr/include/libxml2 -DPKGLIBDIR=\"/usr/local/pgsql-9.1/lib\" -DDLSUFFIX=\".so\" -DR_HOME_DEFAULT=\"/Library/Frameworks/R.framework/Resources\" -c -o pg_backend_support.o pg_backend_support.c
gcc -Os -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -D_FILE_OFFSET_BITS=64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -I"." -I"/Library/Frameworks/R.framework/Resources/include" -I/Library/Frameworks/R.framework/Resources/include -I. -I. -I/usr/local/pgsql-9.1/include/server -I/usr/local/pgsql-9.1/include/internal -I/usr/include/libxml2 -DPKGLIBDIR=\"/usr/local/pgsql-9.1/lib\" -DDLSUFFIX=\".so\" -DR_HOME_DEFAULT=\"/Library/Frameworks/R.framework/Resources\" -c -o pg_userfuncs.o pg_userfuncs.c
gcc -Os -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -D_FILE_OFFSET_BITS=64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -I"." -I"/Library/Frameworks/R.framework/Resources/include" -I/Library/Frameworks/R.framework/Resources/include -I. -I. -I/usr/local/pgsql-9.1/include/server -I/usr/local/pgsql-9.1/include/internal -I/usr/include/libxml2 -DPKGLIBDIR=\"/usr/local/pgsql-9.1/lib\" -DDLSUFFIX=\".so\" -DR_HOME_DEFAULT=\"/Library/Frameworks/R.framework/Resources\" -c -o pg_rsupport.o pg_rsupport.c
gcc -Os -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -D_FILE_OFFSET_BITS=64 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -bundle -multiply_defined suppress -o plr.so plr.o pg_conversion.o pg_backend_support.o pg_userfuncs.o pg_rsupport.o -L/usr/local/pgsql-9.1/lib -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -Wl,-dead_strip_dylibs -L/Library/Frameworks/R.framework/Resources/bin -L/Library/Frameworks/R.framework/Resources/lib -lR -bundle_loader /usr/local/pgsql-9.1/bin/postgres
GENESISARK:plr dheerajchand$ USE_PGXS=1 make install
/bin/sh /usr/local/pgsql-9.1/lib/pgxs/src/makefiles/../../config/install-sh -c -d '/usr/local/pgsql-9.1/lib'
/bin/sh /usr/local/pgsql-9.1/lib/pgxs/src/makefiles/../../config/install-sh -c -d '/usr/local/pgsql-9.1/share/extension'
/bin/sh /usr/local/pgsql-9.1/lib/pgxs/src/makefiles/../../config/install-sh -c -d '/usr/local/pgsql-9.1/share/doc/extension'
mkdir: /usr/local/pgsql-9.1/share/doc/extension: Permission denied
make: *** [installdirs] Error 1
GENESISARK:plr dheerajchand$ sudo USE_PGXS=1 make install
Password:
make: *** No rule to make target `install'. Stop.
GENESISARK:plr dheerajchand$
> Thanks!
>
> 1. Altering $PKG_CONFIG to just ../bin worked!
> 2. Fixed the issue with the R path.
>
>
I am out of my depth here, and besides, I am only guessing what is going on with your computer. Nevertheless, it seems you once again tried to `make install` without sudo, and that failed.
> ..
> GENESISARK:plr dheerajchand$ USE_PGXS=1 make install
> /bin/sh /usr/local/pgsql-9.1/lib/pgxs/src/makefiles/../../config/install-sh -c -d '/usr/local/pgsql-9.1/lib'
> /bin/sh /usr/local/pgsql-9.1/lib/pgxs/src/makefiles/../../config/install-sh -c -d '/usr/local/pgsql-9.1/share/extension'
> /bin/sh /usr/local/pgsql-9.1/lib/pgxs/src/makefiles/../../config/install-sh -c -d '/usr/local/pgsql-9.1/share/doc/extension'
> mkdir: /usr/local/pgsql-9.1/share/doc/extension: Permission denied
> make: *** [installdirs] Error 1
After that you tried it again with `sudo`
> GENESISARK:plr dheerajchand$ sudo USE_PGXS=1 make install
> Password:
> make: *** No rule to make target `install'. Stop.
Dunno what to suggest. Perhaps do a complete `make clean` and do everything again making sure, but I am just guessing. Hopefully, someone else knows what is going on.