另外,数据包中(bou2_4l.dbf、bou2_4l.shp和bou2_4l.shx),的bout2_4l.shp为什么读不了呢?
20 天 后
请问maptools中的Map2poly改成什么了?
在R中输入“x[[2]]”得到包含925个元素的数组
[1] 68.489 129.933 84.905 41.186 38.379 76.781 44.874 8.498 0.088
[10] 0.047 0.096 0.114 0.061 0.052 0.041 0.066 0.056 0.064
用“x$att.data”得到NULL
我用attributes(x)发现里边有乱码$data
AREA PERIMETER BOU2_4M_ BOU2_4M_ID ADCODE93 ADCODE99 NAME
0 54.447 68.489 2 23 230000 230000 ºÚÁú½­Ê¡
1 129.113 129.933 3 15 150000 150000 ÄÚÃɹÅ×ÔÖÎÇø
这些问题怎么解决?请指教
[未知用户] maptools包进行改版后,数据结构也发生了变化,原来的x[[2]]x$att.data相当于现在的x@data。乱码问题应该是编码造成的,在我这里没问题,你再试试看。
[未知用户] 应该是被删了,但可以从地图信息中提取,你试一下下面的代码,函数会返回一个列表,其中每一个元素是一个矩阵,第一列是多边形横坐标,第二列是多边形纵坐标。
myMap2poly=function(mapdata)
{
    lapply(x@polygons,function(x) x@Polygons[[1]]@coords);
}
mapPolygon=myMap2poly(x);
hlj.x=mapPolygon[[1]][,1];
hlj.y=mapPolygon[[1]][,2];
plot(1,xlim=range(hlj.x),ylim=range(hlj.y),type="n");
polygon(hlj.x,hlj.y);
早晨睁眼就来看您的答复,非常感谢
[未知用户] 你是在加拿大上学吗?
[未知用户] 我在加拿大放学一年,有个项目是关于加拿大北方森林物种特征时空变异的项目,需要把一些物种在加拿大地图上标记出来,并且预测30,60年后的分布情况,您在什么单位,能否单独联系您,我邮箱是liujs606@gmail.com
23 天 后
您好,现在我有两个问题,假如把各省份用不同颜色区分后,想加个图例,把每个颜色代表的身份用图例表示出来,怎么加?
第二个问题,我如果有中国分省市地图的SHP数据,还有包括经纬度的样品数据,我可以把样品的分布在该地图上表示出来,根据这两个数据,能否把我样品数据中的各个记录按照省份归类?进而可以对每个省份的数据分布进行分析。

不知道有没有表达明白我的问题,想上传两个图片,但是不知道这里怎么上传,期待您的答复
[未知用户] 图例可以用legend()函数;第二个问题是不是相当于给定一个经纬度,然后判断它在哪个省?
第二个问题是,样品数据中有经纬度,关键是怎么能从GIS数据中分离出每个省的经纬度范围,您有没有好的建议?
6 天 后
原来maptools中的Map2poly现在改成什么了?
[未知用户] 我读进去SHP数据后,运行
myMap2poly=function(mapdata)
{
lapply(x@polygons,function(x) x@Polygons[[1]]@coords);
}
mapPolygon=myMap2poly(x)
出现错误提示Error in is.vector(X) : object 'x' not found
是什么问题?
[未知用户] 不好意思,以前问过这个问题,不用回答了
[未知用户] 我犯糊涂了,应该把那个函数中的x改成mapdata,正确的函数应该是
myMap2poly=function(mapdata)
{
    lapply(mapdata@polygons,function(x) x@Polygons[[1]]@coords);
}
用SAS试一下:
data china2;
length IDNAME $18;
input ID IDNAME $;
cards;
1 安徽省
22 北京市
33 重庆市
7 福建省
15 甘肃省
30 广东省
16 广西壮族自治区
18 贵州省
31 海南省
10 河北省
8 黑龙江省
9 河南省
34 香港特别行政区
12 湖北省
11 湖南省
4 江苏省
3 江西省
5 吉林省
19 辽宁省
35 澳门特别行政区
20 内蒙古自治区
21 宁夏回族自治区
6 青海省
26 陕西省
25 山东省
23 上海市
24 山西省
32 四川省
36 台湾省
28 天津市
13 新疆维吾尔自治区
14 西藏自治区
29 云南省
2 浙江省
;
run;

%annomac;
%MAPLABEL (maps.china,china2,labelout,idname,id,font=simhei,color=crimson,size=2,hsys=3);

proc gmap map=maps.china data=china2 all;
id id;
choro idname / nolegend levels=1 anno=labelout;
run;quit;
[未知用户] 多谢,我当时可能头脑不清楚,哈哈
6 天 后
不好意思,由于maptools程序包更改的太多,而且上文用到的GIS数据也有更新,所以,现在看您的博文有很多地方对应不上。
您能按现在的GIS数据和maptools程序包重新更新一下内容吗?
正在写论文,很急需这部分内容,查找了很多书,书上没有这部分。看您的文章有很大的提示,很感谢您。麻烦您按照现在的内容更新一下代码好吗,谢谢。
您好,非常不好意思麻烦您。
由于maptools和Gis文件的更新都比较大,您可以重新更新一下博文吗?
很着急学这部分内容,谢谢您了。
[未知用户] 呃,关键的地方我已经用红色的文字重新修正了,不知道还有哪些地方需要更新?最好是能列出一个清单,我重新更新一下。