Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Island Bigraph2 - Grid
<?xml version="1.0" encoding="UTF-8"?>
<!--Xholon Workbook http://www.primordion.com/Xholon/gwt/ MIT License, Copyright (C) Ken Webb, Thu Aug 01 2019 07:05:19 GMT-0400 (Eastern Daylight Time)-->
<XholonWorkbook>
<Notes><![CDATA[
Xholon
------
Title: Island Bigraph2 - Grid
Description:
Url: http://www.primordion.com/Xholon/gwt/
InternalName: f77e463b1fd97ac23197e5cd48ea5468
Keywords:
My Notes
--------
July 20, 2019
The 50th anniversary of the Apollo 11 landing on the moon
http://127.0.0.1:8888/Xholon.html?app=Island+Bigraph2+-+Grid&src=lstr&gui=clsc&jslib=BigraphParser
http://127.0.0.1:8888/Xholon.html?app=Island+Bigraph2+-+Grid&src=lstr&gui=none&jslib=BigraphParser
In this workbook, I explore how to define a two-dimensional (2D) Xholon grid by way of the mathematics of Bigraphs.
This is specifically for the paper that Jen and I are writing about the Island Game.
How a rectangular game space/grid is constructed systematically and with some mathematical rigor, from a set of binary tree nodes by way of a Bigraph Place Graph (a tree) and Bigraph Link Graphs (edges, hyperedges, paths).
A Grid is just a Place Graph equipped with a Link Graph.
I will work this out using the Bigraph notation in Robin Milner's book[4], and in examples from various papers.
I will extend Milner's Bigraph notation as required, and will consider the resulting notation as being a Domain Specific Language (DSL).
The DSL will be as close to the Bigraph notation as possible.
actual names used in Island B5:
------------------------------
xhc name xhc parent name Java implName
--------- --------------- -------------------------------------
Space XholonClass org.primordion.xholon.base.GridEntity the single grid node; the root of the grid Place Graph
FieldRow XholonClass org.primordion.xholon.base.GridEntity a row
OceanCell XholonClass org.primordion.xholon.base.GridEntity the three sorts of grid cells
CoastCell XholonClass org.primordion.xholon.base.GridEntity
LandCell XholonClass org.primordion.xholon.base.GridEntity
the basic process of creating a game grid:
-----------------------------------------
We will construct a game space/grid of size m by n (m columns by n rows).
Define a single-rooted (pointed) binary tree, whose root node is labelled Space (informally known as: the grid).
A binary tree is a directed binary graph.
Label the two edges of each node in the binary tree as first and next, and define children and siblings and paths.
The Space node has n children, of sort FieldRow (informally known as: rows).
Each FieldRow node has m children of sort OceanCell, CoastCell or LandCell (informally known as: grid cells).
In Bigraph theory, the resulting tree rooted at Space, is referred to as a Place Graph.
To make the Place Graph more readily usable as a game grid, we will define a Link Graph superimposed on the grid cell nodes of the Place Graph.
Each grid cell has four ports (a Von Neumann, rather than Moore, neighborhood), labelled North, South, East, West.
define these, and specify whether the resulting shape is a rectangle, a cylinder, or a torus
North, South, East, West are defined composite arrows over the free monoid of path (XPath) expressions, made up of vocabulary: parent next prev first, or equivalent XPath locationSteps
port[NORTH]: parent prev first next(n) OR xpath(../preceding-sibling/*[n])
port[EAST]: next OR xpath(./following-sibling)
port[SOUTH]: parent next first next(n) OR xpath(../following-sibling/*[n])
port[WEST]: prev OR xpath(./preceding-sibling)
Each GridCell is labelled with a type/sort, taken from the set {Ocean, Coast, Land}
Each GridCell sort has a one-character symbol, taken from the set {., C, L}
The bijective/isomorphic mapping from GridCell symbol to GridCell label is the set of ordered pairs {(.,Ocean),(C,Coast),(L,Land)}
Space - a m=4 by n=3 game grid would look like this:
---------------------------------------------------
+--+--+--+--+
| 1| 2| 3| 4| r1
+--+--+--+--+
| 5| 6| 7| 8| r2
+--+--+--+--+
| 9|10|11|12| r3
+--+--+--+--+
Bigraph specification, embedded within a Xholon XML structure:
-------------------------------------------------------------
<Bigraph roleName="Example"><Attribute_String>
B=(VB,EB,PB,ctrlB,prntB,linkB):〈m,X〉→〈n,Y〉,
m=0,X=∅,n=1,Y={q},
Σ=({Space,FieldRow,OceanCell,CoastCell,LandCell},{(Space,0),(FieldRow,0),(OceanCell,4),(OceanCell,4),(LandCell,4)}),
# Space instance
VB={s},
# FieldRow instances - there are 3 rows - this is an ordered collection, hence a tuple rather than a set, but for now I continue to use the brackets {} which usually designate a set
VB={r1,r2,r3},
# VB=({r1,r2,r3},&lt;),
# grid cells - there are 3 * 4 = 12 of these - this is an ordered collection, hence a tuple rather than a set, but for now I continue to use the brackets {} which usually designate a set
VB={1,2,3,4,5,6,7,8,9,10,11,12},
# S={1,2,3,4,5,6,7,8,9,10,11,12} R=the partial order &lt; poset=(S,R)
# grid cell symbols, that correspond to OceanCell CoastCell LandCell
VB={.,C,L},
# edges
EB=∅,
# ports
#PB={p(north,0),???},
ctrlB={(s,Space)},
ctrlB={(r1,FieldRow),(r2,FieldRow),(r3,FieldRow)},
# initially, every grid cell is an OceanCell; can I use the i..j notation here to mean a range?
#ctrlB={(1..12,OceanCell)},
# OR product of 2 sets, pairs, gridcell x type
ctrlB={(1,OceanCell),(2,CoastCell),(3,CoastCell),(4,OceanCell),(5,OceanCell),(6,LandCell),(7,LandCell),(8,CoastCell),(9,OceanCell),(10,CoastCell),(11,CoastCell),(12,OceanCell)},
# parent relations
prntB={(r1,s),(r2,s),(r3,s)},
# product of 2 sets, pairs, gridcell x row
prntB={(1,r1),(2,r1),(3,r1),(4,r1),(5,r2),(6,r2),(7,r2),(8,r2),(9,r3),(10,r3),(11,r3),(12,r3)},
# symbol -> type mapping for grid cells
$symboltype={(.,OceanCell),(C,CoastCell),(L,LandCell)},
# Java classes
_Implname=({org.primordion.xholon.base.GridEntity},{(Space,org.primordion.xholon.base.GridEntity),(FieldRow,org.primordion.xholon.base.GridEntity),(OceanCell,org.primordion.xholon.base.GridEntity),(CoastCell,org.primordion.xholon.base.GridEntity),(LandCell,org.primordion.xholon.base.GridEntity)}),
# colors
_Color=({#171c8f,#d0c883,PaleGoldenRod},{(OceanCell,171c8f),(CoastCell,#d0c883),(LandCell,PaleGoldenRod)}),
</Attribute_String><BigraphParser/></Bigraph>
GridCellPattern format:
----------------------
the equivalent GridCellPattern encoding of much of the above Xholon Bigraph
this is a Xholon-based domain specific language (DSL) that must be processed by a computer program
<GridCellPattern roleName="Example" xpos="0" ypos="0">
.CCO
.LLC
.CC.
</GridCellPattern>
Grid as a partial order/preorder/poset
--------------------------------------
- grid is a Set plus a binary relation "<"
- symbol ≤ means the binary relation
- ex: 1 < 2
- see ref[16] ch 6 "Relations, and especially section 6.6 "Partial Orderings"
A relation R on a set S is called a partial ordering or partial order if it is reflexive, antisymmetric, and transitive.
A set S together with a partial ordering R is called a partially ordered set, or poset, and is denoted by (S,R).
Hasse diagram
- see ref[17]
d3 diagrams
-----------
Cluster
- shows a labelled Place Graph, extending from left (the Bigraph node) to right (the grid cell nodes)
HierEdgeBundle
- shows both the Place Graph (implied by the clustering), and the Link Graph (edges)
- it's easy to see visually that this is a 4 x 3 structure
RadialTree
- shows a labelled Place Graph, with the Bigraph node in the center
TODO
----
- perhaps I could use a set builder notation to specify large sets of rows and grid cells, rather than enumerating them
- think of rows and grid cells as preorders, partial orders, where each instance node is < or > some other node
- BigraphParser.js should handle domain-specific Bigraph specification lines that start with $
- be able to specify the Xholon grid parameters in a natural way with the Bigraph specification
example:
<GridGenerator rows="80" cols="120" gridType="Gvt" names="Space,FieldRow,OceanCell" columnColor="171c8f" gridViewerParams="IslandSystem/Space,7,Island Viewer,true" cellsCanSupplyOwnColor="true">
_GridGenerator=(80,120,Gvt,(Space,FieldRow,OceanCell),171c8f,(IslandSystem/Space,7,Island Viewer,true),true),
OR
# GridGenerator
_rows=80,
_cols=120,
_gridType=Gvt,
_names=(Space,FieldRow,OceanCell),
_columnColor=171c8f,
_gridViewerParams=(IslandSystem/Space,7,Island Viewer,true),
_cellsCanSupplyOwnColor=true,
_GridGenerator=(_rows,_cols,_gridType,_names,_columnColor,_gridViewerParams,_cellsCanSupplyOwnColor),
- generate ideas on Milner's Bigraph math notation vs Bigraph specifications as a domain specific langauge
how do mathematicians think about notation and/vs DSLs ?
as I extend Milner's Bigraph notation to be able to specify a Xholon app, it becomes more of a DSL
References
----------
(1) search: grid mathematics
search: grid cell mathematics
(2) http://mathworld.wolfram.com/Grid.html
A grid usually refers to two or more infinite sets of evenly-spaced parallel lines at particular angles to each other in a plane, or the intersections of such lines.
The two most common types of grid are orthogonal grids, with two sets of lines perpendicular to each other (such as the square grid),
and isometric grids, with three sets of lines at 60-degree angles to each other (such as the triangular grid).
(3) http://mathworld.wolfram.com/SquareGrid.html
A square grid is a grid formed by tiling the plane regularly with squares.
(4) Milner's Bigraph book
(5 and 6) Bigraph papers that apply the Bigraph notation
(7) paper that describes the mathematics of binary trees
(8) https://en.wikipedia.org/wiki/Grid_(spatial_index)
geographical applications
In the context of a spatial index, a grid or mesh is a regular tessellation of a manifold or 2-D surface that divides it into a series of contiguous cells,
which can then be assigned unique identifiers and used for spatial indexing purposes.
A wide variety of such grids have been proposed or are currently in use, including grids based on "square" or "rectangular" cells
(9) https://en.wikipedia.org/wiki/Lattice_graph
A lattice graph, mesh graph, or grid graph, is a graph whose drawing, embedded in some Euclidean space Rn, forms a regular tiling.
This implies that the group of bijective transformations that send the graph to itself is a lattice in the group-theoretical sense.
Typically, no clear distinction is made between such a graph in the more abstract sense of graph theory, and its drawing in space (often the plane or 3D space).
This type of graph may more shortly be called just a lattice, mesh, or grid. Moreover, these terms are also commonly used for a finite section of the infinite graph, as in "an 8×8 square grid".
The term lattice graph has also been given in the literature to various other kinds of graphs with some regular structure, such as the Cartesian product of a number of complete graphs.
A common type of a lattice graph (known under different names, such as square grid graph) is the graph whose vertices correspond to the points in the plane with integer coordinates,
x-coordinates being in the range 1,..., n, y-coordinates being in the range 1,..., m, and two vertices are connected by an edge whenever the corresponding points are at distance 1.
In other words, it is a unit distance graph for the described point set.
A square grid graph is a Cartesian product of graphs, namely, of two path graphs with n − 1 {\displaystyle n-1} n-1 and m − 1 {\displaystyle m-1} {\displaystyle m-1} edges.
Since a path graph is a median graph, the latter fact implies that the square grid graph is also a median graph.
All grid graphs are bipartite, which is easily verified by the fact that one can color the vertices in a checkerboard fashion.
A path graph may also be considered to be a grid graph on the grid n times 1. A 2x2 grid graph is a 4-cycle
(10) https://en.wikipedia.org/wiki/Regular_grid
A regular grid is a tessellation of n-dimensional Euclidean space by congruent parallelotopes (e.g. bricks).
Grids of this type appear on graph paper and may be used in finite element analysis, finite volume methods, finite difference methods, and in general for discretization of parameter spaces.
A Cartesian grid is a special case where the elements are unit squares or unit cubes, and the vertices are points on the integer lattice.
(11) https://en.wikipedia.org/wiki/Lattice_(order)
A lattice is an abstract structure studied in the mathematical subdisciplines of order theory and abstract algebra.
It consists of a partially ordered set in which every two elements have a unique supremum (also called a least upper bound or join) and a unique infimum (also called a greatest lower bound or meet).
An example is given by the natural numbers, partially ordered by divisibility, for which the unique supremum is the least common multiple and the unique infimum is the greatest common divisor.
(12) https://en.wikipedia.org/wiki/Integer_lattice
In mathematics, the n-dimensional integer lattice (or cubic lattice), denoted Zn, is the lattice in the Euclidean space Rn whose lattice points are n-tuples of integers.
The two-dimensional integer lattice is also called the square lattice, or grid lattice.
Zn is the simplest example of a root lattice.
The integer lattice is an odd unimodular lattice.
(13) https://math.stackexchange.com/questions/659070/notation-for-a-defining-a-grid-of-points
(14) search: mathematics "domain specific language"
) https://arxiv.org/pdf/1310.3473.pdf
) https://github.com/DSLsofMath/DSLsofMath
) https://www.chalmers.se/en/projects/Pages/Domain-Specific-Languages-of-Mathematics-QDSLsofMathQ.aspx
) https://spin.atomicobject.com/2015/05/19/domain-specific-vs-notation/
) https://en.wikipedia.org/wiki/Bra%E2%80%93ket_notation
) https://en.wikipedia.org/wiki/Domain-specific_languages
) https://www.researchgate.net/publication/200040446_When_and_How_to_Develop_Domain-Specific_Languages
) https://scholar.google.ca/scholar?q=mathematics+%22domain+specific+language%22
) https://arxiv.org/pdf/1211.4047.pdf
) https://arxiv.org/pdf/1402.4467.pdf
) http://www.cs.uu.nl/docs/vakken/afp/Literature/dsel-hudak.pdf
(15) http://www.penrose.ink/
Penrose project
Penrose is a platform that enables people to create beautiful diagrams just by typing mathematical notation in plain text.
The goal is to make it easy for non-experts to create and explore high-quality diagrams, providing deeper insight into challenging technical concepts.
We aim to democratize the process of creating visual intuition.
) https://www.cs.cmu.edu/~kqy/
) https://www.cs.cmu.edu/~kqy/resources/Penrose_DSLDI.pdf
) https://www.cs.cmu.edu/~kqy/resources/Penrose_OBT.pdf
) http://penrose.ink/PenroseIntro2018.pdf
) http://penrose.ink/Penrose_DSLDI_slides.pdf
) http://github.com/penrose/penrose
) https://github.com/penrose/penrose/wiki
)
(16) Kenneth H. Rosen, Discrete Mathematics and Its Applications, fourth edition, 1999
a textbook
(17) https://en.wikipedia.org/wiki/Partially_ordered_set
]]></Notes>
<_-.XholonClass>
<TheSystem/>
<BigraphParser superClass="script"/>
</_-.XholonClass>
<xholonClassDetails>
<BigraphParser><DefaultContent>@BigraphParser</DefaultContent></BigraphParser>
<Avatar><Color>rgba(255,0,0,1.0)</Color></Avatar>
</xholonClassDetails>
<TheSystem>
<!-- test 1 - this works -->
<Bigraph roleName="0" flatten="false"><Attribute_String><![CDATA[
B = (VB,EB,PB,ctrlB,prntB,linkB) : 〈m,X〉 → 〈n,Y〉,
m=0, X=∅, n=1, Y={q},
Σ = ( {Space,FieldRow,OceanCell,CoastCell,LandCell}, {(Space,0),(FieldRow,0),(OceanCell,4),(CoastCell,4),(LandCell,4)} ),
# I am including 2 sets as optional? components of the signature Σ: implName and xhType; these will be applied to the XholonClass
# names of Java implementation classes
Σ_implName = ( { org.primordion.xholon.base.GridEntity}, { (Space,org.primordion.xholon.base.GridEntity),(FieldRow,org.primordion.xholon.base.GridEntity),(OceanCell,org.primordion.xholon.base.GridEntity),(CoastCell,org.primordion.xholon.base.GridEntity),(LandCell,org.primordion.xholon.base.GridEntity) } ),
# xhTypes
Σ_xhType = ( {XhtypeGridEntity, XhtypeGridEntityActivePassive}, {(Space,XhtypeGridEntity), (FieldRow,XhtypeGridEntity), (OceanCell,XhtypeGridEntityActivePassive), (CoastCell,XhtypeGridEntityActivePassive), (LandCell, XhtypeGridEntityActivePassive) } ),
# config
# Σ_config=({Gmt,Gvt},{(instruction,Gvt)}), NO
# Σ_config=({Gmt,Gvt},{(OceanCell,Gvt)}), NO
# Space instance
VB = {s},
# FieldRow instances - there are 3 rows - this is an ordered collection, hence a tuple rather than a set, but for now I continue to use the brackets {} which usually designate a set
VB = {r1,r2,r3},
# grid cells - there are 3 * 4 = 12 of these - this is an ordered collection, hence a tuple rather than a set, but for now I continue to use the brackets {} which usually designate a set
VB = {1,2,3,4,5,6,7,8,9,10,11,12},
# grid cell symbols, that correspond to OceanCell CoastCell LandCell NOT USED
# VB = {.,C,L},
# edges
EB = ∅,
# ports 4 ports for each of the 12 grid cell nodes
PB = {p(1,1),p(1,2),p(1,3),p(1,4)},
PB={p(2,1),p(2,2),p(2,3),p(2,4)},
PB={p(3,1),p(3,2),p(3,3),p(3,4)},
PB={p(4,1),p(4,2),p(4,3),p(4,4)},
PB={p(5,1),p(5,2),p(5,3),p(5,4)},
PB={p(6,1),p(6,2),p(6,3),p(6,4)},
PB={p(7,1),p(7,2),p(7,3),p(7,4)},
PB={p(8,1),p(8,2),p(8,3),p(8,4)},
PB={p(9,1),p(9,2),p(9,3),p(9,4)},
PB={p(10,1),p(10,2),p(10,3),p(10,4)},
PB={p(11,1),p(11,2),p(11,3),p(11,4)},
PB={p(12,1),p(12,2),p(12,3),p(12,4)},
ctrlB = {(s,Space)},
ctrlB = {(r1,FieldRow), (r2,FieldRow), (r3,FieldRow)},
# initially, every grid cell is an OceanCell; can I use the i..j notation here to mean a range?
# ctrlB={(1..12,OceanCell)},
# OR product of 2 sets, pairs, gridcell x type
ctrlB = {(1,OceanCell),(2,CoastCell),(3,CoastCell),(4,OceanCell),(5,OceanCell),(6,LandCell),(7,LandCell),(8,CoastCell),(9,OceanCell),(10,CoastCell),(11,CoastCell),(12,OceanCell)},
# parent relations
prntB = { (r1,s), (r2,s), (r3,s) },
# product of 2 sets, pairs, gridcell x row
prntB = {(1,r1),(2,r1),(3,r1),(4,r1),(5,r2),(6,r2),(7,r2),(8,r2),(9,r3),(10,r3),(11,r3),(12,r3)},
# links port 1 port 2 port 3 port 4
# ----------- ----------- ----------- -----------
linkB = { (p(1,1), 9), (p(1,2), 2), (p(1,3), 5), (p(1,4), 4) },
linkB = { (p(2,1),10), (p(2,2), 3), (p(2,3), 6), (p(2,4), 1) },
linkB = { (p(3,1),11), (p(3,2), 4), (p(3,3), 7), (p(3,4), 2) },
linkB = { (p(4,1),12), (p(4,2), 1), (p(4,3), 8), (p(4,4), 3) },
linkB = { (p(5,1), 1), (p(5,2), 6), (p(5,3), 9), (p(5,4), 8) },
linkB = { (p(6,1), 2), (p(6,2), 7), (p(6,3),10), (p(6,4), 5) },
linkB = { (p(7,1), 3), (p(7,2), 8), (p(7,3),11), (p(7,4), 6) },
linkB = { (p(8,1), 4), (p(8,2), 5), (p(8,3),12), (p(8,4), 7) },
linkB = { (p(9,1), 5), (p(9,2),10), (p(9,3), 1), (p(9,4),12) },
linkB = { (p(10,1),6), (p(10,2),11),(p(10,3),2), (p(10,4),9) },
linkB = { (p(11,1),7), (p(11,2),12),(p(11,3),3), (p(11,4),10)},
linkB = { (p(12,1),8), (p(12,2),9), (p(12,3),4), (p(12,4),11)},
# symbol -> type mapping for grid cells NOT USED
# $symboltype={(.,OceanCell),(C,CoastCell),(L,LandCell)},
# colors
# I want to use rgba(255,255,255,1.0) to get an opaque white background
# use rgba(255|255|255|1.0)
_Color = ({rgba(255|255|255|0.5), rgba(255|255|255|0.9), #171c8f, #d0c883, PaleGoldenRod}, {(Space,rgba(255|255|255|0.5)), (FieldRow,rgba(255|255|255|0.9)), (OceanCell,#171c8f), (CoastCell,#d0c883), (LandCell,PaleGoldenRod)}),
# GridGenerator
_shouldBuildXhc=false,
_shouldBuildCsh=false,
_gridType=Gvt,
_gridViewerParams=(TheSystem/Bigraph/Space,50,Island Viewer,true),
_cellsCanSupplyOwnColor=true,
_GridGenerator=(_gridType,_columnColor,_gridViewerParams,_cellsCanSupplyOwnColor,_shouldBuildXhc,_shouldBuildCsh),
# mapping from a set of keyboard key names to a set of Avatar actions
_keys={UP,RIGHT,DOWN,LEFT},
_actions={go link0,go link1,go link2,go link3},
_AvatarKeyMap={(UP,go link0),(RIGHT,go link1),(DOWN,go link2),(LEFT,go link3)},
]]></Attribute_String>
<BigraphParser/>
</Bigraph>
<!-- test 2 - this works -->
<!--<Bigraph roleName="1"><Attribute_String><![CDATA[
B=(VB,EB,PB,ctrlB,prntB,linkB):〈m,X〉→〈n,Y〉,
m=0,X=∅,n=1,Y={q},
# GridGenerator
_rows=10,
_cols=15,
_gridType=Gvt,
_names=(Space,FieldRow,OceanCell),
_columnColor=171c8f,
_gridViewerParams=(TheSystem/Bigraph/Space,10,Island Viewer,true),
_cellsCanSupplyOwnColor=true,
_GridGenerator=(_rows,_cols,_gridType,_names,_columnColor,_gridViewerParams,_cellsCanSupplyOwnColor),
# mapping from a set of keyboard key names to a set of Avatar actions
_keys={UP,RIGHT,DOWN,LEFT},
_actions={go link0,go link1,go link2,go link3},
_AvatarKeyMap={(UP,go link0),(RIGHT,go link1),(DOWN,go link2),(LEFT,go link3)},
#Σ=({Space,FieldRow,OceanCell,CoastCell,LandCell},{(Space,0),(FieldRow,0),(OceanCell,4),(OceanCell,4),(LandCell,4)}),
Σ=({CoastCell,LandCell},{(CoastCell,4),(LandCell,4)}),
# I am including 2 sets as optional components of the signature Σ: implName and xhType; these will be applied to the XholonClass
# names of Java implementation classes
#Σ_implName=({org.primordion.xholon.base.GridEntity},{(Space,org.primordion.xholon.base.GridEntity),(FieldRow,org.primordion.xholon.base.GridEntity),(OceanCell,org.primordion.xholon.base.GridEntity),(CoastCell,org.primordion.xholon.base.GridEntity),(LandCell,org.primordion.xholon.base.GridEntity)}),
# xhTypes
#Σ_xhType=({XhtypeGridEntity,XhtypeGridEntityActivePassive},{(Space,XhtypeGridEntity),(FieldRow,XhtypeGridEntity),(OceanCell,XhtypeGridEntityActivePassive),(CoastCell,XhtypeGridEntityActivePassive),(LandCell,XhtypeGridEntityActivePassive)}),
# config
# Σ_config=({Gmt,Gvt},{(instruction,Gvt)}), NO
# Σ_config=({Gmt,Gvt},{(OceanCell,Gvt)}),
# Space instance
VB={s},
# FieldRow instances - there are 3 rows - this is an ordered collection, hence a tuple rather than a set, but for now I continue to use the brackets {} which usually designate a set
VB={r1,r2,r3},
# grid cells - there are 3 * 4 = 12 of these - this is an ordered collection, hence a tuple rather than a set, but for now I continue to use the brackets {} which usually designate a set
VB={1,2,3,4,5,6,7,8,9,10,11,12},
# grid cell symbols, that correspond to OceanCell CoastCell LandCell
VB={.,C,L},
# edges
EB=∅,
# ports
#PB={p(north,0),???},
#ctrlB={(s,Space)},
#ctrlB={(r1,FieldRow),(r2,FieldRow),(r3,FieldRow)},
# initially, every grid cell is an OceanCell; can I use the i..j notation here to mean a range?
#ctrlB={(1..12,OceanCell)},
# OR product of 2 sets, pairs, gridcell x type
#ctrlB={(1,OceanCell),(2,CoastCell),(3,CoastCell),(4,OceanCell),(5,OceanCell),(6,LandCell),(7,LandCell),(8,CoastCell),(9,OceanCell),(10,CoastCell),(11,CoastCell),(12,OceanCell)},
# parent relations
#prntB={(r1,s),(r2,s),(r3,s)},
# product of 2 sets, pairs, gridcell x row
#prntB={(1,r1),(2,r1),(3,r1),(4,r1),(5,r2),(6,r2),(7,r2),(8,r2),(9,r3),(10,r3),(11,r3),(12,r3)},
# symbol -> type mapping for grid cells
$symboltype={(.,OceanCell),(C,CoastCell),(L,LandCell)},
# colors
_Color=({#171c8f,#d0c883,PaleGoldenRod},{(OceanCell,171c8f),(CoastCell,#d0c883),(LandCell,PaleGoldenRod)}),
]]></Attribute_String>
<BigraphParser/>
</Bigraph>-->
<!-- test 3 - try out changes to GridGenerator.java -->
<!--<Bigraph roleName="0"><Attribute_String><![CDATA[
B=(VB,EB,PB,ctrlB,prntB,linkB):〈m,X〉→〈n,Y〉,
m=0,X=∅,n=1,Y={q},
Σ=({Space,FieldRow,OceanCell,CoastCell,LandCell},{(Space,0),(FieldRow,0),(OceanCell,4),(CoastCell,4),(LandCell,4)}),
# I am including 2 sets as optional components of the signature Σ: implName and xhType; these will be applied to the XholonClass
# names of Java implementation classes
Σ_implName=({org.primordion.xholon.base.GridEntity},{(Space,org.primordion.xholon.base.GridEntity),(FieldRow,org.primordion.xholon.base.GridEntity),(OceanCell,org.primordion.xholon.base.GridEntity),(CoastCell,org.primordion.xholon.base.GridEntity),(LandCell,org.primordion.xholon.base.GridEntity)}),
# xhTypes
Σ_xhType=({XhtypeGridEntity,XhtypeGridEntityActivePassive},{(Space,XhtypeGridEntity),(FieldRow,XhtypeGridEntity),(OceanCell,XhtypeGridEntityActivePassive),(CoastCell,XhtypeGridEntityActivePassive),(LandCell,XhtypeGridEntityActivePassive)}),
# config
# Σ_config=({Gmt,Gvt},{(instruction,Gvt)}), NO
Σ_config=({Gmt,Gvt},{(OceanCell,Gvt)}),
# Space instance
VB={s},
# FieldRow instances - there are 3 rows - this is an ordered collection, hence a tuple rather than a set, but for now I continue to use the brackets {} which usually designate a set
VB={r1,r2,r3},
# grid cells - there are 3 * 4 = 12 of these - this is an ordered collection, hence a tuple rather than a set, but for now I continue to use the brackets {} which usually designate a set
VB={1,2,3,4,5,6,7,8,9,10,11,12},
# grid cell symbols, that correspond to OceanCell CoastCell LandCell
VB={.,C,L},
# edges
EB=∅,
# ports
#PB={p(north,0),???},
ctrlB={(s,Space)},
ctrlB={(r1,FieldRow),(r2,FieldRow),(r3,FieldRow)},
# initially, every grid cell is an OceanCell; can I use the i..j notation here to mean a range?
#ctrlB={(1..12,OceanCell)},
# OR product of 2 sets, pairs, gridcell x type
ctrlB={(1,OceanCell),(2,CoastCell),(3,CoastCell),(4,OceanCell),(5,OceanCell),(6,LandCell),(7,LandCell),(8,CoastCell),(9,OceanCell),(10,CoastCell),(11,CoastCell),(12,OceanCell)},
# parent relations
prntB={(r1,s),(r2,s),(r3,s)},
# product of 2 sets, pairs, gridcell x row
prntB={(1,r1),(2,r1),(3,r1),(4,r1),(5,r2),(6,r2),(7,r2),(8,r2),(9,r3),(10,r3),(11,r3),(12,r3)},
# symbol -> type mapping for grid cells
$symboltype={(.,OceanCell),(C,CoastCell),(L,LandCell)},
# colors
_Color=({#171c8f,#d0c883,PaleGoldenRod},{(OceanCell,171c8f),(CoastCell,#d0c883),(LandCell,PaleGoldenRod)}),
]]></Attribute_String>
<BigraphParser/>
</Bigraph>-->
<!-- I can paste a copy of this Bigraph into Bigraph 0. It works correctly if flatten has a value of either true or false. -->
<!--<Bigraph roleName="4" flatten="true"><Attribute_String><![CDATA[
B = (VB,EB,PB,ctrlB,prntB,linkB) : 〈m,X〉 → 〈n,Y〉,
m=0, X=∅, n=1, Y={q},
Σ=({House,Floor,Room,Table,Chair}, {(House,0),(Floor,1),(Room,1),(Table,0),(Chair,0)}),
VB = {h1, f1, f2, r1, r2, r3, r4, t1, c1},
ctrlB = {(h1,House), (f1,Floor), (f2,Floor), (r1,Room), (r2,Room), (r3,Room), (r4,Room), (t1,Table), (c1,Chair)},
prntB = { (f1,h1), (f2,h1), (r1,f1), (r2,f1), (r3,f2), (r4,f2), (t1,r1), (c1,r4) },
_Color = ({orange, pink, indigo}, {(Room,orange),(Table,pink),(Chair,indigo)}),
]]></Attribute_String><BigraphParser/></Bigraph>-->
<!-- green and red trees (drag either of the following 2 Bigraphs into any grid cell) -->
<!--<Bigraph roleName="green tree" flatten="true" savedata="false" operation="append"><Attribute_String>
B = (VB,EB,PB,ctrlB,prntB,linkB) : 〈m,X〉 → 〈n,Y〉,
m=0, X=∅, n=1, Y={},
Σ = ({GreenTree,Fruit,JuicyBerry,Stick}, {(GreenTree,0),(Fruit,0),(JuicyBerry,0),(Stick,0)}),
VB = {1,2,3,4},
ctrlB = {(1,GreenTree), (2,Fruit), (3,JuicyBerry), (4,Stick)},
prntB = {(2,1), (3,1), (4,1)},
# properties
# a tuple containing a set of maxClones values, and a set of maxClones mappings
$maxClones = ({10}, {(2,10),(3,10),(4,10)}),
$energy = ({0,10}, {(2,10),(3,10),(4,0)}),
$mass = ({9999}, {(1,9999)}),
_Color = ({Green,Sienna,Orange,Violet}, {(GreenTree,Green), (Fruit,Orange), (JuicyBerry,Violet), (Stick,Sienna)}),
_Symbol = ({Circle,Triangle,Cross,ReverseTriangle}, {(GreenTree,Circle), (Fruit,Cross), (JuicyBerry,ReverseTriangle), (Stick,Triangle)}),
</Attribute_String>
<BigraphParser/>
</Bigraph>-->
<!--<Bigraph roleName="red tree" flatten="true" savedata="false" operation="append"><Attribute_String>
B = (VB,EB,PB,ctrlB,prntB,linkB) : 〈m,X〉 → 〈n,Y〉,
m=0, X=∅, n=1, Y={},
Σ = ({RedTree,PricklyFruit,Thorn,Vine}, {(RedTree,0),(PricklyFruit,0),(Thorn,0),(Vine,0)}),
VB = {1,2,3,4},
ctrlB = {(1,RedTree), (2,PricklyFruit), (3,Thorn), (4,Vine)},
prntB = {(2,1), (3,1), (4,1)},
# properties
# a tuple containing a set of maxClones values, and a set of maxClones mappings
$maxClones = ({10}, {(2,10),(3,10),(4,10)}),
$energy = ({0,10}, {(2,10),(3,0),(4,0)}),
$mass = ({9999}, {(1,9999)}),
_Color = ({Red,DarkGreen,DarkOliveGreen,DeepPink}, {(RedTree,Red), (PricklyFruit,DeepPink), (Thorn,DarkOliveGreen), (Vine,DarkGreen)}),
_Symbol = ({Circle,SmallRectangle,SmallCircle,Cross}, {(RedTree,Circle), (PricklyFruit,Cross), (Thorn,SmallCircle), (Vine,SmallRectangle)}),
</Attribute_String>
<BigraphParser/>
</Bigraph>-->
<Animate duration="0.25" selection="#xhanim" xpath="./TheSystem/Bigraph" cssStyle=".d3cpnode circle {stroke-width: 0.5px;}" efParams="{&quot;selection&quot;:&quot;#xhanim&quot;,&quot;sort&quot;:&quot;disable&quot;,&quot;width&quot;:700,&quot;height&quot;:700,&quot;mode&quot;:&quot;tween&quot;,&quot;labelContainers&quot;:true,&quot;includeClass&quot;:true,&quot;includeId&quot;:true,&quot;shape&quot;:&quot;circle&quot;}"/>
</TheSystem>
<TheSystembehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
// move the system Avatar to the first grid cell by following a path downwards in the Place Graph, make the Avatar visible, and start the application
const ava = $wnd.xh.avatar();
ava.action("enter;enter;enter;enter;enter;appear;start");
//# sourceURL=TheSystembehavior.js
]]></TheSystembehavior>
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml,
<!--<svg width="100" height="50" xmlns="http://www.w3.org/2000/svg">
<g>
<title>Bigraph</title>
<rect id="TheSystem/Bigraph" fill="#98FB98" height="50" width="50" x="25" y="0"/>
<g>
<title>Space</title>
<rect id="TheSystem/Bigraph/Space" fill="#6AB06A" height="50" width="10" x="80" y="0"/>
</g>
</g>
</svg>-->
<!-- Graphviz binary tree -->
<svg width="1378pt" height="274pt"
viewBox="0.00 0.00 1378.00 273.80" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="Bigraph" class="graph" transform="scale(1 1) rotate(0) translate(4 269.8)">
<title>46</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-269.8 1374,-269.8 1374,4 -4,4"/>
<text text-anchor="middle" x="685" y="-8.2" font-family="Courier New" font-size="14.00">0</text>
<!-- 46 -->
<g id="Bigraph" class="node"><title>46</title>
<ellipse fill="#8b572e" stroke="black" cx="27" cy="-140.8" rx="27" ry="18"/>
<text text-anchor="middle" x="27" y="-136.6" font-family="Courier New" font-size="14.00">0</text>
</g>
<!-- 54 -->
<g id="Bigraph/Space" class="node"><title>54</title>
<ellipse fill="#ffffff" stroke="black" cx="134" cy="-161.8" rx="40.005" ry="18"/>
<text text-anchor="middle" x="134" y="-157.6" font-family="Courier New" font-size="14.00">Space</text>
</g>
<!-- 46&#45;&#45;54 -->
<g id="Bigraph_edge1" class="edge"><title>46&#45;&#45;54</title>
<path fill="none" stroke="black" d="M53.1501,-145.83C66.255,-148.451 82.5141,-151.703 96.9338,-154.587"/>
<text text-anchor="middle" x="74" y="-153.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- null73 -->
<g id="Bigraph_node35" class="node"><title>null73</title>
<ellipse fill="#ffffff" stroke="black" cx="134" cy="-123.8" rx="1.8" ry="1.8"/>
</g>
<!-- 46&#45;&#45;null73 -->
<g id="Bigraph_edge34" class="edge"><title>46&#45;&#45;null73</title>
<path fill="none" stroke="black" d="M51.0295,-132.523C57.7115,-130.44 65.0748,-128.444 72,-127.2 96.22,-122.85 126.64,-123.592 132.131,-123.769"/>
<text text-anchor="middle" x="74" y="-130.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- 56 -->
<g id="Bigraph/Space/FieldRow[1]" class="node"><title>56</title>
<ellipse fill="#ffffff" stroke="black" cx="272" cy="-183.8" rx="57.2645" ry="18"/>
<text text-anchor="middle" x="272" y="-179.6" font-family="Courier New" font-size="14.00">FieldRow</text>
</g>
<!-- 54&#45;&#45;56 -->
<g id="Bigraph_edge2" class="edge"><title>54&#45;&#45;56</title>
<path fill="none" stroke="black" d="M171.804,-167.754C186.829,-170.184 204.448,-173.034 220.636,-175.653"/>
<text text-anchor="middle" x="194" y="-174.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- null72 -->
<g id="Bigraph_node34" class="node"><title>null72</title>
<ellipse fill="#ffffff" stroke="black" cx="272" cy="-145.8" rx="1.8" ry="1.8"/>
</g>
<!-- 54&#45;&#45;null72 -->
<g id="Bigraph_edge33" class="edge"><title>54&#45;&#45;null72</title>
<path fill="none" stroke="black" d="M169.19,-153.227C176.664,-151.638 184.564,-150.174 192,-149.2 223.579,-145.062 262.803,-145.632 269.88,-145.775"/>
<text text-anchor="middle" x="194" y="-152.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- 62 -->
<g id="Bigraph/Space/FieldRow[1]/OceanCell[1]" class="node"><title>62</title>
<ellipse fill="#171c8f" stroke="black" cx="433" cy="-225.8" rx="63.3511" ry="18"/>
<text text-anchor="middle" x="433" y="-221.6" font-family="Courier New" font-size="14.00">OceanCell</text>
</g>
<!-- 56&#45;&#45;62 -->
<g id="Bigraph_edge3" class="edge"><title>56&#45;&#45;62</title>
<path fill="none" stroke="black" d="M316.447,-195.277C338.055,-200.984 364.171,-207.883 386.104,-213.677"/>
<text text-anchor="middle" x="350" y="-207.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- 58 -->
<g id="Bigraph/Space/FieldRow[2]" class="node"><title>58</title>
<ellipse fill="#ffffff" stroke="black" cx="433" cy="-156.8" rx="57.2645" ry="18"/>
<text text-anchor="middle" x="433" y="-152.6" font-family="Courier New" font-size="14.00">FieldRow</text>
</g>
<!-- 56&#45;&#45;58 -->
<g id="Bigraph_edge12" class="edge"><title>56&#45;&#45;58</title>
<path fill="none" stroke="black" d="M322.872,-175.331C341.816,-172.114 363.378,-168.453 382.305,-165.239"/>
<text text-anchor="middle" x="350" y="-173.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null56 -->
<g id="Bigraph_node5" class="node"><title>null56</title>
<ellipse fill="#000000" stroke="black" cx="599" cy="-263.8" rx="1.8" ry="1.8"/>
</g>
<!-- 62&#45;&#45;null56 -->
<g id="Bigraph_edge4" class="edge"><title>62&#45;&#45;null56</title>
<path fill="none" stroke="black" d="M478.238,-238.368C496.096,-243.217 516.949,-248.596 536,-252.8 560.766,-258.265 591.564,-262.859 597.12,-263.672"/>
<text text-anchor="middle" x="516" y="-251.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- 64 -->
<g id="Bigraph/Space/FieldRow[1]/CoastCell[1]" class="node"><title>64</title>
<ellipse fill="#d0c883" stroke="black" cx="599" cy="-225.8" rx="63.3511" ry="18"/>
<text text-anchor="middle" x="599" y="-221.6" font-family="Courier New" font-size="14.00">CoastCell</text>
</g>
<!-- 62&#45;&#45;64 -->
<g id="Bigraph_edge5" class="edge"><title>62&#45;&#45;64</title>
<path fill="none" stroke="black" d="M496.469,-225.8C509.323,-225.8 522.857,-225.8 535.704,-225.8"/>
<text text-anchor="middle" x="516" y="-228.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null57 -->
<g id="Bigraph_node7" class="node"><title>null57</title>
<ellipse fill="#000000" stroke="black" cx="765" cy="-263.8" rx="1.8" ry="1.8"/>
</g>
<!-- 64&#45;&#45;null57 -->
<g id="Bigraph_edge6" class="edge"><title>64&#45;&#45;null57</title>
<path fill="none" stroke="black" d="M644.238,-238.368C662.096,-243.217 682.949,-248.596 702,-252.8 726.766,-258.265 757.564,-262.859 763.12,-263.672"/>
<text text-anchor="middle" x="682" y="-251.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- 66 -->
<g id="Bigraph/Space/FieldRow[1]/CoastCell[2]" class="node"><title>66</title>
<ellipse fill="#d0c883" stroke="black" cx="765" cy="-225.8" rx="63.3511" ry="18"/>
<text text-anchor="middle" x="765" y="-221.6" font-family="Courier New" font-size="14.00">CoastCell</text>
</g>
<!-- 64&#45;&#45;66 -->
<g id="Bigraph_edge7" class="edge"><title>64&#45;&#45;66</title>
<path fill="none" stroke="black" d="M662.469,-225.8C675.323,-225.8 688.857,-225.8 701.704,-225.8"/>
<text text-anchor="middle" x="682" y="-228.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null58 -->
<g id="Bigraph_node9" class="node"><title>null58</title>
<ellipse fill="#000000" stroke="black" cx="931" cy="-253.8" rx="1.8" ry="1.8"/>
</g>
<!-- 66&#45;&#45;null58 -->
<g id="Bigraph_edge8" class="edge"><title>66&#45;&#45;null58</title>
<path fill="none" stroke="black" d="M819.7,-234.968C863.792,-242.496 920.328,-252.149 928.893,-253.611"/>
<text text-anchor="middle" x="848" y="-242.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- 68 -->
<g id="Bigraph/Space/FieldRow[1]/OceanCell[2]" class="node"><title>68</title>
<ellipse fill="#171c8f" stroke="black" cx="931" cy="-215.8" rx="63.3511" ry="18"/>
<text text-anchor="middle" x="931" y="-211.6" font-family="Courier New" font-size="14.00">OceanCell</text>
</g>
<!-- 66&#45;&#45;68 -->
<g id="Bigraph_edge9" class="edge"><title>66&#45;&#45;68</title>
<path fill="none" stroke="black" d="M827.068,-222.076C840.819,-221.238 855.412,-220.348 869.155,-219.51"/>
<text text-anchor="middle" x="848" y="-223.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null59 -->
<g id="Bigraph_node11" class="node"><title>null59</title>
<ellipse fill="#000000" stroke="black" cx="1097" cy="-242.8" rx="1.8" ry="1.8"/>
</g>
<!-- 68&#45;&#45;null59 -->
<g id="Bigraph_edge10" class="edge"><title>68&#45;&#45;null59</title>
<path fill="none" stroke="black" d="M986.154,-224.716C1030.19,-231.966 1086.39,-241.218 1094.9,-242.619"/>
<text text-anchor="middle" x="1014" y="-232.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- null60 -->
<g id="Bigraph_node12" class="node"><title>null60</title>
<ellipse fill="#ffffff" stroke="black" cx="1097" cy="-209.8" rx="1.8" ry="1.8"/>
</g>
<!-- 68&#45;&#45;null60 -->
<g id="Bigraph_edge11" class="edge"><title>68&#45;&#45;null60</title>
<path fill="none" stroke="black" d="M993.138,-212.027C999.505,-211.711 1005.88,-211.427 1012,-211.2 1046.4,-209.925 1088.76,-209.811 1095.17,-209.801"/>
<text text-anchor="middle" x="1014" y="-214.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- 70 -->
<g id="Bigraph/Space/FieldRow[2]/OceanCell" class="node"><title>70</title>
<ellipse fill="#171c8f" stroke="black" cx="599" cy="-156.8" rx="63.3511" ry="18"/>
<text text-anchor="middle" x="599" y="-152.6" font-family="Courier New" font-size="14.00">OceanCell</text>
</g>
<!-- 58&#45;&#45;70 -->
<g id="Bigraph_edge13" class="edge"><title>58&#45;&#45;70</title>
<path fill="none" stroke="black" d="M490.439,-156.8C504.986,-156.8 520.726,-156.8 535.558,-156.8"/>
<text text-anchor="middle" x="516" y="-159.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- 60 -->
<g id="Bigraph/Space/FieldRow[3]" class="node"><title>60</title>
<ellipse fill="#ffffff" stroke="black" cx="599" cy="-95.8" rx="57.2645" ry="18"/>
<text text-anchor="middle" x="599" y="-91.6" font-family="Courier New" font-size="14.00">FieldRow</text>
</g>
<!-- 58&#45;&#45;60 -->
<g id="Bigraph_edge22" class="edge"><title>58&#45;&#45;60</title>
<path fill="none" stroke="black" d="M470.805,-143.11C497.814,-133.064 534.337,-119.479 561.318,-109.444"/>
<text text-anchor="middle" x="516" y="-129.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null61 -->
<g id="Bigraph_node15" class="node"><title>null61</title>
<ellipse fill="#000000" stroke="black" cx="765" cy="-187.8" rx="1.8" ry="1.8"/>
</g>
<!-- 70&#45;&#45;null61 -->
<g id="Bigraph_edge14" class="edge"><title>70&#45;&#45;null61</title>
<path fill="none" stroke="black" d="M651.071,-167.001C667.337,-170.2 685.414,-173.703 702,-176.8 726.931,-181.455 757.595,-186.707 763.125,-187.651"/>
<text text-anchor="middle" x="682" y="-176.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- 72 -->
<g id="Bigraph/Space/FieldRow[2]/LandCell[1]" class="node"><title>72</title>
<ellipse fill="PaleGoldenRod" stroke="black" cx="765" cy="-149.8" rx="57.2645" ry="18"/>
<text text-anchor="middle" x="765" y="-145.6" font-family="Courier New" font-size="14.00">LandCell</text>
</g>
<!-- 70&#45;&#45;72 -->
<g id="Bigraph_edge15" class="edge"><title>70&#45;&#45;72</title>
<path fill="none" stroke="black" d="M661.534,-154.174C676.804,-153.522 693.085,-152.827 708.069,-152.187"/>
<text text-anchor="middle" x="682" y="-156.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null62 -->
<g id="Bigraph_node17" class="node"><title>null62</title>
<ellipse fill="#000000" stroke="black" cx="931" cy="-174.8" rx="1.8" ry="1.8"/>
</g>
<!-- 72&#45;&#45;null62 -->
<g id="Bigraph_edge16" class="edge"><title>72&#45;&#45;null62</title>
<path fill="none" stroke="black" d="M816.992,-157.573C861.373,-164.339 919.967,-173.271 928.851,-174.625"/>
<text text-anchor="middle" x="848" y="-165.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- 74 -->
<g id="Bigraph/Space/FieldRow[2]/LandCell[2]" class="node"><title>74</title>
<ellipse fill="PaleGoldenRod" stroke="black" cx="931" cy="-136.8" rx="57.2645" ry="18"/>
<text text-anchor="middle" x="931" y="-132.6" font-family="Courier New" font-size="14.00">LandCell</text>
</g>
<!-- 72&#45;&#45;74 -->
<g id="Bigraph_edge17" class="edge"><title>72&#45;&#45;74</title>
<path fill="none" stroke="black" d="M820.649,-145.245C829.136,-144.551 837.803,-143.85 846,-143.2 855.331,-142.46 865.247,-141.689 874.871,-140.951"/>
<text text-anchor="middle" x="848" y="-146.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null63 -->
<g id="Bigraph_node19" class="node"><title>null63</title>
<ellipse fill="#000000" stroke="black" cx="1097" cy="-172.8" rx="1.8" ry="1.8"/>
</g>
<!-- 74&#45;&#45;null63 -->
<g id="Bigraph_edge18" class="edge"><title>74&#45;&#45;null63</title>
<path fill="none" stroke="black" d="M975.788,-148.192C993.765,-152.697 1014.82,-157.753 1034,-161.8 1058.82,-167.037 1089.57,-171.816 1095.12,-172.666"/>
<text text-anchor="middle" x="1014" y="-160.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- 76 -->
<g id="Bigraph/Space/FieldRow[2]/CoastCell" class="node"><title>76</title>
<ellipse fill="#d0c883" stroke="black" cx="1097" cy="-134.8" rx="63.3511" ry="18"/>
<text text-anchor="middle" x="1097" y="-130.6" font-family="Courier New" font-size="14.00">CoastCell</text>
</g>
<!-- 74&#45;&#45;76 -->
<g id="Bigraph_edge19" class="edge"><title>74&#45;&#45;76</title>
<path fill="none" stroke="black" d="M988.439,-136.112C1003.08,-135.933 1018.93,-135.74 1033.84,-135.558"/>
<text text-anchor="middle" x="1014" y="-138.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null64 -->
<g id="Bigraph_node21" class="node"><title>null64</title>
<ellipse fill="#000000" stroke="black" cx="1263" cy="-155.8" rx="1.8" ry="1.8"/>
</g>
<!-- 76&#45;&#45;null64 -->
<g id="Bigraph_edge20" class="edge"><title>76&#45;&#45;null64</title>
<path fill="none" stroke="black" d="M1154.9,-142.086C1198.57,-147.677 1252.74,-154.615 1260.94,-155.664"/>
<text text-anchor="middle" x="1180" y="-148.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- null65 -->
<g id="Bigraph_node22" class="node"><title>null65</title>
<ellipse fill="#ffffff" stroke="black" cx="1263" cy="-122.8" rx="1.8" ry="1.8"/>
</g>
<!-- 76&#45;&#45;null65 -->
<g id="Bigraph_edge21" class="edge"><title>76&#45;&#45;null65</title>
<path fill="none" stroke="black" d="M1153.43,-126.616C1161.65,-125.646 1170.04,-124.792 1178,-124.2 1212.33,-121.648 1254.75,-122.612 1261.17,-122.778"/>
<text text-anchor="middle" x="1180" y="-127.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- 78 -->
<g id="Bigraph/Space/FieldRow[3]/OceanCell[1]" class="node"><title>78</title>
<ellipse fill="#171c8f" stroke="black" cx="765" cy="-95.8" rx="63.3511" ry="18"/>
<text text-anchor="middle" x="765" y="-91.6" font-family="Courier New" font-size="14.00">OceanCell</text>
</g>
<!-- 60&#45;&#45;78 -->
<g id="Bigraph_edge23" class="edge"><title>60&#45;&#45;78</title>
<path fill="none" stroke="black" d="M656.439,-95.8C670.986,-95.8 686.726,-95.8 701.558,-95.8"/>
<text text-anchor="middle" x="682" y="-98.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- null71 -->
<g id="Bigraph_node33" class="node"><title>null71</title>
<ellipse fill="#ffffff" stroke="black" cx="765" cy="-57.8" rx="1.8" ry="1.8"/>
</g>
<!-- 60&#45;&#45;null71 -->
<g id="Bigraph_edge32" class="edge"><title>60&#45;&#45;null71</title>
<path fill="none" stroke="black" d="M641.99,-83.8432C660.331,-78.8394 682.144,-73.1814 702,-68.8 726.766,-63.335 757.564,-58.7411 763.12,-57.9278"/>
<text text-anchor="middle" x="682" y="-76.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null66 -->
<g id="Bigraph_node25" class="node"><title>null66</title>
<ellipse fill="#000000" stroke="black" cx="931" cy="-96.8" rx="1.8" ry="1.8"/>
</g>
<!-- 78&#45;&#45;null66 -->
<g id="Bigraph_edge24" class="edge"><title>78&#45;&#45;null66</title>
<path fill="none" stroke="black" d="M828.469,-96.1809C871.195,-96.4414 921.431,-96.7478 929.02,-96.794"/>
<text text-anchor="middle" x="848" y="-99.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- 80 -->
<g id="Bigraph/Space/FieldRow[3]/CoastCell[1]" class="node"><title>80</title>
<ellipse fill="#d0c883" stroke="black" cx="931" cy="-58.8" rx="63.3511" ry="18"/>
<text text-anchor="middle" x="931" y="-54.6" font-family="Courier New" font-size="14.00">CoastCell</text>
</g>
<!-- 78&#45;&#45;80 -->
<g id="Bigraph_edge25" class="edge"><title>78&#45;&#45;80</title>
<path fill="none" stroke="black" d="M815.205,-84.6988C835.962,-80.0158 860.076,-74.5755 880.829,-69.8934"/>
<text text-anchor="middle" x="848" y="-80.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null67 -->
<g id="Bigraph_node27" class="node"><title>null67</title>
<ellipse fill="#000000" stroke="black" cx="1097" cy="-95.8" rx="1.8" ry="1.8"/>
</g>
<!-- 80&#45;&#45;null67 -->
<g id="Bigraph_edge26" class="edge"><title>80&#45;&#45;null67</title>
<path fill="none" stroke="black" d="M977.274,-71.1064C994.91,-75.6986 1015.33,-80.7707 1034,-84.8 1058.79,-90.1512 1089.57,-94.8375 1095.12,-95.6692"/>
<text text-anchor="middle" x="1014" y="-83.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- 82 -->
<g id="Bigraph/Space/FieldRow[3]/CoastCell[2]" class="node"><title>82</title>
<ellipse fill="#d0c883" stroke="black" cx="1097" cy="-57.8" rx="63.3511" ry="18"/>
<text text-anchor="middle" x="1097" y="-53.6" font-family="Courier New" font-size="14.00">CoastCell</text>
</g>
<!-- 80&#45;&#45;82 -->
<g id="Bigraph_edge27" class="edge"><title>80&#45;&#45;82</title>
<path fill="none" stroke="black" d="M994.469,-58.4191C1007.32,-58.3407 1020.86,-58.2582 1033.7,-58.1799"/>
<text text-anchor="middle" x="1014" y="-61.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null68 -->
<g id="Bigraph_node29" class="node"><title>null68</title>
<ellipse fill="#000000" stroke="black" cx="1263" cy="-80.8" rx="1.8" ry="1.8"/>
</g>
<!-- 82&#45;&#45;null68 -->
<g id="Bigraph_edge28" class="edge"><title>82&#45;&#45;null68</title>
<path fill="none" stroke="black" d="M1153.98,-65.651C1197.78,-71.7933 1252.62,-79.4852 1260.93,-80.6495"/>
<text text-anchor="middle" x="1180" y="-72.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- 84 -->
<g id="Bigraph/Space/FieldRow[3]/OceanCell[2]" class="node"><title>84</title>
<ellipse fill="#171c8f" stroke="black" cx="1263" cy="-42.8" rx="63.3511" ry="18"/>
<text text-anchor="middle" x="1263" y="-38.6" font-family="Courier New" font-size="14.00">OceanCell</text>
</g>
<!-- 82&#45;&#45;84 -->
<g id="Bigraph_edge29" class="edge"><title>82&#45;&#45;84</title>
<path fill="none" stroke="black" d="M1156.09,-51.3411C1163.46,-50.5846 1170.91,-49.8514 1178,-49.2 1185.57,-48.5046 1193.54,-47.8276 1201.42,-47.1903"/>
<text text-anchor="middle" x="1180" y="-52.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
<!-- null69 -->
<g id="Bigraph_node31" class="node"><title>null69</title>
<ellipse fill="#000000" stroke="black" cx="1368" cy="-59.8" rx="1.8" ry="1.8"/>
</g>
<!-- 84&#45;&#45;null69 -->
<g id="Bigraph_edge30" class="edge"><title>84&#45;&#45;null69</title>
<path fill="none" stroke="black" d="M1318.21,-51.7481C1339.93,-55.3316 1360.99,-58.8087 1365.92,-59.622"/>
<text text-anchor="middle" x="1346" y="-59.2" font-family="Times,serif" font-size="8.00">1</text>
</g>
<!-- null70 -->
<g id="Bigraph_node32" class="node"><title>null70</title>
<ellipse fill="#ffffff" stroke="black" cx="1368" cy="-26.8" rx="1.8" ry="1.8"/>
</g>
<!-- 84&#45;&#45;null70 -->
<g id="Bigraph_edge31" class="edge"><title>84&#45;&#45;null70</title>
<path fill="none" stroke="black" d="M1315.07,-32.5384C1324.65,-30.8812 1334.61,-29.3385 1344,-28.2 1352.58,-27.16 1363.05,-26.8783 1366.12,-26.8157"/>
<text text-anchor="middle" x="1346" y="-31.2" font-family="Times,serif" font-size="8.00">0</text>
</g>
</g>
</svg>
<!-- d3 HierEdgeBundle -->
<svg width="960" height="960">
<g transform="translate(480,480)"><path class="d3heblink" d="M146.42519150728808,-328.8763647513363L157.8626274733282,-300.39488008951565C169.3000634393683,-271.91339542769487,192.17493537144853,-214.95042610405343,165.12570315158436,-133.17827512018465C138.07647093172025,-51.40612413631585,61.103134559911744,55.17520850778028,-15.87020181189677,59.756541151876434C-92.84353818370528,64.33787379597257,-169.8168745555138,-33.08079355993128,-226.84315464229408,-53.76850928918476C-283.8694347290743,-74.45622501843826,-320.9486585308264,-18.412989121041377,-339.48827043170235,9.60862882765706L-358.0278823325784,37.6302467763555"><title class="tooltip"></title></path><path class="d3heblink" d="M146.42519150728808,-328.8763647513363L162.52929600563454,-301.58567958078686C178.633400503981,-274.29499441023734,210.8416095006739,-219.71362406913835,231.02610044476953,-205.0487329921138C251.21059138886517,-190.38384191508925,259.37136428036354,-215.63543010213908,263.4517507261127,-228.261224195664L267.5321371718619,-240.88701828918897"><title class="tooltip"></title></path><path class="d3heblink" d="M146.42519150728808,-328.8763647513363L161.42281855556487,-298.80978089452424C176.42044560384167,-268.7431970377121,206.41569970039527,-208.6100293240878,186.48684964500447,-123.66767995023619C166.5579995896137,-38.72533057638458,96.70504538227854,71.02620045769439,62.185927649348486,139.97773149177334C27.666809916418423,208.92926252585232,28.481528657893453,237.0807935599313,59.273295266284606,255.49219130713257C90.06506187467576,273.90358905433385,150.83387634998303,282.57485351465743,181.21828358763668,286.91048574481925L211.60269082529032,291.2461179749811"><title class="tooltip"></title></path><path class="d3heblink" d="M146.42519150728808,-328.8763647513363L163.66049282014347,-298.10421376746757C180.8957941329989,-267.33206278359876,215.36639675870973,-205.78776081586113,250.63351189625809,-144.7033255612459C285.9006270338065,-83.61889030663063,321.9642546831924,-22.994321765137705,339.99606850788535,7.317962505608758L358.0278823325784,37.63024677635522"><title class="tooltip"></title></path><path class="d3heblink" d="M267.5321371718619,-240.88701828918897L261.1536345279317,-226.35110173792336C254.7751318840014,-211.8151851866578,242.01812659614092,-182.74335208412668,196.49383445881736,-116.3971799058973C150.9695423214938,-50.05100772766794,72.67796333470716,53.56950352625966,-5.613615652079503,55.190014780187255C-83.90519463886615,56.810526034114844,-162.1967736256528,-43.56896271195757,-218.3245619946821,-88.30831817115228C-274.4523503637114,-133.047673630347,-308.41634811498335,-122.146895802664,-325.39834699061936,-116.69650688882251L-342.3803458662553,-111.24611797498102"><title class="tooltip"></title></path><path class="d3heblink" d="M267.5321371718619,-240.88701828918897L265.9011901555998,-225.54084611095956C264.2702431393377,-210.1946739327302,261.0083491068135,-179.50232957627148,273.48305055587906,-157.8955128572368C285.9577520049446,-136.28869613820217,314.1690489355999,-123.76740705659162,328.2746974009276,-117.50676251578633L342.38034586625525,-111.24611797498106"><title class="tooltip"></title></path><path class="d3heblink" d="M267.5321371718619,-240.88701828918897L263.7613129939357,-223.45498139892868C259.99048881600953,-206.02294450866842,252.44884046015716,-171.15887072814792,212.1399052548417,-99.02045787192915C171.83097004952623,-26.882045015710396,98.75474799474769,82.53070691620658,61.01236241437425,151.14345884812357C23.269976834000797,219.75621078004056,20.861427728032442,247.56896271195754,29.056374853769803,274.26724228129865C37.25132197950716,300.9655218506397,56.04976533695024,326.54932905740486,65.44898701567178,339.34123266078745L74.84820869439332,352.13313626417005"><title class="tooltip"></title></path><path class="d3heblink" d="M267.5321371718619,-240.88701828918897L263.4517507261127,-228.261224195664C259.37136428036354,-215.63543010213908,251.21059138886517,-190.38384191508925,231.02610044476955,-205.0487329921138C210.8416095006739,-219.71362406913835,178.633400503981,-274.29499441023734,162.52929600563454,-301.58567958078686L146.42519150728808,-328.8763647513363"><title class="tooltip"></title></path><path class="d3heblink" d="M342.38034586625525,-111.24611797498106L325.3983469906193,-116.69650688882254C308.4163481149833,-122.14689580266402,274.4523503637114,-133.047673630347,218.32456199468209,-88.30831817115225C162.1967736256528,-43.56896271195755,83.90519463886618,56.81052603411483,5.613615652079524,55.19001478018721C-72.67796333470713,53.56950352625961,-150.9695423214938,-50.051007727667994,-196.49383445881733,-116.39717990589736C-242.0181265961409,-182.74335208412674,-254.77513188400133,-211.8151851866579,-261.15363452793156,-226.35110173792347L-267.5321371718618,-240.8870182891891"><title class="tooltip"></title></path><path class="d3heblink" d="M342.38034586625525,-111.24611797498106L329.40589421543655,-114.02529670246703C316.43144256461784,-116.80447542995302,290.4825392629805,-122.36283288492497,293.09046200736765,-97.55010542636892C295.6983847517548,-72.73737796781288,326.86313354216657,-17.553565595728827,342.4455079373725,10.038340590313197L358.0278823325784,37.63024677635522"><title class="tooltip"></title></path><path class="d3heblink" d="M342.38034586625525,-111.24611797498106L326.60262154360345,-112.99013092286404C310.82489722095164,-114.73414387074703,279.2694485756481,-118.222169766513,225.55020931258713,-66.07006237540129C171.83097004952623,-13.917954984289594,95.94794016870794,93.87428569369979,55.39874676229475,160.86652637168916C14.849553355881554,227.85876704967853,9.634196423873448,254.05100772766792,-6.184656739840375,279.1287760430814C-22.003509903554196,304.20654435849485,-48.425859298973734,328.16984031133245,-61.6370339966835,340.15148828775125L-74.84820869439328,352.13313626417005"><title class="tooltip"></title></path><path class="d3heblink" d="M342.38034586625525,-111.24611797498106L328.2746974009276,-117.50676251578633C314.1690489355999,-123.76740705659162,285.9577520049446,-136.28869613820217,273.4830505558791,-157.89551285723684C261.0083491068135,-179.50232957627148,264.2702431393377,-210.1946739327302,265.9011901555998,-225.5408461109596L267.5321371718619,-240.88701828918897"><title class="tooltip"></title></path><path class="d3heblink" d="M358.0278823325784,37.63024677635522L339.4882704317024,9.60862882765683C320.9486585308264,-18.412989121041562,283.8694347290743,-74.45622501843835,226.84315464229408,-53.76850928918482C169.8168745555138,-33.08079355993129,92.8435381837053,64.33787379597256,15.870201811896791,59.756541151876405C-61.10313455991172,55.17520850778025,-138.07647093172025,-51.4061241363159,-165.12570315158436,-133.1782751201847C-192.1749353714485,-214.95042610405346,-169.30006343936827,-271.9133954276949,-157.86262747332813,-300.3948800895156L-146.42519150728805,-328.8763647513363"><title class="tooltip"></title></path><path class="d3heblink" d="M358.0278823325784,37.63024677635522L339.9960685078854,7.317962505608758C321.9642546831924,-22.994321765137705,285.9006270338065,-83.61889030663063,250.63351189625809,-144.7033255612459C215.36639675870973,-205.78776081586113,180.8957941329989,-267.33206278359876,163.66049282014347,-298.1042137674675L146.42519150728808,-328.8763647513363"><title class="tooltip"></title></path><path class="d3heblink" d="M358.0278823325784,37.63024677635522L339.08091106096487,13.484394344696312C320.1339397893513,-10.661458086962597,282.2399972461243,-58.953162950280415,224.39899841786897,-30.513916186947917C166.5579995896137,-2.0746694236154184,88.76994447633015,103.0955289663674,46.31572583745171,167.46572735635021C3.8615071985732623,231.83592574633303,-3.2588749659000955,255.40612413631584,-40.35630499728958,269.236189239421C-77.45373502867906,283.0662543425261,-144.52821292698468,287.1561861587536,-178.06545187613747,289.20115206686734L-211.6026908252903,291.2461179749811"><title class="tooltip"></title></path><path class="d3heblink" d="M358.0278823325784,37.63024677635522L342.4455079373725,10.038340590313197C326.86313354216657,-17.553565595728827,295.6983847517548,-72.73737796781288,293.09046200736765,-97.55010542636893C290.4825392629805,-122.36283288492497,316.43144256461784,-116.80447542995302,329.40589421543655,-114.02529670246705L342.38034586625525,-111.24611797498106"><title class="tooltip"></title></path><path class="d3heblink" d="M211.60269082529032,291.2461179749811L181.21828358763668,286.91048574481925C150.83387634998303,282.57485351465743,90.06506187467576,273.90358905433385,59.273295266284606,255.49219130713257C28.481528657893453,237.0807935599313,27.666809916418423,208.92926252585232,62.185927649348486,139.97773149177334C96.70504538227854,71.02620045769439,166.5579995896137,-38.72533057638458,186.4868496450045,-123.66767995023619C206.41569970039527,-208.6100293240878,176.42044560384167,-268.7431970377121,161.42281855556485,-298.80978089452424L146.42519150728808,-328.8763647513363"><title class="tooltip"></title></path><path class="d3heblink" d="M211.60269082529032,291.2461179749811L179.916211931738,291.5473389904736C148.22973303818566,291.84856000596614,84.85677525108096,292.4510020369512,62.06436156259812,302.5988384184827C39.2719478741153,312.7466748000142,57.0600782842543,332.4399055320921,65.95414348932381,342.2865208981311L74.84820869439332,352.13313626417005"><title class="tooltip"></title></path><path class="d3heblink" d="M211.60269082529032,291.2461179749811L178.06545187613753,289.20115206686734C144.5282129269847,287.1561861587536,77.4537350286791,283.0662543425261,40.35630499728962,269.236189239421C3.25887496590013,255.40612413631587,-3.8615071985732303,231.83592574633306,-46.31572583745169,167.46572735635027C-88.76994447633014,103.09552896636743,-166.5579995896137,-2.074669423615404,-224.39899841786897,-30.513916186947863C-282.2399972461243,-58.95316295028032,-320.1339397893513,-10.661458086962408,-339.0809110609648,13.484394344696547L-358.0278823325784,37.630246776355506"><title class="tooltip"></title></path><path class="d3heblink" d="M211.60269082529032,291.2461179749811L176.33557568774194,290.78625126185875C141.06846055019355,290.3263845487364,70.53423027509679,289.4066511224918,1.4210854715202004e-14,289.4066511224918C-70.53423027509675,289.4066511224918,-141.06846055019352,290.3263845487364,-176.3355756877419,290.78625126185875L-211.6026908252903,291.2461179749811"><title class="tooltip"></title></path><path class="d3heblink" d="M74.84820869439332,352.13313626417005L65.44898701567178,339.34123266078745C56.04976533695024,326.54932905740486,37.25132197950716,300.9655218506397,29.056374853769803,274.26724228129865C20.861427728032442,247.56896271195754,23.269976834000797,219.75621078004056,61.012362414374245,151.1434588481236C98.75474799474769,82.5307069162066,171.83097004952623,-26.882045015710382,212.1399052548417,-99.02045787192914C252.44884046015716,-171.1588707281479,259.99048881600953,-206.02294450866842,263.7613129939357,-223.45498139892868L267.5321371718619,-240.88701828918897"><title class="tooltip"></title></path><path class="d3heblink" d="M74.84820869439332,352.13313626417005L62.37350724532776,343.04760862674596C49.89880579626222,333.96208098932186,24.94940289813112,315.7910257144737,1.9539925233402755e-14,315.7910257144737C-24.949402898131076,315.7910257144737,-49.898805796262174,333.96208098932186,-62.37350724532773,343.04760862674596L-74.84820869439328,352.13313626417005"><title class="tooltip"></title></path><path class="d3heblink" d="M74.84820869439332,352.13313626417005L61.63703399668354,340.15148828775125C48.42585929897377,328.16984031133245,22.00350990355423,304.20654435849485,6.184656739840406,279.1287760430814C-9.63419642387342,254.05100772766792,-14.849553355881529,227.85876704967853,-55.39874676229473,160.86652637168916C-95.94794016870793,93.87428569369979,-171.83097004952623,-13.917954984289608,-225.55020931258716,-66.0700623754013C-279.2694485756481,-118.222169766513,-310.8248972209517,-114.734143870747,-326.6026215436035,-112.99013092286401L-342.3803458662553,-111.24611797498102"><title class="tooltip"></title></path><path class="d3heblink" d="M74.84820869439332,352.13313626417005L65.95414348932381,342.2865208981311C57.0600782842543,332.4399055320921,39.2719478741153,312.7466748000142,62.06436156259813,302.5988384184827C84.85677525108096,292.4510020369512,148.22973303818566,291.84856000596614,179.916211931738,291.54733899047363L211.60269082529032,291.2461179749811"><title class="tooltip"></title></path><path class="d3heblink" d="M-74.84820869439328,352.13313626417005L-61.637033996683506,340.15148828775125C-48.425859298973734,328.16984031133245,-22.003509903554196,304.20654435849485,-6.1846567398403725,279.1287760430814C9.634196423873451,254.05100772766792,14.849553355881557,227.85876704967853,55.39874676229475,160.86652637168916C95.94794016870794,93.87428569369979,171.83097004952623,-13.917954984289594,225.55020931258719,-66.0700623754013C279.2694485756481,-118.222169766513,310.82489722095164,-114.73414387074703,326.60262154360345,-112.99013092286404L342.38034586625525,-111.24611797498106"><title class="tooltip"></title></path><path class="d3heblink" d="M-74.84820869439328,352.13313626417005L-65.95414348932377,342.2865208981311C-57.06007828425427,332.4399055320921,-39.27194787411526,312.7466748000142,-62.064361562598094,302.5988384184827C-84.85677525108093,292.4510020369512,-148.2297330381856,291.84856000596614,-179.91621193173796,291.54733899047363L-211.6026908252903,291.2461179749811"><title class="tooltip"></title></path><path class="d3heblink" d="M-74.84820869439328,352.13313626417005L-65.44898701567173,339.34123266078745C-56.049765336950195,326.54932905740486,-37.251321979507125,300.9655218506397,-29.056374853769764,274.26724228129865C-20.861427728032403,247.56896271195754,-23.269976834000765,219.75621078004053,-61.012362414374216,151.14345884812354C-98.75474799474767,82.53070691620657,-171.83097004952623,-26.882045015710418,-212.13990525484166,-99.02045787192918C-252.4488404601571,-171.15887072814797,-259.9904888160094,-206.0229445086685,-263.7613129939356,-223.4549813989288L-267.5321371718618,-240.8870182891891"><title class="tooltip"></title></path><path class="d3heblink" d="M-74.84820869439328,352.13313626417005L-62.37350724532773,343.04760862674596C-49.898805796262174,333.96208098932186,-24.94940289813108,315.7910257144737,1.7763568394002505e-14,315.7910257144737C24.949402898131115,315.7910257144737,49.89880579626222,333.96208098932186,62.37350724532776,343.04760862674596L74.84820869439332,352.13313626417005"><title class="tooltip"></title></path><path class="d3heblink" d="M-211.6026908252903,291.2461179749811L-178.06545187613747,289.20115206686734C-144.52821292698468,287.1561861587536,-77.45373502867906,283.0662543425261,-40.35630499728958,269.236189239421C-3.258874965900099,255.40612413631584,3.861507198573258,231.83592574633303,46.31572583745171,167.46572735635021C88.76994447633015,103.0955289663674,166.5579995896137,-2.0746694236154184,224.39899841786897,-30.513916186947917C282.2399972461243,-58.953162950280415,320.1339397893513,-10.661458086962597,339.0809110609648,13.484394344696312L358.0278823325784,37.63024677635522"><title class="tooltip"></title></path><path class="d3heblink" d="M-211.6026908252903,291.2461179749811L-176.3355756877419,290.78625126185875C-141.06846055019352,290.3263845487364,-70.53423027509675,289.4066511224918,2.1316282072803006e-14,289.4066511224918C70.53423027509679,289.4066511224918,141.06846055019355,290.3263845487364,176.33557568774194,290.78625126185875L211.60269082529032,291.2461179749811"><title class="tooltip"></title></path><path class="d3heblink" d="M-211.6026908252903,291.2461179749811L-181.21828358763665,286.91048574481925C-150.833876349983,282.57485351465743,-90.06506187467573,273.90358905433385,-59.27329526628458,255.49219130713257C-28.48152865789342,237.0807935599313,-27.666809916418394,208.92926252585232,-62.185927649348464,139.97773149177334C-96.70504538227853,71.02620045769439,-166.5579995896137,-38.72533057638459,-186.48684964500447,-123.6676799502362C-206.41569970039524,-208.6100293240878,-176.42044560384164,-268.7431970377121,-161.42281855556485,-298.80978089452424L-146.42519150728805,-328.8763647513363"><title class="tooltip"></title></path><path class="d3heblink" d="M-211.6026908252903,291.2461179749811L-179.91621193173796,291.5473389904736C-148.2297330381856,291.84856000596614,-84.85677525108093,292.4510020369512,-62.064361562598094,302.5988384184827C-39.271947874115256,312.7466748000142,-57.06007828425427,332.4399055320921,-65.95414348932377,342.2865208981311L-74.84820869439328,352.13313626417005"><title class="tooltip"></title></path><path class="d3heblink" d="M-358.0278823325784,37.630246776355506L-339.08091106096487,13.484394344696547C-320.1339397893513,-10.661458086962408,-282.2399972461243,-58.95316295028032,-224.39899841786897,-30.513916186947867C-166.5579995896137,-2.074669423615404,-88.76994447633014,103.09552896636743,-46.315725837451694,167.46572735635024C-3.8615071985732388,231.83592574633306,3.2588749659001213,255.40612413631587,40.35630499728961,269.23618923942104C77.45373502867909,283.0662543425261,144.5282129269847,287.1561861587536,178.06545187613753,289.20115206686734L211.60269082529032,291.2461179749811"><title class="tooltip"></title></path><path class="d3heblink" d="M-358.0278823325784,37.630246776355506L-342.4455079373725,10.038340590313432C-326.8631335421666,-17.55356559572864,-295.6983847517549,-72.73737796781278,-293.0904620073677,-97.55010542636887C-290.4825392629805,-122.36283288492496,-316.4314425646179,-116.80447542995299,-329.4058942154366,-114.025296702467L-342.3803458662553,-111.24611797498102"><title class="tooltip"></title></path><path class="d3heblink" d="M-358.0278823325784,37.630246776355506L-339.4882704317024,9.608628827657064C-320.9486585308264,-18.412989121041374,-283.8694347290743,-74.45622501843825,-226.84315464229408,-53.76850928918477C-169.8168745555138,-33.08079355993128,-92.84353818370529,64.33787379597257,-15.870201811896777,59.75654115187643C61.10313455991174,55.17520850778028,138.07647093172025,-51.40612413631585,165.1257031515844,-133.17827512018465C192.17493537144853,-214.95042610405343,169.3000634393683,-271.91339542769487,157.8626274733282,-300.3948800895156L146.42519150728808,-328.8763647513363"><title class="tooltip"></title></path><path class="d3heblink" d="M-358.0278823325784,37.630246776355506L-339.9960685078854,7.317962505608989C-321.9642546831924,-22.994321765137524,-285.9006270338065,-83.61889030663055,-250.63351189625809,-144.70332556124586C-215.3663967587097,-205.78776081586116,-180.89579413299887,-267.33206278359876,-163.66049282014345,-298.1042137674675L-146.42519150728805,-328.8763647513363"><title class="tooltip"></title></path><path class="d3heblink" d="M-342.3803458662553,-111.24611797498102L-326.6026215436035,-112.99013092286401C-310.8248972209517,-114.734143870747,-279.2694485756481,-118.222169766513,-225.55020931258716,-66.0700623754013C-171.83097004952623,-13.917954984289608,-95.94794016870793,93.87428569369979,-55.39874676229473,160.86652637168916C-14.849553355881534,227.85876704967853,-9.634196423873426,254.05100772766792,6.1846567398404,279.1287760430814C22.003509903554225,304.20654435849485,48.42585929897377,328.16984031133245,61.63703399668354,340.15148828775125L74.84820869439332,352.13313626417005"><title class="tooltip"></title></path><path class="d3heblink" d="M-342.3803458662553,-111.24611797498102L-328.27469740092766,-117.5067625157863C-314.1690489356,-123.7674070565916,-285.95775200494467,-136.28869613820217,-273.48305055587906,-157.89551285723687C-261.0083491068135,-179.50232957627153,-264.2702431393376,-210.1946739327303,-265.9011901555997,-225.54084611095968L-267.5321371718618,-240.8870182891891"><title class="tooltip"></title></path><path class="d3heblink" d="M-342.3803458662553,-111.24611797498102L-325.39834699061936,-116.69650688882251C-308.41634811498335,-122.146895802664,-274.4523503637114,-133.047673630347,-218.3245619946821,-88.30831817115228C-162.1967736256528,-43.56896271195757,-83.90519463886615,56.810526034114844,-5.613615652079503,55.190014780187255C72.67796333470716,53.56950352625966,150.9695423214938,-50.05100772766794,196.49383445881736,-116.3971799058973C242.01812659614092,-182.74335208412668,254.7751318840014,-211.8151851866578,261.1536345279317,-226.3511017379234L267.5321371718619,-240.88701828918897"><title class="tooltip"></title></path><path class="d3heblink" d="M-342.3803458662553,-111.24611797498102L-329.4058942154366,-114.025296702467C-316.4314425646179,-116.80447542995299,-290.4825392629805,-122.36283288492496,-293.0904620073677,-97.55010542636887C-295.6983847517549,-72.73737796781278,-326.8631335421666,-17.55356559572864,-342.4455079373725,10.038340590313432L-358.0278823325784,37.630246776355506"><title class="tooltip"></title></path><path class="d3heblink" d="M-267.5321371718618,-240.8870182891891L-263.7613129939356,-223.4549813989288C-259.9904888160094,-206.0229445086685,-252.4488404601571,-171.15887072814797,-212.13990525484166,-99.02045787192918C-171.83097004952623,-26.882045015710418,-98.75474799474767,82.53070691620657,-61.012362414374216,151.14345884812354C-23.269976834000765,219.75621078004053,-20.86142772803241,247.56896271195754,-29.056374853769768,274.26724228129865C-37.251321979507125,300.9655218506397,-56.0497653369502,326.54932905740486,-65.44898701567173,339.34123266078745L-74.84820869439328,352.13313626417005"><title class="tooltip"></title></path><path class="d3heblink" d="M-267.5321371718618,-240.8870182891891L-263.4517507261126,-228.2612241956641C-259.3713642803634,-215.6354301021392,-251.2105913888651,-190.3838419150893,-231.0261004447695,-205.04873299211386C-210.84160950067388,-219.7136240691384,-178.63340050398097,-274.29499441023734,-162.52929600563448,-301.58567958078686L-146.42519150728805,-328.8763647513363"><title class="tooltip"></title></path><path class="d3heblink" d="M-267.5321371718618,-240.8870182891891L-261.15363452793156,-226.3511017379235C-254.77513188400133,-211.8151851866579,-242.0181265961409,-182.74335208412674,-196.49383445881733,-116.39717990589736C-150.9695423214938,-50.051007727667994,-72.67796333470714,53.56950352625961,5.61361565207951,55.19001478018722C83.90519463886615,56.81052603411483,162.19677362565278,-43.56896271195755,218.32456199468209,-88.30831817115225C274.4523503637114,-133.047673630347,308.4163481149833,-122.14689580266402,325.3983469906193,-116.69650688882254L342.38034586625525,-111.24611797498106"><title class="tooltip"></title></path><path class="d3heblink" d="M-267.5321371718618,-240.8870182891891L-265.9011901555997,-225.54084611095968C-264.2702431393376,-210.1946739327303,-261.0083491068135,-179.50232957627153,-273.48305055587906,-157.89551285723687C-285.95775200494467,-136.28869613820217,-314.1690489356,-123.7674070565916,-328.27469740092766,-117.5067625157863L-342.3803458662553,-111.24611797498102"><title class="tooltip"></title></path><path class="d3heblink" d="M-146.42519150728805,-328.8763647513363L-161.42281855556485,-298.80978089452424C-176.42044560384164,-268.7431970377121,-206.41569970039524,-208.6100293240878,-186.48684964500447,-123.66767995023622C-166.5579995896137,-38.72533057638459,-96.70504538227853,71.02620045769439,-62.18592764934846,139.97773149177334C-27.666809916418394,208.92926252585232,-28.48152865789342,237.0807935599313,-59.27329526628458,255.49219130713257C-90.06506187467573,273.90358905433385,-150.833876349983,282.57485351465743,-181.21828358763665,286.91048574481925L-211.6026908252903,291.2461179749811"><title class="tooltip"></title></path><path class="d3heblink" d="M-146.42519150728805,-328.8763647513363L-163.66049282014345,-298.10421376746757C-180.89579413299887,-267.33206278359876,-215.3663967587097,-205.78776081586116,-250.63351189625809,-144.70332556124586C-285.9006270338065,-83.61889030663056,-321.9642546831924,-22.994321765137528,-339.99606850788535,7.317962505608985L-358.0278823325784,37.6302467763555"><title class="tooltip"></title></path><path class="d3heblink" d="M-146.42519150728805,-328.8763647513363L-157.86262747332813,-300.39488008951565C-169.30006343936827,-271.9133954276949,-192.1749353714485,-214.95042610405346,-165.12570315158436,-133.17827512018468C-138.07647093172025,-51.40612413631589,-61.10313455991172,55.175208507780255,15.870201811896788,59.756541151876405C92.8435381837053,64.33787379597256,169.8168745555138,-33.08079355993129,226.84315464229408,-53.76850928918482C283.8694347290743,-74.45622501843835,320.9486585308264,-18.412989121041562,339.48827043170235,9.60862882765683L358.0278823325784,37.63024677635522"><title class="tooltip"></title></path><path class="d3heblink" d="M-146.42519150728805,-328.8763647513363L-162.52929600563448,-301.58567958078686C-178.63340050398097,-274.29499441023734,-210.84160950067388,-219.7136240691384,-231.0261004447695,-205.04873299211386C-251.2105913888651,-190.3838419150893,-259.3713642803634,-215.6354301021392,-263.4517507261126,-228.26122419566414L-267.5321371718618,-240.8870182891891"><title class="tooltip"></title></path><g class="d3hebnode" transform="rotate(-66)translate(360)"><text dx="8" dy=".31em" text-anchor="start">oceanCell_62</text></g><g class="d3hebnode" transform="rotate(-42)translate(360)"><text dx="8" dy=".31em" text-anchor="start">coastCell_64</text></g><g class="d3hebnode" transform="rotate(-18)translate(360)"><text dx="8" dy=".31em" text-anchor="start">coastCell_66</text></g><g class="d3hebnode" transform="rotate(6)translate(360)"><text dx="8" dy=".31em" text-anchor="start">oceanCell_68</text></g><g class="d3hebnode" transform="rotate(54)translate(360)"><text dx="8" dy=".31em" text-anchor="start">oceanCell_70</text></g><g class="d3hebnode" transform="rotate(78)translate(360)"><text dx="8" dy=".31em" text-anchor="start">landCell_72</text></g><g class="d3hebnode" transform="rotate(102)translate(360)"><text dx="-8" dy=".31em" text-anchor="end" transform="rotate(180)">landCell_74</text></g><g class="d3hebnode" transform="rotate(126)translate(360)"><text dx="-8" dy=".31em" text-anchor="end" transform="rotate(180)">coastCell_76</text></g><g class="d3hebnode" transform="rotate(174)translate(360)"><text dx="-8" dy=".31em" text-anchor="end" transform="rotate(180)">oceanCell_78</text></g><g class="d3hebnode" transform="rotate(198)translate(360)"><text dx="-8" dy=".31em" text-anchor="end" transform="rotate(180)">coastCell_80</text></g><g class="d3hebnode" transform="rotate(222)translate(360)"><text dx="-8" dy=".31em" text-anchor="end" transform="rotate(180)">coastCell_82</text></g><g class="d3hebnode" transform="rotate(246)translate(360)"><text dx="-8" dy=".31em" text-anchor="end" transform="rotate(180)">oceanCell_84</text></g></g>
</svg>
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient>
</XholonWorkbook>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.