问题标签 [maptools]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
629 浏览

r - 从纬度经度点画线

我正在尝试maptools从一组提取的数据中绘制一系列线条。latlong数据位于数据long集 72000 点中,另一列包含每条线的标签。对每个点重复此标签。

我收到一条消息

向量中的错误(“字符”,长度(spatialLines@lines)):类“Lines”的这个对象没有名称“lines”的槽

我没有看到创建 Line 对象的简单方法。

将数据推送到形状对象然后使用现有代码(如rivers示例)会更容易吗?

0 投票
1 回答
937 浏览

r - spatialpolygonsdataframe 多边形在合并以加入数据后混乱

我正在尝试使用 R 绘制一些土耳其语数据。

我遇到的问题是,当我将数据与形状文件(以空间多边形数据框格式)合并时,数据不再匹配正确的 pologons。我究竟做错了什么,

下面是一些可重现的代码。形状文件是一些自然地球数据(所以公共领域),我把它放在我的谷歌驱动器上,用简单的数据 excel 文件压缩。它在合并之前和之后生成 2 个标有省份名称的地块。您可以看到第二张图像“混乱”了数据,Turkey.map@data 不再匹配正确的多边形。

使用正确的省名合并地块之前: 合并前 合并地块之后: 合并后

非常感谢!

0 投票
0 回答
222 浏览

mysql - 从要素几何属性创建多边形空间数据框

我有一个从具有要素几何属性的 MySQL 数据库中提取的数据框。例如,这是 geom 属性的一条记录值:

表中的所有要素都是多边形。

我一直在搜索,但找不到从这些坐标字符串创建空间数据框的干净方法。

0 投票
1 回答
542 浏览

r - 在 R 中向地图添加阴影层

我正在为一个学区内的各个学校创建地图,并希望在学校边界周围创建一个阴影区域。我可以使用 QGIS 手动完成,但是希望能够在 R 中生成类似的东西。我可以在社区级别映射一些人口统计变量,添加学校位置和边界。有一个循环会自动为每所学校创建一个新地图并将其插入到 knitr 报告中。

我想不通的是如何创建一个图层来遮蔽边界外的区域。这是我使用 R 的地图:

但是想让它看起来更像这样:

我已经尝试过add.maskingGISTools 中的功能,但是它基于点的内核密度,而不是多边形。

