저는 Netlogo에로드 된 GIS 도시 경관을 사용하여 여러 가지 변수로 내 프리를 채 웁니다. 이 중 하나는 각 Netlogo 패치가 속한 토지 소포를 나타내는 ID입니다. 시뮬레이션 전반에 걸쳐 리소스 사용량에 따라 소포 (예 : 공유 ID) 내의 모든 패치의 색상을 업데이트하는 시각화 절차를 만들려고합니다.Netlogo - 대형 GIS 랜드 스케이프에서 공간적으로 뭉치는 변수의 색상을 효율적으로 업데이트합니다.
내가 고심하고있는 문제는 높은 공간 해상도에서이를 수행하는 효율적인 방법을 찾는 것입니다. 내 풍경은 현재 400x400 패치이며이를 향상시키는 것을 선호하지만 시도한 절차는이 해상도에서도 느립니다. 현재 시도하고있는 3 가지 방법은 다음과 같습니다.
모든 패치와 업데이트 색상을 독립적으로 쿼리합니다. 각 패치는 위의 다음 점점 유사한 절차를 실행하도록 요청하는 소포 대표하는 하나의 패치를 생성이 절차
를 통해 실행되기 때문에
ask patches [ set pcolor scale-color 5 mywateruse maxwateruse minwateruse]
- 이 매우 느립니다 ID를 공유하는 패치를 요청하여 색상을 변경하십시오. 이 여전히 매우 느리게 각 패치는 아직도 내가 각을 할당합니다 코드를 실행하는 Netlogo 모델링 라이브러리에서 "패치 클러스터 예"수정 시도
- 을 요구하고 있습니다로 실행
- 공유 ID를 기반으로 패치 세트를 패치 한 다음이 클러스터의 색상을 업데이트하십시오. 이렇게하면 시뮬레이션의 '백엔드'속도가 향상 될 수 있지만 (즉, 패치 색상 변경) 설치 프로그램의 클러스터링 절차가 자체적으로 실행되는 데 몇 시간이 걸립니다.
ask patches with [parcelrep? = true] [set pcolor scale-color 5 mywateruse maxwateruse minwateruse]
ask other patches with [parcelID = [parcelID] of myself] [set pcolor [pcolor] of myself]
이 작업을 수행하는보다 효율적인 방법을 찾는 데 큰 도움이 될 것입니다.
패치를 이미 실행중인 다른 작업 (예 : ID 할당)과 동시에 색칠을 할 수 있습니까? 그렇지 않으면 이것을 색상의 '업데이트'라고합니다. 이 tick의 wateruse를 계산할 때 '10 % 이상 변경된 wateruse'에 대한 패치 속성을 설정 한 다음 색상 만 업데이트 할 수 있습니다. – JenB