如何在露天包装R中添加我自己的形状文件trajLevel()

时间:2018-12-12 06:41:24

标签: r maps mapping openair

我正在使用以下代码绘制轨迹...........

library(openair)

load("GDASNDL1000m.Rdata")

trajLevel(traj,method="hexbin",col="jet",xbin=40,parameters=NULL,
orientation=c(90,0,0),projection="mercator")

result https://github.com/adeckmyn/maps/files/2667752/GDASNDL1000m.zip

在这里,我想用自己的world map更改基本shape file

我的形状文件如下。...

z1=maptools::readShapePoly("/home/sateeshm/shapefiles/ncmrwf/india_map")
library(maps)
map(z1)

https://github.com/adeckmyn/maps/files/2667336/World-India.zip

现在,实际的问题是如何将z1链接到trajLevel?

1 个答案:

答案 0 :(得分:0)

为避免在露天场所对“世界”进行硬编码调用,您将不得不以与“地图”包相同的文件格式创建一个新的世界数据库。

可能最简单的方法是使用mapMaker包。该软件包不在CRAN上,但可以在github上找到。这是我用来创建标准世界地图的软件包。该文档很少,但是如果您不关心多边形名称等,则可以如下创建“快速且肮脏的”世界地图:

# get your new map as a simple list of polygons (or lines)
z1=maps::map(maptools::readShapePoly("india_map"), plot=FALSE)
# create internal representation
z2=mapMaker::map.make(z1)
# write binary files:
mapMaker::map.export.bin(z2, "/my/path/to/world")

# To make map() call this new database:
library(maps)
worldMapEnv="MYMAP"
Sys.setenv("MYMAP"="/my/path/to/") # don't add the "world" !

现在map("world")将绘制您的世界地图版本。