我的代码看起来像这样(抱歉,它们是位于安全驱动器上的形状文件,因此无法重现。

0 投票
3 回答
2000 浏览

r - 移动和重新调整阿拉斯加和夏威夷

我正在按照教程移动和重新缩放阿拉斯加和夏威夷。这是我正在运行的代码:

我不确定我错过了什么我的地图看起来不像教程中的地图:

美国

0 投票
0 回答
525 浏览

r - 无效的`.internal.selfref`警告,列未更新与`SpatialPolygonsDataFrame`一起使用

我正在尝试进行一些地理空间分析,R其中将涉及SpatialPolygonsDataFrame在绘图期间向 s 添加属性以进行着色等。

对于组织,我想SpatialPolygonsDataFrame通过合并和更新将这些属性添加到我的 s 中,但我不断收到“无效.internal.selfref”警告并且不会添加列。

这里的问题和答案,似乎与SpatialPolygonsDataFrame对象的数据存储在 a中的事实有关list,但是答案对于如何处理这个问题没有帮助,因为它们通常处理用户定义list的 s而不是像这里这样从包装中出来的。

这是一个使用愚蠢 shapefile 的简单示例,比如说美国(你会注意到我使用下面的 500k 分辨率):

警告消息:在:通过获取(浅)副本检测和修复`[.data.table`(us.states@data, , `:=`(test, 1L))无效,以便可以通过引用添加此新列。在较早的时候,这已被复制 (或使用或类似方法手动创建)。避免, 并且目前(奇怪地)可能会复制整个 . 请改用语法以避免复制: 和. 此外, in ,复制了整个 和(用于复制命名对象);请升级到 .internal.selfrefdata.table:=data.tableRstructure()key<-names<-attr<-Rdata.tableset*?set?setnames?setattrR<=v3.0.2list(DT1,DT2)DT1DT2Rlist()R>v3.0.2如果那是咬人的。如果此消息没有帮助,请向 datatable-help 报告,以便修复根本原因。

这种与我从其他相关答案中收集到的内容不谋而合,但我至少预计数据会更新,但唉:

有什么方法可以继续使用:=通过引用语法进行的舒适更新来处理SpatialPolygonsDataFrame(或类似的.shp检索对象)?

现在,我通过复制来使用更新,这很有效,例如:

0 投票
2 回答
1180 浏览

r - 当`methods`失败时,如何判断函数调用正在使用什么方法?

还不如让猫从袋子里出来,说我已经尝试了大约一天来弄清楚当我要求plot一个类的对象时发生了什么SpatialPolygons*。我的直觉是寻找适用plot.SpatialPolygonsDataFrame于我见过和遇到的任何其他示例的方法,但这失败了。

快速示例:

美国各州的 .shp 文件在此处。

一个示例图。 它显示了放置在一个看不见的地球上的所有美国州和地区的多边形。 很难阅读,但情节不是这个问题的主要内容。

有点笨拙,但无论如何——关键是一个简单的调用plot和某个深处的某个地方R知道调用哪个方法,以便为我们提供所有形状的表示。

在搜索了一下之后,我尝试了各种 SO Q&As 建议的其他两种方法,首先是:

答案似乎在插槽 27-32 中;然而,每一个后面都有一个令人烦恼的逗号!没有提到这是可能的?methods并且?plot,SpatialPolygons,missing-method是一个错误。快速搜索missing-method没有任何用处,并且在?methods.

好的; 继续。怎么样getS3methodgetMethod? getMethods? getAllMethods??

后两者已被弃用并且也不返回任何内容。

显然,这些功能只是我第一直觉的替代品。

那么现在怎么办?我如何知道plot在传递 a 时调用了哪个方法SpatialPolygonsDataFrame?是否有任何通用方法可以取代我上面使用的方法来解决这个问题?

编辑:

我偶然发现了这个(= ?`Spatial-Polygons-class` ),上面写着:

空间多边形的plot方法采用以下参数:

但它仍然没有确切地说该方法是什么。

0 投票
1 回答
1443 浏览

r - 人口加权多边形失真(制图)

我正在尝试在 R 中创建一个映射,该映射既传达底层几何图形的形状(即物理边界),传达对象在关联值方面的相对重要性。

具体而言,我想专注于复制(一个版本)以下地图*(形状,而不是颜色,因为我找不到轮询数据):

一张扭曲的美国地图,标题为

我也不想费心让阿拉斯加和夏威夷出现在美国下方,而不是它们的测地线正确位置。

我只是将数据与权重合并,例如如下所示:

1.获取多边形

美国大陆的平原、未扭曲的地图。 白色多边形,黑色边框,带有两个字母的州邮政编码。

2. 添加选举人团数据

相同的未扭曲的州地图,但这次,每个州都被涂成红色、蓝色或紫色。 红色的意思

这一切都很好——看一眼这张地图,我们就可以知道哪些州在选举团中的代表性高低。但是如果(就像在我们的目标地图中)我们想用状态的颜色来表示另一个变量怎么办?

3. 增加 2012 年选举结果

再次出现未扭曲的状态,这一次根据选举结果完全是红色或蓝色。

最后一张图是问题的症结所在。从我们可以从地图的红色与蓝色百分比中感知共和党还是民主党获胜的意义上,第一个图表要好得多。最后一张地图具有误导性,因为共和党人数最多的州也是人口最稀少的州。

有没有办法创建这张地图的扭曲版本,以传达每个州在选举团中的相对重要性?我在网上找不到任何帮助,可能主要是因为我不知道这种类型的图表是否有标准名称。

*这张地图是在这里找到的;我以前见过类似的尺寸扭曲的地图,例如在The Economist中。它似乎是基于普林斯顿选举联盟的 Sam Wang 博士的工作,由Drew Thaler制作。

0 投票
0 回答
953 浏览

r - 使用 R 中 maptools 库中的 pointLabel() 自动绘制标签

我正在尝试使用模拟退火算法解决工程图的自动标签放置问题。我在 R 的库中遇到了该pointLabel()函数maptools。但是,我发现虽然该函数能够以最佳方式放置标签,但它并没有考虑到底层绘图。我不希望标签与绘图线重叠。有什么方法可以实现吗?此外,我的标签在宽度和高度方面大小不一。除了标签的原点之外,有什么方法可以指定每个标签的尺寸吗?

我不知道如何上传必要的 csv 文件来复制我的工作,但这里是保管箱链接https://www.dropbox.com/s/85qqs4nlvm4crck/TextBoxData.rar?dl=0到它,这是我的代码:

任何见解都会有所帮助。谢谢。

0 投票
1 回答
538 浏览

r - 在 mutate 中使用 maptools::sunriset()

我正在尝试使用maptoolsdplyr中的函数来计算一组 lon/lat/timestamp 坐标的日出时间。sunriset这是一个可重现的例子。

当我运行这段代码时,我得到了错误

“错误:无效的下标类型‘闭包’”

我猜这意味着我没有sunriset正确传递变量。

这种方法确实有效,如果我不这样做的话dplyr

但是,我有很多行(大约 6500 万行),即使只有一小部分,上述方法也很慢。我希望 dplyr 会更快。如果有人对最快的方法有其他建议,我很想听听。