使用 ppp 函数绘制错误

Plotting error using the ppp function

我正在绘制德克萨斯州休斯顿炼油厂的位置。我用下面的代码定义了研究区域。

 P4S.latlon <- CRS("+proj=longlat +datum=WGS84 ")
 county.lines <-readShapePoly("tl_2017_us_county/tl_2017_us_county.shp", verbose = T, proj4string = P4S.latlon)

 harris <- subset(county.lines, county.lines$GEOID == 48201)
 brazoria <- subset(county.lines, county.lines$GEOID == 48039)
 galveston <- subset(county.lines, county.lines$GEOID == 48167)
 chambers <- subset(county.lines, county.lines$GEOID == 48071)
 liberty <- subset(county.lines, county.lines$GEOID == 48291)
 all.counties <- rbind(harris, brazoria, galveston, chambers, liberty)

 ShapePoly <- as(all.counties, "SpatialPolygons")
 study.area <- as(ShapePoly, "owin")

绘制研究区域按预期工作。

为了绘制炼油厂数据,我使用了以下代码

refinery <- data.frame(refinery)
attach(refinery)
refinery <- ppp(coords.x1, coords.x2, window = study.area)

炼油厂数据最初是一个 shapefile。我将其转换为数据框,以便可以使用 ppp()。

出现的问题是当我绘制精炼厂时没有点,只有形状文件。

plot(refinery, pch = 20, col = "firebrick1")

我正在为一个 class 项目编写此脚本,并且通常将 ArcGIS 用于我的空间项目。我不确定是什么原因造成的,因为我对 ppp 函数进行了广泛的研究,并用不同的数据集复制了这段代码。我想将炼油厂绘制为针对县 shapefile 的点。

我不能肯定地说,因为你没有提供一个可重现的例子(没有 link 下载数据,没有加载使用的 R 包,等等),但我认为这只是由于着色:参数 col 控制研究区域的颜色 (window)。要绘制给定颜色的点,请使用 cols,例如cols = "firebrick1".

注意:您直接在 lon、lat 中工作,因此您的点实际上在球体(椭球体)上,并且在 R 中可以直接对这些坐标进行很少的分析(即使绘图也有轻微错误,因为 1 度长与 1 度纬度不同)。如果您继续分析,您确实需要将坐标投影到平面 space(使用例如 sf::st_transform()sp::spTransform())。

当您绘制 class ppp 的对象时,将执行函数 plot.pppplot.ppp 的帮助文件解释了点的颜色由参数 cols 控制。