2017-10-16 9 views
1

donc je fais un projet netlogo en utilisant des fichiers de formes SIG. J'ai une grande couche de points qui représentent des endroits dans une ville comme les restaurants et les stations-service.ce qui fait que les tortues se déplacent vers des points GIS

je besoin de mes tortues pour aller dans la direction des points par exemple: pops de tortues à la zone de logement vont dans un restaurant au hasard, se dirige vers la station d'essence nearst et revient à la maison.

J'ai trouvé "foreach (gis: property-value?)" Qui s'exécute sur la table et fait les points échelle par couleur et objectID pour s'assurer que cela fonctionne. alors maintenant je peux courir sur la colonne et la valeur mais je ne sais pas comment faire avancer une tortue au point spécifique. puis-je le faire changer son cap dans la direction des points ou sa direction à la pièce sur laquelle les points s'assoit? Le projet im mkaing est une simulation de 24 heures qui montre les mouvements de population dans 7 districts de la ville. J'ai des polygones/vecteurs qui divisent la ville et je veux que les tortues de certains districts ne puissent pas les quitter à moins qu'une action spéciale ne se produise. Y a-t-il un moyen de faire en sorte que certaines tortues restent dans les lignes polygone/vecteur?

Répondre

0

Je ne sais pas si c'est la meilleure façon de le faire, mais j'aborderais probablement cette question en créant des tortues à chacun des endroits où vous voulez être représenté. Je ferais probablement comme une seule race et juste avoir un attribut qui indique quel type d'endroit c'est. Vous pouvez cacher les tortues afin qu'elles ne soient pas visibles sur l'interface. L'avantage de cette approche est que vous pouvez alors utiliser toutes les primitives NetLogo natives pour faire des choses comme trouver un restaurant aléatoire dans un certain rayon et se déplacer vers lui, au lieu d'avoir à convertir en couche SIG. Autrement dit, vous n'auriez besoin de traiter le SIG qu'une seule fois (pour créer les tortues), ce qui devrait apporter des gains d'efficacité significatifs.

+0

d'abord merci pour répondre au logo net est un nouveau territoire pour moi et c'est mon premier projet. J'ai fait un code qui dit à mes tortues d'aller au patch le plus proche dans la couleur que je veux. Maintenant, le plan fait de chaque ensemble de bâtiments spécifiques et lieux des couleurs différentes de sorte que le testament aura une sorte de calendrier et l'ajout d'un facteur aléatoire. chose est que ma couche gis comprend plus de 120k polygones et environ 18k points de sorte que les correctifs sont d'environ 5 km ou même plus donc je dois le résoudre à une taille de patch plus réaliste. une idée sur la façon de faire mes points créer des correctifs? si j'ai une colonne x et y dans ma table – segev

+0

Les points ne peuvent pas créer de correctifs. Les correctifs existent déjà lorsque vous ouvrez le modèle, ils ne sont jamais créés ou détruits. Mais vous pouvez certainement changer le nombre d'entre eux en changeant la taille du monde. – JenB

+0

en essayant cette approche est-il un moyen de convertir les points en tortues ou de faire les tortues dans le droit x, y facilement? J'ai un fichier shp avec une colonne x et une colonne y – segev