使用NETLOGO中的gis extension,我的目标是将一个大矢量上传到Netlogo中。
在apply-coverage命令和下面的代码行之间,我选择了以下代码,因为它们更快,并导致相同的结果(我使用export-world命令进行检查)。以下代码行的灵感来自于此源http://geospatialcss.blogspot.com/2015/10/tutorial-on-using-and-exporting-gis.html和布鲁克斯(2019年)的“基于Agent的建模和地理信息系统”一书。
其思想是将每个多边形的属性应用到每个补丁的质心,以便使用。
let n 1
foreach gis:feature-list-of Parcels_2015 [
polygone ->
let center-point gis:location-of gis:centroid-of polygone
let x-coordinate item 0 center-point
let y-coordinate item 1 center-point
ask patch x-coordinate y-coordinate [
;; set an ID to the patch
set ID_temp n
set ID_Parcel gis:property-value polygone "ID_PRCL"
;; and others....
;; we set the variables of each patch
set LU gis:property-value polygone "LUCTGRY"
;; and other variable....
;;and color the map depending on the LUCTGRY
if gis:property-value polygone "LUCTGRY" = "Extensive grassland" [
set pcolor green
]
set n n + 1
]
]然而,我意识到补丁仍然是“方形”的,并不代表“真实的世界”。

之后,我增加了Net徽标地图,这样两个补丁就不会出现在相同的包裹上,请参见下面的内容:

但是,在我的代码的下一行(尚未编写)中,目标是处理相邻的修补程序。如果你看这张照片,识别一个包裹的补丁(在颜色上)是一个补丁的邻里,它代表不代表任何东西。
所以最终,是否真的有可能用“连续”的矢量地理信息系统数据填充一个网络标识世界?
发布于 2022-04-02 22:09:58
是的,但不是,但也许吧。这取决于你到底需要做什么。地理信息系统中的栅格数据集就是这个“问题”的一个很好的例子--它们是真实世界数据的离散表示,但通常被分解成单元格/网格。例如,高程有时用20-30米的单元表示--这并不意味着整个单元是相同的高度,但在数字世界中,我们如何表示真实的“模拟”数据是有限制的。NetLogo ' world‘类似--您可以通过更改修补程序大小来修改您的世界的分辨率,从而使您能够最好地探索手头的问题。如果您使用一个非常小的补丁大小(相对于您的空间数据集),并且使用类似于gis:apply-coverage的东西,您可能会得到一个连续世界的相当好的近似。您可以查看名为"GIS梯度示例“的模型库示例,以获得网格系统中表示的‘连续’真实世界数据的示例。

或者,您可能会发现有关系吗?或gis:relationship-of函数将允许您探索不同包之间的关联方式,并可能以这种方式处理事情。然而,这将取决于您的需要/目标,如果这两个选项中的任何一个工作。
https://stackoverflow.com/questions/71675281
复制相似问题