Comments (4)
I haven't been able to find a class name that encompasses those methods, while excluding
torus_adj
neighbor_iter
move_agent
place_agent
_place_agent
remove_agent
is_cell_empty
move_to_empty
find_empty
exists_empty_cells
What would be the consequence for RasterLayer
to have those methods? Maybe the *_agent
methods can be replaced with methods that raise NotImplementedError
?
from mesa-geo.
The main difference between RasterLayer
and Grid
are:
- The
GridContent
inGrid
isCell
inRasterLayer
. This is fine sinceGridContent = Union[Agent, None]
andCell
inheritsAgent
. - In
Grid
there isself.grid: list[list[GridContent]]
whereas inRasterLayer
we haveself.cells: list[list[Cell]]
. This is a bit troublesome becauseself.grid
is effectively renamed toself.cells
.
Another issue is that we do not manipulate agents using RasterLayer
directly. Instead, adding/updating/removing agents methods are defined at the GeoSpace
level. It might be confusing if we have these methods also defined within RasterLayer
and raise NotImplementedError
.
I couldn't think of any easier ways to get necessary methods from Grid
while avoiding the rest. Was hoping that changes wouldn't happen very often.
On the other hand, I don't want to alter the design of Mesa due to Mesa-Geo either.
from mesa-geo.
Mesa now has an experimental PropertyLayer
and could be an alternative implementation for our RasterLayer
: projectmesa/mesa#1898
from mesa-geo.
Replaced by #201. Closing this issue now.
from mesa-geo.
Related Issues (20)
- v0.4.0 release HOT 3
- Add test for python 3.11
- Move mesa-geo examples into mesa-examples repo HOT 6
- ci: Replace flake8 with Ruff HOT 1
- cookiecutter for mesa-geo
- Uncaught ReferenceError in examples HOT 4
- automatically adjusting/zoomable map?
- v0.5.0 release HOT 1
- Update for Mesa v2.1 HOT 1
- frontend: python frontend for Mesa-Geo HOT 21
- tutorial for the geoschelling model (points & polygons) HOT 1
- `GeoSpace.agents_at()` method doesn't work
- Some examples don't work in version 0.6.0 HOT 2
- Fix "undefined" in charts HOT 3
- ci: run on all pushes and PRs, publish to PyPI on tags
- Control widgets disappear when zooming into rainfall demo HOT 1
- Error in extracting agent from GeoSpace.agents in tutorial using Spyder HOT 6
- ci: merge setup.cfg into pyproject.toml HOT 4
- Refactor RasterLayer to be based on PropertyLayer in Mesa HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mesa-geo.