如何从R中的GIS服务器获取数据?

气调剂

我一直在使用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示例在这里:

https://gis.stackexchange.com/questions/64950/which-is-the-best-way-of-working-with-postgis-data-in-r

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

免费的GIS服务器获取地理数据

如何让 Activity 在 android 中自动从服务器获取数据

如何从Angular App中的服务器获取API数据?

如何从服务器中的表单数据获取文件

如何从服务器中获取令牌?

Angular:如何使用服务从服务器获取数据并存储在阵列中?

从服务器获取后如何在会议室数据库中存储数据

如何在接收数据后从iOS中的服务器异步获取数据并更新UI?

我如何从 PHP 中的 JSON 服务器响应中获取数据

如何从服务器获取单个数据到android volley中的textview中?

如何从 html 中获取数据从 AppScript 中返回到服务器端代码

当用户在WebView中时,如何从服务器到android获取数据

如何使用木偶CollectionView来获取服务器中的数据?

如何使用MVC中的Ajax从服务器新获取的数据重新初始化dataTables

NodeJS如何通过POST从jquery ajax调用发送的服务器中获取数据

如何在服务器端应用程序中获取本地数据源?

如何使用Redux从服务器获取数据?

如何使用Ratchet从服务器发送和获取数据

如何从quils获取数据发送到服务器?

如何从Js fetch()获取数据到服务器?

如何自动从服务器获取新数据?

如何确保Firebase仅从服务器获取数据

如何从import.io api服务器获取数据

如何发出请求以从服务器获取最少数据?

如何从HTTP gcm服务器获取gcm数据?

如何向服务器发送请求并获取数据

如何从服务器获取数据到Datagridview C#

从服务器获取的数据没有在 ReactJS 中显示

从Web服务器响应中获取数据