使用R传单+闪亮显示非地理地图

时间:2017-12-13 08:03:31

标签: r leaflet

我正在尝试开发用于形态测量数据采集的数字化软件。我(我试图构建的基本上是图像的查看器界面,以及创建/编辑/删除点,折线和多边形等简单要素。我认为在mapviewmapedit包之上构建它,所以在幕后使用leaflet

现在的一个阻止方面是使用像素坐标正确显示图像。到目前为止,我设法使用raster xmx = 1(以及ymx的比率)显示任何图像,但这远不是干净的(即我们需要重新转换)像素,尺度错误等。)。

我非常需要leafletjs doc中描述的非地理地图的内容。在leaflet()方面,L.CRS.Simple似乎是要走的路,但是,对于这样的栅格,我们仍然需要投影。对于像素坐标似乎没有proj4leaflet似乎能够使用它们,但R leaflet仍然需要栅格的投影CRS。

我们如何绕过这个问题并以像素坐标和笛卡尔平面投影图像(作为栅格)?下面是一个可重现且最小的示例(您可以取消缩放并看到栅格投影在大西洋......)。

非常感谢帮助。

    # dependencies
    library(jpeg)
    library(raster)
    library(leaflet)
    library(leaflet.extras)
    library(mapview)
    library(mapedit)

    # dl an image
    path <- "https://upload.wikimedia.org/wikipedia/commons/thumb/5/58/CheHigh.jpg/280px-CheHigh.jpg"
    che <- tempfile()
    download.file(path, che, mode="wb")
    im <- readJPEG(che)

    # prepare a raster from it
    r  <- raster(xmn=0, xmx=1,
                 ymn=0, ymx=nrow(im)/ncol(im),
                 ncols=ncol(im), nrows=nrow(im))
    r <- setValues(r, as.numeric(t(im)))

    # prepare the leaflet
    lf <- leaflet() %>% addTiles() %>% addRasterImage(r)
    # view it
    editMap(lf) # after editing, returns an object I think I can manage

0 个答案:

没有答案