我试图让rgdal直接从一个postgis数据库读取多边形数据,但工作并不太顺利。我使用OSX10.9.2和R3.0.2,我已经从Kyngchaos安装了完整的GDAL 1.10.1框架。具体来说:http://www.gdal.org/ogr/drv_pg.html是我想要的司机。我已经确认了
/Library/Frameworks/GDAL.framework/Versions/Current/Libraries/libpq.dylib
存在-正如我目前理解的,这是我需要的驱动程序。
rgdal包是根据已安装的gdal框架从源代码处编译的,使用:

sudo R CMD install rgdal_0.8-16.tar.gz --configure-args='--with-gdal-config=/Library/Frameworks/GDAL.framework/unix/bin/gdal-config --with-proj-include=/Library/Frameworks/PROJ.framework/unix/include --with-proj-lib=/Library/Frameworks/PROJ.framework/unix/lib'

成功完成。加载rgdal没有问题,但是postgres驱动程序拒绝显示:
> ogrDrivers()
             name write
1      AeronavFAA FALSE
2          ARCGEN FALSE
3          AVCBin FALSE
4          AVCE00 FALSE
5             BNA  TRUE
6         CouchDB  TRUE
7             CSV  TRUE
8             DGN  TRUE
9             DXF  TRUE
10         EDIGEO FALSE
11  ElasticSearch  TRUE
12 ESRI Shapefile  TRUE
13     Geoconcept  TRUE
14        GeoJSON  TRUE
15         GeoRSS  TRUE
16            GFT  TRUE
17            GML  TRUE
18            GMT  TRUE
19       GPSBabel  TRUE
20  GPSTrackMaker  TRUE
21            GPX  TRUE
22            HTF FALSE
23         Idrisi FALSE
24            KML  TRUE
25   MapInfo File  TRUE
26         Memory  TRUE
27            ODS  TRUE
28        OpenAir FALSE
29            OSM FALSE
30         PCIDSK  TRUE
31            PDF  TRUE
32            PDS FALSE
33         PGDump  TRUE
34            REC FALSE
35            S57  TRUE
36           SDTS FALSE
37       SEGUKOOA FALSE
38           SEGY FALSE
39         SQLite  TRUE
40            SUA FALSE
41            SVG FALSE
42          TIGER  TRUE
43        UK .NTF FALSE
44            VFK FALSE
45            VRT FALSE
46            WFS FALSE
47            XLS FALSE
48           XLSX  TRUE
49         XPlane FALSE

我是不是漏掉了一些显而易见的东西?
(编辑:请注意ogrinfo "PG:[conneciton string here]"工作得很好,因此驱动程序肯定在工作)

最佳答案

很抱歉我自己回答,但我已经解决了。
忘记从CRAN repos获得的rgdal包吧,它包含自己的基本gdal,它没有必要的驱动程序。我仍然不明白为什么从源代码编译不起作用,但不管怎样,您都可以从以下站点获得rgdal的副本:
http://www.kyngchaos.com/software/frameworks

10-05 21:53