我不知道如何开始这个,因为我在 R 中玩的 GIS 一直是使用 ggplot2 和其他使用 latlong 坐标的包来绘制东西。我现在需要做的是在 Microstrategy 中使用可视化组件,该组件使用 HTML 文件形式的 shapefile,其中包含绘图的 xy 坐标(即左上角为 0,0)。状态级文件的一个示例是:
<HTML><HEAD><TITLE>untitled</TITLE></HEAD><BODY>
<IMG SRC="" USEMAP="#myMap" WIDTH="812" HEIGHT="713" BORDER="0" />
<MAP NAME="myMap">
<AREA SHAPE="POLY" HREF="#" ALT="Texas" COORDS="299,363,299,360,....." />
</MAP></BODY></HTML>
“坐标”中列出的点是相对于 812 x 713 的“图像”的 X 和 Y 点,该图像是动态绘制和着色的。
我有来自http://www.vdstech.com/usa-data.aspx的 Zip3 和 Zip5 的 shp、shx、dbf 文件,但我不确定从哪里开始转换!我不介意手动格式化 HTML 文件的繁重工作,这是我坚持的 XY 转换(生锈,很长一段时间没有碰过 GIS):
以下代码将 shapefile 导入 R
library(rgdal)
zip3 <- readOGR(dsn = '/Users/adempsey/Downloads/zip3'), layer = 'zip3')
之后我被卡住了,目前正在寻找如何将 zip3 + xy 坐标提取到数据框中的教程,然后我可以用它来创建我的最终文件
更新 2
使用以下内容,我可以转换为数据框,但我无法提取关联的 zip3 代码,该代码似乎存储在关联的 dbf 文件中
Row long lat order hole piece group id
1 -151.0604 70.41873 1 FALSE 1 0.1 0
2 -150.7620 70.49722 2 FALSE 1 0.1 0
是的,这超出了我目前生锈的 R
update3 此代码将邮政编码转储到数据框 zip3.codes <- as.data.frame(zip3) 应该可以与 zip3.df <- fortify(zip3@polygons[[1000]]) 之类的东西组合,其中 1000将替换为与特定 zip3 关联的所有行 zip3.codes