我一直在使用ArcMap来访问空间数据服务器上的GIS数据。我想弄清楚如何在R中执行相同的操作。
我知道如何将shapefile读入R。我已经成功使用maptools和rgdal打开和映射了本地存储的shapefile(例如,http: //www.nceas.ucsb.edu/scicomp/usecases/ReadWriteESRIShapeFiles )
我的问题是,数据没有存储在本地,而是存储在应用程序服务器上。我相信这是一个Oracle数据库。我已获得有关1.服务器2.实例(一个数字)3.数据库4.用户和5.密码的信息。通常,我会举一个例子,但是外部用户是否可以访问服务器值得怀疑。
例如,这是在R中读取和绘制本地文件的方法
library(rgdal)
ogrInfo(".", "nw-rivers")
centroids.rg <- readOGR(".", "nw-centroids")
plot(centroids.rg)
这 ”。” 指向本地目录。我将如何更改它以访问服务器上的数据?代码的实际语法会有所帮助。
您可以使用GDAL / OGR从Oracle Spatial数据库中读取数据:
http://www.gdal.org/ogr/drv_oci.html
如果您的GDAL / OGR安装中有驱动程序。如果:
require(rgdal)
ogrDrivers()
显示Oracle驱动程序,然后您可以readOGR
在正确的位置使用所有参数。
猜测一下,与PostGIS示例类似,我会说尝试:
dsn="OCI:userid/password@database_instance:")
ogrListLayers(dsn)
s = readOGR(dsn, layername)
但是我没有Oracle服务器可以对其进行测试(如果我这样做的话,明天就放弃使用PostGIS,并把许可证花在游艇上),而且您仍然不确定它是否是Oracle服务器。连接到任何空间数据库的一般原理是相同的-检查您是否具有OGR驱动程序,弄清楚dsn
参数的外观,然后尝试。
另一种方法是通过ODBC或另一个非空间R数据库连接。但是,您可能会以WKB或WKT格式获取空间数据,并且必须转换为SpatialWhatevers(点,线,多边形?)。
PostGIS示例在这里:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句