You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support GIS / geographic projections in a distributed (multi-process) space in a way that is similar to the existing spatial projections, that supports automatic moving of agents across ranks, ghosting, etc. API should attempt to closely align with the single-process Geography API (#41).
How to partition. Every partition would have the knowledge about the global partitioning AND features that were split up based on the partitioning.
There are at least two types of split features:
Auto ghost, where we want to understand agent presence in them, so if an agent enters in one partition, they are automatically ghosts in the other partitions.
Non-auto ghost features
Queries originating on partitions will be of 2 types:
Within the buffer of the partition
Outside of the buffer, where the global map would be used to understand to which partitions the spatial queries should be sent
Beyond partitioning, importance of inputting/outputting shapefiles, and CRS generalization beyond what we do for RS.
Also NC - search for multi-process GIS ABM prior work. Vague memory of reviewing some.
How to partition global space if some features extend over boundaries?
For static features (e.g., roads) could create new geometry by intersecting with area controlled by specific rank.
For dynamic features, buffer big enough to hold full feature size. What if size is very large?
Implementation Ideas:
GEOS (https://libgeos.org/) seems to be the best choice on the C++ side. The Shapely python library uses GEOS, so the underlying geometry API is similar. And GEOS also supports geography operations and spatial indexing, so if we store the agent/geometries entirely on the C++ side, we may end up with an architecture that is close to the existing repast4py space projections.
We'll probably want to use python for data loading and projection transforms, so the single process API (Single process GIS support #41) can support this through fiona and pyproj.
The text was updated successfully, but these errors were encountered:
Support GIS / geographic projections in a distributed (multi-process) space in a way that is similar to the existing spatial projections, that supports automatic moving of agents across ranks, ghosting, etc. API should attempt to closely align with the single-process Geography API (#41).
Beyond partitioning, importance of inputting/outputting shapefiles, and CRS generalization beyond what we do for RS.
Also NC - search for multi-process GIS ABM prior work. Vague memory of reviewing some.
How to partition global space if some features extend over boundaries?
Implementation Ideas:
The text was updated successfully, but these errors were encountered: