首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 R 为 IBM SPSS Modeler 16 创建新节点(2)实例2

使用 R 为 IBM SPSS Modeler 16 创建新节点(2)实例2

示例 2. 为地理空间数据创建一个可视化节点在示例 1        中,一些地址已被转换为坐标。输出是一个表,可确认该代码在正常运行。但是,没有直接的可视化表示可用来检查这些坐标是否正确。可视化地理空间数据的最佳方式是使用地图。第二个示例展示了如何创建一个节点,它在        Web 浏览器中运行的动态地图中描绘了一些点。因为该地图使用了 Google Maps API,所以新节点的名称为 Google Maps 节点。
要创建此节点,可以使用 “” 中描述的 R 代码。这段 R 代码使用 R 包        plotGoogleMaps,该包提供了一个交互式描绘工具来处理 Web 浏览器中的地理数据。
第 1 步. 在 RStudio 中测试和理解该代码使用 SPSS Modeler 之前测试该代码。借助 Rstudio,如果代码无法正常运行,可轻松地修改和调试它。
  • 打开 Rstudio 并创建纬度和经度变量,如 清单 3 中所示。例如,以下值对应的是华盛顿特区的白宫。              清单 3. 纬度和经度变量
    1
    2
    3
    latitude<- 38.8976831
    longitude<- -77.0364972
    df=data.frame(latitude,longitude)




  • 运行 清单 4 中的代码。一个浏览器会打开一个包含地图的页面,其中该坐标点位于正确的位置。 清单 4. space-time-box geohash            示例
    1
    2
    3
    4
    5
    6
    7
    install.packages('plotGoogleMaps')
    library(plotGoogleMaps)
    coordinates(df)<-~longitude+latitude # convert to SPDF
    proj4string(df) <- CRS('+init=epsg:4326')
    # adding Coordinate Referent Sys.
    # Create web map of Point data
    m<-plotGoogleMaps(df,filename='C:/MyNewMap.htm')




该代码使用了 R 函数 proj4string 获取坐标,并将它们转换为 Google Maps API 能理解的坐标系统。函数          plotGoogleMaps(包含在 plotGoogleMaps 包中)正在运行。在此示例中,输出存储在 C 盘上,名为        MyNewMap.htm。
第 2 步. 在 SPSS Modeler 16 中创建 Google Maps 节点 使用 Custom Dialog Builder 创建该节点,然后在地图中描绘该数据:
  • 打开 Custom Dialog Builder 并选择 图 9 中所示的属性。从  中下载图标文件 GoogleMaps.gif。请注意,现在 Node Type 为 Output。 图 9. Google Maps 节点的属性
  • 选择两个 Field Chooser 元素并将它们放在画布中;一个用于纬度,一个用于经度。结果类似于 图 10。 图 10. Google Maps 节点的字段选择器的属性
  • 单击 Edit > Script 并添加来自 清单 5 的代码。根据前面的解释,修改 清单 4 中的 R 代码,以便将它用于 SPSS Modeler。 清单 5. 要插入到 Custom Dialog Builder 中的 R            脚本
    1
    2
    3
    4
    5
    6
    library(plotGoogleMaps)
    Longitude=modelerData$%%lat%%
    Latitude=modelerData$%%lon%%
    coordinates(modelerData)<-~Longitude+Latitude
    proj4string(modelerData) <- CRS('+init=epsg:4326')
    m<-plotGoogleMaps(modelerData,filename='C:/myNewMap.htm')




保存并安装该节点。
第 3 步. 测试该节点要测试该节点,可以从以前创建的数据中描绘该数据。从 Output 面板中选择 Google Maps,将它连接到 Geocoding 节点。
图 11. 最终的流,其中新的 Google Maps 节点为输出运行该流。浏览器打开了一个包含动态地图的页面,该地图上描绘了生成的地址。
图 12. 包含地图上的 3 个数据点的输出
返回列表