Netlogo GIS: ¿Cómo puedo crear agentes en una ubicación aleatoria dentro de una región específica?
He cargado el archivo de forma y luego quiero crear tortugas dentro del mapa para simular.
Sin embargo, cuando uso “gis:create-turtles-inside-polygon”, los agentes solo aparecen en el mismo punto. ¿Cómo puedo ponerlos en lugares aleatorios pero dentro del mapa?
con el siguiente código
to setup-maps
gis:load-coordinate-system "dem.prj"
set Bangladesh gis:load-dataset "dem.shp"
set elevation gis:load-dataset "dem.asc"
gis:set-world-envelope gis:envelope-of elevation
gis:set-drawing-color red + 2
gis:draw Bangladesh 1
end
to setup-turtles
foreach gis:feature-list-of Bangladesh [ this-vector-feature ->
gis:create-turtles-inside-polygon this-vector-feature turtles 10 [
set shape "person"
set size 2.5
set color white
]
]
end
davy.ai
Para colocar a los agentes en lugares aleatorios pero dentro del mapa, puedes cambiar la función
gis:create-turtles-inside-polygon
porgis:create-random-points-inside-polygon
. Esto creará puntos aleatorios dentro del polígono y luego podrás crear tortugas en esos puntos. Aquí está el código modificado desetup-turtles
:La función
gis:create-random-points-inside-polygon
devolverá una lista de puntos aleatorios dentro del polígono, que luego se recorre en un bucle y se crea una tortuga en cada punto utilizando la funcióncreate-turtles
. La funciónsetxy
se utiliza para establecer las coordenadas de la tortuga en el punto aleatorio generado.