我正在尝试开发用于形态测量数据采集的数字化软件。我(我试图构建的基本上是图像的查看器界面,以及创建/编辑/删除点,折线和多边形等简单要素。我认为在mapview
和mapedit
包之上构建它,所以在幕后使用leaflet
。
现在的一个阻止方面是使用像素坐标正确显示图像。到目前为止,我设法使用raster
xmx
= 1(以及ymx
的比率)显示任何图像,但这远不是干净的(即我们需要重新转换)像素,尺度错误等。)。
我非常需要leafletjs doc中描述的非地理地图的内容。在leaflet()
方面,L.CRS.Simple
似乎是要走的路,但是,对于这样的栅格,我们仍然需要投影。对于像素坐标似乎没有proj4
,leaflet
似乎能够使用它们,但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