Anylogic - 如何使用代码从地图中提取区域和省份数据

问题描述 投票:0回答:1

我是一名学生使用AnyLogic 7大学7.3.6进行模拟项目。

在我的项目中,我希望能够在一个地理区域(一个城市,特别是斯德哥尔摩,瑞典首都)分发代理(人员),并将它们放置在想象中的“家”。我知道你可以使用openstreetmaps将地图加载到任何逻辑中,我希望能够真实地分发具有该地图不同位置的人。

我想知道的是:

是否可以从openStreetMaps或任何其他类似的来源加载城市的地理地图,编写可以提取该地理区域中不同地区或城市的代码,并将它们保存为集合?

我的猜测是可能但很难。

例如,斯德哥尔摩(瑞典首都)由26个市镇组成。我希望能够加载斯德哥尔摩的地图,编写可以发现斯德哥尔摩内不同城市名称的代码(或者正在使用的城市地图),确定该地图中有多少个地区或城市(本节中有26个)案例)以及他们的名字,将这些保存到一个集合中,然后为每个市政当局找到该市政府的所有街道名称。

当我拥有一个城市的所有城市以及所有(或大多数)街道名称时,我可以使用街道名称将我的代理人放置在不同的街道上。

我希望能够在每个城市安置不同数量的代理人(人),并且不能将它们放置在不切实际的位置(例如水或地形),因此我认为我需要街道名称,以便我能够实际地把它们放在想象中的“家”。

我还没有找到任何有价值的信息,但我正在尝试。如果有人有任何建议,将不胜感激!

dictionary gis simulation openstreetmap anylogic
1个回答
0
投票

我做了类似的事情。

要做到这一点,你需要创建一个shapefile,其中包含你需要的所有信息(市政当局将是shapefile的一层(多边形),街道将是另一层(折线))你将使用AnyLogic读取该shapefile,你可以基于此生成随机家园。

您需要在ArcGis中找到并使用专家来帮助您根据需要创建shapefile。我不是ArcGis的专家,但我有人为我创建shapefile,所以这将是第一步。

稍后(第二步),您必须学习如何在AnyLogic中将shapefile加载到地图中时读取shapefile,并将shapefile图层转换为地图上可见的区域和线条...您开始使用getLayers()函数...您必须将shapefile转换为可在AnyLogic中轻松使用的标记。

在一天结束时,你的问题需要很多东西,所以也许这个答案会指出你正确的方向,让你退出项目或无用......或者你可以找到一种不同的,更简单的方法来简化你的项目不需要那么多的parafernalia。

© www.soinside.com 2019 - 2024. All rights reserved.