Public
Edited
Mar 2
Paused
Insert cell
Insert cell
Insert cell

chart = {
// replay;

const width = 1000;
const height = 800;

data.forEach(node => {
node.system_id = parseInt(node.system_id);
node.region_id = parseInt(node.region_id);
node.sys_name = node.sys_name ; // parseInt(node.sys_name);
node.neighbors = node.neighbors.map(Number);
// Genereeri igale süsteemile juhuslikud koordinaadid (x, y) visualiseerimiseks
node.x = 0 ; // Math.random() * 1000; // Juhuslik x-koordinaat
node.y = 0 ; // Math.random() * 800; // Juhuslik y-koordinaat
});





const svg = d3.create("svg").attr("width", width).attr("height", height); // .attr("viewBox", [0, 0, width, height]);
// const svg = d3.select("#graph").append("svg").attr("width", width).attr("height", height);

// Create nodes and links from the data
const nodes = data.map(d => ({id: d.system_id, name:d.sys_name, region:d.region_id}));
let links = data.flatMap(d => d.neighbors.map(neighbor => ({
source: d.system_id,
target: neighbor
})));

// [BEG] filter out DOUBLE LINKS = = //
const seenLinks = new Set();
links = links.filter(d => {
let key = [d.source, d.target].sort().join("-"); // TEMP link's ( .sort() ) w is A-B or/and B-A , then only let/make A-B (not let doble's (like B-A))
if (seenLinks.has(key)) return false; // when found double "link" (in "links")
seenLinks.add(key); return true;
});
// [END] filter out DOUBLE LINKS = = //

// Force simulation
const simulation = d3.forceSimulation(nodes)
.force("link", d3.forceLink(links).id(d => d.id))
.force("charge", d3.forceManyBody().strength(-5)) //omavaheline tõukejõud
.force("center", d3.forceCenter(width / 2, height / 2)); // kogu keskpunkt

// Draw links
const link = svg.append("g")
.attr("stroke", "#999")
.attr("stroke-opacity", 0.6)
.selectAll("line")
.data(links)
.join("line")
.attr("stroke-width", d => Math.sqrt(d.value));

// Draw nodes
const node = svg.append("g")
.attr("stroke", "#fff")
.attr("stroke-width", 1.5)
.selectAll("circle")
.data(nodes)
.join("circle")
.attr("r", 5)
.attr("fill", "#69b3a2")
.call(drag(simulation));

// Add labels for each node
const label = svg.append("g")
.selectAll("text")
.data(nodes)
.join("text")
.attr("text-anchor", "middle")
.attr("font-size", "10px")
.attr("fill", "black")
.text(d => d.name); //d.id+" "+

// Update positions on each tick of the simulation
simulation.on("tick", () => {
link
.attr("x1", d => d.source.x)
.attr("y1", d => d.source.y)
.attr("x2", d => d.target.x)
.attr("y2", d => d.target.y);

node
.attr("cx", d => d.x)
.attr("cy", d => d.y);

label
.attr("x", d => d.x)
.attr("y", d => d.y + 15); // position label below node
});

// Drag functionality
function drag(simulation) {
function dragstarted(event, d) {
if (!event.active) simulation.alphaTarget(0.05).restart();
d.fx = d.x;
d.fy = d.y;
}

function dragged(event, d) {
d.fx = event.x;
d.fy = event.y;
}

function dragended(event, d) {
if (!event.active) simulation.alphaTarget(0);
d.fx = null;
d.fy = null;
}

return d3.drag()
.on("start", dragstarted)
.on("drag", dragged)
.on("end", dragended);
}
return Object.assign(svg.node());
// replay;
}
Insert cell
// w Names , Gallente region (raw data: https://docs.google.com/spreadsheets/d/1h1axi-2rxrcbjfVEdmL7jwenpv5-HXhvuovP9NBGykg/edit?usp=sharing )
data=[
{system_id:30002632,region_id:10000032,sys_name:"Pettinck",neighbors:[30004967,30002709,30002633,30002639]},
{system_id:30002633,region_id:10000032,sys_name:"Du Annes",neighbors:[30002632,30004970,30002634,30002636,30002637,30002640]},
{system_id:30002634,region_id:10000032,sys_name:"Balle",neighbors:[30002655,30002633,30002635,30002641]},
{system_id:30002635,region_id:10000032,sys_name:"Decon",neighbors:[30002634,30002638]},
{system_id:30002636,region_id:10000032,sys_name:"Grinacanne",neighbors:[30004970,30002633,30002639,30002640]},
{system_id:30002637,region_id:10000032,sys_name:"Metserel",neighbors:[30002633,30002640,30005020]},
{system_id:30002638,region_id:10000032,sys_name:"Sharuveil",neighbors:[30002671,30002635]},
{system_id:30002639,region_id:10000032,sys_name:"Adreland",neighbors:[30002632,30002636,30002710,30003034]},
{system_id:30002640,region_id:10000032,sys_name:"Erme",neighbors:[30002633,30002671,30002636,30002637,30004993,30002661]},
{system_id:30002641,region_id:10000032,sys_name:"Aufay",neighbors:[30002634,30002681]},
{system_id:30002642,region_id:10000032,sys_name:"Iyen-Oursta",neighbors:[30002643,30002647]},
{system_id:30002643,region_id:10000032,sys_name:"Faurent",neighbors:[30002642,30002644,30002645,30002646]},
{system_id:30002644,region_id:10000032,sys_name:"Ambeke",neighbors:[30002643,30002686,30002691]},
{system_id:30002645,region_id:10000032,sys_name:"Carrou",neighbors:[30002643,30002646,30002690,30002647]},
{system_id:30002646,region_id:10000032,sys_name:"Direrie",neighbors:[30002643,30002645]},
{system_id:30002647,region_id:10000032,sys_name:"Ignoitton",neighbors:[30002642,30002645]},
{system_id:30002648,region_id:10000032,sys_name:"Ardene",neighbors:[30003030,30002649,30002650,30002704]},
{system_id:30002649,region_id:10000032,sys_name:"Boillair",neighbors:[30002648,30002650]},
{system_id:30002650,region_id:10000032,sys_name:"Ney",neighbors:[30002648,30002649,30002651]},
{system_id:30002651,region_id:10000032,sys_name:"Fasse",neighbors:[30002650,30002696]},
{system_id:30002653,region_id:10000032,sys_name:"Gratesier",neighbors:[30002654]},
{system_id:30002654,region_id:10000032,sys_name:"Schoorasana",neighbors:[30002653,30003061]},
{system_id:30002655,region_id:10000032,sys_name:"Vylade",neighbors:[30003026,30002634,30002656,30002659,30002660,30002736]},
{system_id:30002656,region_id:10000032,sys_name:"Auvergne",neighbors:[30002655,30002657,30002658,30002659,30002661,30012715]},
{system_id:30002657,region_id:10000032,sys_name:"Aunia",neighbors:[30002656,30002658,30002661]},
{system_id:30002658,region_id:10000032,sys_name:"Agrallarier",neighbors:[30002656,30002657,30002659,30002660,30002661]},
{system_id:30002659,region_id:10000032,sys_name:"Dodixie",neighbors:[30002655,30002656,30002658,30002661,30003031,30003032]},
{system_id:30002660,region_id:10000032,sys_name:"Eglennaert",neighbors:[30002655,30002715,30002658,30002661]},
{system_id:30002661,region_id:10000032,sys_name:"Botane",neighbors:[30002656,30002657,30002658,30002659,30002660,30002640]},
{system_id:30002662,region_id:10000032,sys_name:"Pulin",neighbors:[30002663,30003029,30002665,30002666,30002667]},
{system_id:30002663,region_id:10000032,sys_name:"Foves",neighbors:[30002662,30002664,30002667]},
{system_id:30002664,region_id:10000032,sys_name:"Alles",neighbors:[30002712,30002663,30002667]},
{system_id:30002665,region_id:10000032,sys_name:"Misneden",neighbors:[30002662]},
{system_id:30002666,region_id:10000032,sys_name:"Basgerin",neighbors:[30002662]},
{system_id:30002667,region_id:10000032,sys_name:"Chelien",neighbors:[30002662,30002663,30002664,30002732]},
{system_id:30002668,region_id:10000032,sys_name:"Trosquesere",neighbors:[30004971,30002669,30002671]},
{system_id:30002669,region_id:10000032,sys_name:"Ansone",neighbors:[30002668,30002670]},
{system_id:30002670,region_id:10000032,sys_name:"Dunraelare",neighbors:[30002669,30002672,30002673,30002675,30002724]},
{system_id:30002671,region_id:10000032,sys_name:"Nausschie",neighbors:[30002668,30002638,30002674,30002640]},
{system_id:30002672,region_id:10000032,sys_name:"Inghenges",neighbors:[30002670,30002673,30002675]},
{system_id:30002673,region_id:10000032,sys_name:"Estene",neighbors:[30002670,30002672]},
{system_id:30002674,region_id:10000032,sys_name:"Gallareue",neighbors:[30002671]},
{system_id:30002675,region_id:10000032,sys_name:"Stayme",neighbors:[30002670,30002672]},
{system_id:30002676,region_id:10000032,sys_name:"Parchanier",neighbors:[30002706,30002677,30002680]},
{system_id:30002677,region_id:10000032,sys_name:"Fluekele",neighbors:[30002676,30002678,30002679]},
{system_id:30002678,region_id:10000032,sys_name:"Alsottobier",neighbors:[30002677,30002684]},
{system_id:30002679,region_id:10000032,sys_name:"Jolia",neighbors:[30002677,30002680,30002683]},
{system_id:30002680,region_id:10000032,sys_name:"Augnais",neighbors:[30002676,30002679,30002681,30002684]},
{system_id:30002681,region_id:10000032,sys_name:"Deltole",neighbors:[30002680,30002682,30002641]},
{system_id:30002682,region_id:10000032,sys_name:"Colelie",neighbors:[30002681]},
{system_id:30002683,region_id:10000032,sys_name:"Barmalie",neighbors:[30002679]},
{system_id:30002684,region_id:10000032,sys_name:"Audaerne",neighbors:[30002678,30002680]},
{system_id:30002685,region_id:10000032,sys_name:"Dodenvale",neighbors:[30002686,30002688,30002689]},
{system_id:30002686,region_id:10000032,sys_name:"Olettiers",neighbors:[30002685,30002687,30002644,30002691]},
{system_id:30002687,region_id:10000032,sys_name:"Artisine",neighbors:[30002686,30002690]},
{system_id:30002688,region_id:10000032,sys_name:"Chainelant",neighbors:[30002707,30002685]},
{system_id:30002689,region_id:10000032,sys_name:"Sileperer",neighbors:[30002685]},
{system_id:30002690,region_id:10000032,sys_name:"Bamiette",neighbors:[30002687,30002645]},
{system_id:30002691,region_id:10000032,sys_name:"Crielere",neighbors:[30002686,30002644,30002718]},
{system_id:30002692,region_id:10000032,sys_name:"Jel",neighbors:[30003030,30002693,30002695]},
{system_id:30002693,region_id:10000032,sys_name:"Egghelende",neighbors:[30002692,30002716,30002694,30002695,30002698]},
{system_id:30002694,region_id:10000032,sys_name:"Odette",neighbors:[30002693,30002696]},
{system_id:30002695,region_id:10000032,sys_name:"Ation",neighbors:[30002692,30002693]},
{system_id:30002696,region_id:10000032,sys_name:"Stegette",neighbors:[30002694,30002697,30002698,30002651]},
{system_id:30002697,region_id:10000032,sys_name:"Ravarin",neighbors:[30002696]},
{system_id:30002698,region_id:10000032,sys_name:"Aliette",neighbors:[30002693,30002696]},
{system_id:30002699,region_id:10000032,sys_name:"Brapelille",neighbors:[30003030,30002700,30002734,30002703,30002704,30002735]},
{system_id:30002700,region_id:10000032,sys_name:"Bawilan",neighbors:[30002699,30002701]},
{system_id:30002701,region_id:10000032,sys_name:"Atier",neighbors:[30002700,30002705]},
{system_id:30002703,region_id:10000032,sys_name:"Brybier",neighbors:[30002699]},
{system_id:30002704,region_id:10000032,sys_name:"Adrallezoen",neighbors:[30002699,30002648]},
{system_id:30002705,region_id:10000032,sys_name:"Croleur",neighbors:[30002701]},
{system_id:30002706,region_id:10000032,sys_name:"Doussivitte",neighbors:[30002676,30002713,30002711,30003034]},
{system_id:30002707,region_id:10000032,sys_name:"Unel",neighbors:[30002688,30002709]},
{system_id:30002708,region_id:10000032,sys_name:"Claysson",neighbors:[30003017,30002711,30022715]},
{system_id:30002709,region_id:10000032,sys_name:"Auberulle",neighbors:[30002707,30002632,30002710]},
{system_id:30002710,region_id:10000032,sys_name:"Adiere",neighbors:[30002709,30002711,30002639]},
{system_id:30002711,region_id:10000032,sys_name:"Stetille",neighbors:[30002706,30002708,30002710,30032715]},
{system_id:30002712,region_id:10000032,sys_name:"Alillere",neighbors:[30002713,30002664,30002714,30002715,30002716,30002717]},
{system_id:30002713,region_id:10000032,sys_name:"Abenync",neighbors:[30002706,30002712]},
{system_id:30002714,region_id:10000032,sys_name:"Pozirblant",neighbors:[30002712,30002715,30002716]},
{system_id:30002715,region_id:10000032,sys_name:"Bourynes",neighbors:[30002712,30002714,30002717,30002731,30002660,30003033]},
{system_id:30002716,region_id:10000032,sys_name:"Aurcel",neighbors:[30002712,30002714,30002693]},
{system_id:30002717,region_id:10000032,sys_name:"Aymaerne",neighbors:[30002712,30002715]},
{system_id:30002718,region_id:10000032,sys_name:"Rancer",neighbors:[30002691,30002719]},
{system_id:30002719,region_id:10000032,sys_name:"Miroitem",neighbors:[30002718,30002720,30002722,30002723]},
{system_id:30002720,region_id:10000032,sys_name:"Thelan",neighbors:[30002719,30002721]},
{system_id:30002721,region_id:10000032,sys_name:"Rorsins",neighbors:[30002720]},
{system_id:30002722,region_id:10000032,sys_name:"Lamadent",neighbors:[30002719,30002723]},
{system_id:30002723,region_id:10000032,sys_name:"Otou",neighbors:[30002719,30002722]},
{system_id:30002724,region_id:10000032,sys_name:"Assiettes",neighbors:[30002670,30002725]},
{system_id:30002725,region_id:10000032,sys_name:"Goinard",neighbors:[30002724,30002726,30002727]},
{system_id:30002726,region_id:10000032,sys_name:"Raeghoscon",neighbors:[30002725,30002728]},
{system_id:30002727,region_id:10000032,sys_name:"Allipes",neighbors:[30002725,30002729]},
{system_id:30002728,region_id:10000032,sys_name:"Lermireve",neighbors:[30002726,30003062,30004992]},
{system_id:30002729,region_id:10000032,sys_name:"Aetree",neighbors:[30002727,30002730]},
{system_id:30002730,region_id:10000032,sys_name:"Esmes",neighbors:[30002729]},
{system_id:30002731,region_id:10000032,sys_name:"Vittenyn",neighbors:[30002715,30002732,30002733,30002734,30042715]},
{system_id:30002732,region_id:10000032,sys_name:"Mirilene",neighbors:[30002667,30002731]},
{system_id:30002733,region_id:10000032,sys_name:"Pucherie",neighbors:[30002731]},
{system_id:30002734,region_id:10000032,sys_name:"Fricoure",neighbors:[30002699,30002731,30002735]},
{system_id:30002735,region_id:10000032,sys_name:"Caretyn",neighbors:[30002699,30002734,30002736]},
{system_id:30002736,region_id:10000032,sys_name:"Ainaille",neighbors:[30002655,30002735]},
{system_id:30003009,region_id:10000037,sys_name:"Arnatele",neighbors:[30003010,30003011,30003012,30003013,30003014,30003016]},
{system_id:30003010,region_id:10000037,sys_name:"Halle",neighbors:[30003009,30003011,30003014]},
{system_id:30003011,region_id:10000037,sys_name:"Mormoen",neighbors:[30003009,30003010]},
{system_id:30003012,region_id:10000037,sys_name:"Amattens",neighbors:[30003009,30003013,30003014,30003015,30003016,30003043]},
{system_id:30003013,region_id:10000037,sys_name:"Jurlesel",neighbors:[30003009,30003012,30003014,30003015,30003016]},
{system_id:30003014,region_id:10000037,sys_name:"Bereye",neighbors:[30003009,30004968,30003010,30003012,30003013,30003015,30003039]},
{system_id:30003015,region_id:10000037,sys_name:"Aice",neighbors:[30003012,30003013,30003014,30003045]},
{system_id:30003016,region_id:10000037,sys_name:"Junsoraert",neighbors:[30003009,30003012,30003013]},
{system_id:30003017,region_id:10000037,sys_name:"Harerget",neighbors:[30002708,30003018,30003019,30003033]},
{system_id:30003018,region_id:10000037,sys_name:"Azer",neighbors:[30003017,30003019,30003020,30003038,30003021]},
{system_id:30003019,region_id:10000037,sys_name:"Cherore",neighbors:[30003029,30003017,30003018,30003021]},
{system_id:30003020,region_id:10000037,sys_name:"Torvi",neighbors:[30003018,30003022]},
{system_id:30003021,region_id:10000037,sys_name:"Mosson",neighbors:[30003027,30003018,30003019]},
{system_id:30003022,region_id:10000037,sys_name:"Mya",neighbors:[30003020,30003023]},
{system_id:30003023,region_id:10000037,sys_name:"Gerper",neighbors:[30003022]},
{system_id:30003024,region_id:10000037,sys_name:"Marosier",neighbors:[30003025,30003027,30003029]},
{system_id:30003025,region_id:10000037,sys_name:"Lirsautton",neighbors:[30003024,30003026,30003030,30003032]},
{system_id:30003026,region_id:10000037,sys_name:"Blameston",neighbors:[30003025,30002655]},
{system_id:30003027,region_id:10000037,sys_name:"Vaurent",neighbors:[30003024,30003029,30003038,30003021]},
{system_id:30003028,region_id:10000037,sys_name:"Aclan",neighbors:[30003029]},
{system_id:30003029,region_id:10000037,sys_name:"Jaschercis",neighbors:[30003024,30003027,30002662,30003028,30003019]},
{system_id:30003030,region_id:10000037,sys_name:"Ardallabier",neighbors:[30003025,30002648,30002692,30002699]},
{system_id:30003031,region_id:10000037,sys_name:"Athinard",neighbors:[30003032,30003033,30002659]},
{system_id:30003032,region_id:10000037,sys_name:"Meves",neighbors:[30003031,30003033,30003034,30003025,30002659]},
{system_id:30003033,region_id:10000037,sys_name:"Ethernity",neighbors:[30003017,30003031,30003032,30003034,30003035,30002715]},
{system_id:30003034,region_id:10000037,sys_name:"Mattere",neighbors:[30003032,30003033,30003035,30002706,30002639]},
{system_id:30003035,region_id:10000037,sys_name:"Gicodel",neighbors:[30003033,30003034,30003036]},
{system_id:30003036,region_id:10000037,sys_name:"Frarolle",neighbors:[30003035,30003037]},
{system_id:30003037,region_id:10000037,sys_name:"Quier",neighbors:[30003036]},
{system_id:30003038,region_id:10000037,sys_name:"Atlanins",neighbors:[30003027,30003018,30003039,30003040,30003042,30003044]},
{system_id:30003039,region_id:10000037,sys_name:"Leremblompes",neighbors:[30003014,30003038,30003040,30003041,30003043,30003053]},
{system_id:30003040,region_id:10000037,sys_name:"Bille",neighbors:[30003038,30003039,30003043,30003044]},
{system_id:30003041,region_id:10000037,sys_name:"Colcer",neighbors:[30003039]},
{system_id:30003042,region_id:10000037,sys_name:"Alachene",neighbors:[30003038,30003043]},
{system_id:30003043,region_id:10000037,sys_name:"Uphene",neighbors:[30003012,30003039,30003040,30003042]},
{system_id:30003044,region_id:10000037,sys_name:"Elarel",neighbors:[30003038,30003040,30003057]},
{system_id:30003045,region_id:10000037,sys_name:"Enedore",neighbors:[30003015,30003047,30003049,30003051,30003054]},
{system_id:30003047,region_id:10000037,sys_name:"Averon",neighbors:[30003045,30003048,30003050,30003054]},
{system_id:30003048,region_id:10000037,sys_name:"Carirgnottin",neighbors:[30003047,30003050,30003052,30003054]},
{system_id:30003049,region_id:10000037,sys_name:"Laic",neighbors:[30003045,30003051]},
{system_id:30003050,region_id:10000037,sys_name:"Odixie",neighbors:[30003047,30003048,30003054,30003056]},
{system_id:30003051,region_id:10000037,sys_name:"Antollare",neighbors:[30003045,30003049,30003053]},
{system_id:30003052,region_id:10000037,sys_name:"Tolle",neighbors:[30003048,30003055]},
{system_id:30003053,region_id:10000037,sys_name:"Avele",neighbors:[30003039,30003051]},
{system_id:30003054,region_id:10000037,sys_name:"Scuelazyns",neighbors:[30003045,30003047,30003048,30003050,30003056]},
{system_id:30003055,region_id:10000037,sys_name:"Aydoteaux",neighbors:[30003052]},
{system_id:30003056,region_id:10000037,sys_name:"Muer",neighbors:[30003050,30003054]},
{system_id:30003057,region_id:10000037,sys_name:"Groothese",neighbors:[30003044,30003058]},
{system_id:30003058,region_id:10000037,sys_name:"Olide",neighbors:[30003057,30003059,30003060]},
{system_id:30003059,region_id:10000037,sys_name:"Adeel",neighbors:[30003058]},
{system_id:30003060,region_id:10000037,sys_name:"Mannar",neighbors:[30003058,30003061,30003062]},
{system_id:30003061,region_id:10000037,sys_name:"Mormelot",neighbors:[30003060,30002654]},
{system_id:30003062,region_id:10000037,sys_name:"Angatalie",neighbors:[30003060,30002728]},
{system_id:30003565,region_id:10000044,sys_name:"Conomette",neighbors:[30003566,30003567]},
{system_id:30003566,region_id:10000044,sys_name:"Aimoguier",neighbors:[30003565,30003569]},
{system_id:30003567,region_id:10000044,sys_name:"Yveve",neighbors:[30003565,30003568,30003570,30003591]},
{system_id:30003568,region_id:10000044,sys_name:"Meunvon",neighbors:[30003567,30003570]},
{system_id:30003569,region_id:10000044,sys_name:"Cadelanne",neighbors:[30003566]},
{system_id:30003570,region_id:10000044,sys_name:"Elore",neighbors:[30003567,30003568,30003571]},
{system_id:30003571,region_id:10000044,sys_name:"Anckee",neighbors:[30003570,30003572,30003594]},
{system_id:30003572,region_id:10000044,sys_name:"Vevelonel",neighbors:[30003571,30003602]},
{system_id:30003573,region_id:10000044,sys_name:"Pertnineere",neighbors:[30003574]},
{system_id:30003574,region_id:10000044,sys_name:"Boystin",neighbors:[30003573,30003575,30003577]},
{system_id:30003575,region_id:10000044,sys_name:"Lour",neighbors:[30003574,30003576,30003577]},
{system_id:30003576,region_id:10000044,sys_name:"Maire",neighbors:[30003575,30003577,30003578]},
{system_id:30003577,region_id:10000044,sys_name:"Oerse",neighbors:[30003574,30003575,30003576,30003579]},
{system_id:30003578,region_id:10000044,sys_name:"Octanneve",neighbors:[30003576,30003588]},
{system_id:30003579,region_id:10000044,sys_name:"Larryn",neighbors:[30003577,30003580,30003583]},
{system_id:30003580,region_id:10000044,sys_name:"Niballe",neighbors:[30003579,30003581]},
{system_id:30003581,region_id:10000044,sys_name:"Postouvin",neighbors:[30003580,30003582]},
{system_id:30003582,region_id:10000044,sys_name:"Odinesyn",neighbors:[30003581,30003586]},
{system_id:30003583,region_id:10000044,sys_name:"Weraroix",neighbors:[30003579,30003584]},
{system_id:30003584,region_id:10000044,sys_name:"Sarline",neighbors:[30003583,30003585,30003587]},
{system_id:30003585,region_id:10000044,sys_name:"Aeter",neighbors:[30003584,30003587]},
{system_id:30003586,region_id:10000044,sys_name:"Gererique",neighbors:[30003582]},
{system_id:30003587,region_id:10000044,sys_name:"Harner",neighbors:[30003584,30003585]},
{system_id:30003588,region_id:10000044,sys_name:"Yvaeroure",neighbors:[30003578,30003589]},
{system_id:30003589,region_id:10000044,sys_name:"Vecodie",neighbors:[30003588,30003590]},
{system_id:30003590,region_id:10000044,sys_name:"Arasare",neighbors:[30003589,30003591,30003592]},
{system_id:30003591,region_id:10000044,sys_name:"Yvelet",neighbors:[30003590,30003567]},
{system_id:30003592,region_id:10000044,sys_name:"Lazer",neighbors:[30003590,30003593]},
{system_id:30003593,region_id:10000044,sys_name:"Stoure",neighbors:[30003592]},
{system_id:30003594,region_id:10000044,sys_name:"Heluene",neighbors:[30003571,30003595,30003596,30003597]},
{system_id:30003595,region_id:10000044,sys_name:"Arittant",neighbors:[30003594]},
{system_id:30003596,region_id:10000044,sys_name:"Oruse",neighbors:[30003594,30003597]},
{system_id:30003597,region_id:10000044,sys_name:"Hare",neighbors:[30003594,30003596,30003598,30003601]},
{system_id:30003598,region_id:10000044,sys_name:"Ogaria",neighbors:[30003597,30003599]},
{system_id:30003599,region_id:10000044,sys_name:"Faurulle",neighbors:[30003598,30003600,30003601]},
{system_id:30003600,region_id:10000044,sys_name:"Agaullores",neighbors:[30003599]},
{system_id:30003601,region_id:10000044,sys_name:"Babirmoult",neighbors:[30003597,30003599]},
{system_id:30003602,region_id:10000044,sys_name:"Ratillose",neighbors:[30003572,30003603]},
{system_id:30003603,region_id:10000044,sys_name:"Ondree",neighbors:[30003602,30003604,30003607]},
{system_id:30003604,region_id:10000044,sys_name:"Pochelympe",neighbors:[30003603,30003605,30003606]},
{system_id:30003605,region_id:10000044,sys_name:"Eggheron",neighbors:[30003604,30003606,30003823]},
{system_id:30003606,region_id:10000044,sys_name:"Toustain",neighbors:[30003604,30003605,30003607]},
{system_id:30003607,region_id:10000044,sys_name:"Straloin",neighbors:[30003603,30003606]},
{system_id:30003787,region_id:10000048,sys_name:"Agoze",neighbors:[30005300,30003788,30003790,30003791,30003792]},
{system_id:30003788,region_id:10000048,sys_name:"Intaki",neighbors:[30003787,30003789,30003790,30005311]},
{system_id:30003789,region_id:10000048,sys_name:"Brarel",neighbors:[30003788,30003791]},
{system_id:30003790,region_id:10000048,sys_name:"Vey",neighbors:[30003787,30003788,30003826]},
{system_id:30003791,region_id:10000048,sys_name:"Annancale",neighbors:[30003787,30003789]},
{system_id:30003792,region_id:10000048,sys_name:"Ostingele",neighbors:[30003787,30003794,30003793,30003800,30003806,30003797]},
{system_id:30003793,region_id:10000048,sys_name:"Harroule",neighbors:[30003792]},
{system_id:30003794,region_id:10000048,sys_name:"Stacmon",neighbors:[30005307,30003792,30003795,30003797,30003798]},
{system_id:30003795,region_id:10000048,sys_name:"Covryn",neighbors:[30003794,30003802,30003796]},
{system_id:30003796,region_id:10000048,sys_name:"Iges",neighbors:[30003795,30003797,30003798,30003799]},
{system_id:30003797,region_id:10000048,sys_name:"Dastryns",neighbors:[30003794,30003792,30003796,30003799]},
{system_id:30003798,region_id:10000048,sys_name:"Slays",neighbors:[30003794,30003796,30003847]},
{system_id:30003799,region_id:10000048,sys_name:"Uphallant",neighbors:[30003796,30003797]},
{system_id:30003800,region_id:10000048,sys_name:"Alperaute",neighbors:[30003792,30003801]},
{system_id:30003801,region_id:10000048,sys_name:"Aunsou",neighbors:[30003800,30003802,30003803,30003805]},
{system_id:30003802,region_id:10000048,sys_name:"Cumemare",neighbors:[30003801,30003795]},
{system_id:30003803,region_id:10000048,sys_name:"Reynire",neighbors:[30003801,30003804]},
{system_id:30003804,region_id:10000048,sys_name:"Pain",neighbors:[30003803]},
{system_id:30003805,region_id:10000048,sys_name:"Gare",neighbors:[30003801,30003818]},
{system_id:30003806,region_id:10000048,sys_name:"Pelille",neighbors:[30003792,30003807,30003808]},
{system_id:30003807,region_id:10000048,sys_name:"Dour",neighbors:[30003806,30003810]},
{system_id:30003808,region_id:10000048,sys_name:"Grispire",neighbors:[30003806,30003809]},
{system_id:30003809,region_id:10000048,sys_name:"Brellystier",neighbors:[30003808,30003810]},
{system_id:30003810,region_id:10000048,sys_name:"Vivanier",neighbors:[30003807,30003809,30003811]},
{system_id:30003811,region_id:10000048,sys_name:"Algasienan",neighbors:[30003810,30003812,30003824]},
{system_id:30003812,region_id:10000048,sys_name:"Osmallanais",neighbors:[30003811,30003813,30003815]},
{system_id:30003813,region_id:10000048,sys_name:"Ivorider",neighbors:[30003812,30003814,30003815]},
{system_id:30003814,region_id:10000048,sys_name:"Mollin",neighbors:[30003813,30003815]},
{system_id:30003815,region_id:10000048,sys_name:"Iffrue",neighbors:[30003812,30003813,30003814,30003816,30003817]},
{system_id:30003816,region_id:10000048,sys_name:"Vilinnon",neighbors:[30003815]},
{system_id:30003817,region_id:10000048,sys_name:"Ommaerrer",neighbors:[30003815]},
{system_id:30003818,region_id:10000048,sys_name:"Aulbres",neighbors:[30003805,30003819]},
{system_id:30003819,region_id:10000048,sys_name:"Barleguet",neighbors:[30003818,30003820,30003821]},
{system_id:30003820,region_id:10000048,sys_name:"Vestouve",neighbors:[30003819,30003822]},
{system_id:30003821,region_id:10000048,sys_name:"Ausmaert",neighbors:[30003819,30003823]},
{system_id:30003822,region_id:10000048,sys_name:"Espigoure",neighbors:[30003820]},
{system_id:30003823,region_id:10000048,sys_name:"Kenninck",neighbors:[30003821,30003605]},
{system_id:30003824,region_id:10000048,sys_name:"Archavoinet",neighbors:[30003811,30003825,30003827]},
{system_id:30003825,region_id:10000048,sys_name:"Eugales",neighbors:[30003824,30003826,30003827,30003828]},
{system_id:30003826,region_id:10000048,sys_name:"Frarie",neighbors:[30003825,30003828,30003790]},
{system_id:30003827,region_id:10000048,sys_name:"Aubenall",neighbors:[30003824,30003825,30003829,30003833]},
{system_id:30003828,region_id:10000048,sys_name:"Moclinamaud",neighbors:[30003825,30003826,30003829]},
{system_id:30003829,region_id:10000048,sys_name:"Renarelle",neighbors:[30003827,30003828,30003836]},
{system_id:30003830,region_id:10000048,sys_name:"Orvolle",neighbors:[30003831,30003833,30004975]},
{system_id:30003831,region_id:10000048,sys_name:"Osmeden",neighbors:[30003830,30003832,30003835]},
{system_id:30003832,region_id:10000048,sys_name:"Adacyne",neighbors:[30003831,30003834,30003835]},
{system_id:30003833,region_id:10000048,sys_name:"Oulley",neighbors:[30003830,30003827]},
{system_id:30003834,region_id:10000048,sys_name:"Chardalane",neighbors:[30003832]},
{system_id:30003835,region_id:10000048,sys_name:"Maut",neighbors:[30003831,30003832,30003850]},
{system_id:30003836,region_id:10000048,sys_name:"Vlillirier",neighbors:[30003829,30003837,30003838,30003841]},
{system_id:30003837,region_id:10000048,sys_name:"Aldranette",neighbors:[30003836,30003839]},
{system_id:30003838,region_id:10000048,sys_name:"Oicx",neighbors:[30003836]},
{system_id:30003839,region_id:10000048,sys_name:"Evaulon",neighbors:[30003837,30003840]},
{system_id:30003840,region_id:10000048,sys_name:"Anchauttes",neighbors:[30003839,30003842,30003857]},
{system_id:30003841,region_id:10000048,sys_name:"Alsavoinon",neighbors:[30003836]},
{system_id:30003842,region_id:10000048,sys_name:"Esesier",neighbors:[30003840]},
{system_id:30003843,region_id:10000048,sys_name:"Avaux",neighbors:[30005307,30003844]},
{system_id:30003844,region_id:10000048,sys_name:"Gallusiene",neighbors:[30003843,30003845]},
{system_id:30003845,region_id:10000048,sys_name:"Ruerrotta",neighbors:[30003844,30003846,30003847]},
{system_id:30003846,region_id:10000048,sys_name:"Hedoubel",neighbors:[30003845,30003849]},
{system_id:30003847,region_id:10000048,sys_name:"Amoen",neighbors:[30003845,30003848,30003798]},
{system_id:30003848,region_id:10000048,sys_name:"Amasiree",neighbors:[30003847,30003849]},
{system_id:30003849,region_id:10000048,sys_name:"Aubonnie",neighbors:[30003846,30003848]},
{system_id:30003850,region_id:10000048,sys_name:"Alparena",neighbors:[30003835,30003851]},
{system_id:30003851,region_id:10000048,sys_name:"Reschard",neighbors:[30003850,30003852,30003853]},
{system_id:30003852,region_id:10000048,sys_name:"Arderonne",neighbors:[30003851,30003854,30003857]},
{system_id:30003853,region_id:10000048,sys_name:"Mercomesier",neighbors:[30003851,30003856]},
{system_id:30003854,region_id:10000048,sys_name:"Alamel",neighbors:[30003852,30003855,30003857]},
{system_id:30003855,region_id:10000048,sys_name:"Mantenault",neighbors:[30003854]},
{system_id:30003856,region_id:10000048,sys_name:"Athounon",neighbors:[30003853]},
{system_id:30003857,region_id:10000048,sys_name:"Odamia",neighbors:[30003852,30003854,30003840]},
{system_id:30004967,region_id:10000064,sys_name:"Luminaire",neighbors:[30002632,30004968,30004972]},
{system_id:30004968,region_id:10000064,sys_name:"Mies",neighbors:[30004967,30003014,30004969]},
{system_id:30004969,region_id:10000064,sys_name:"Oursulaert",neighbors:[30004970,30004968]},
{system_id:30004970,region_id:10000064,sys_name:"Renyn",neighbors:[30004969,30004971,30004972,30002633,30002636]},
{system_id:30004971,region_id:10000064,sys_name:"Duripant",neighbors:[30002668,30004970]},
{system_id:30004972,region_id:10000064,sys_name:"Algogille",neighbors:[30004967,30004970,30005015,30014971]},
{system_id:30004973,region_id:10000064,sys_name:"Caslemon",neighbors:[30004974,30004975,30004976,30005018,30005021]},
{system_id:30004974,region_id:10000064,sys_name:"Jolevier",neighbors:[30004973,30004976]},
{system_id:30004975,region_id:10000064,sys_name:"Mesybier",neighbors:[30004973,30004978,30005295,30003830]},
{system_id:30004976,region_id:10000064,sys_name:"Charmerout",neighbors:[30004973,30004974,30004977]},
{system_id:30004977,region_id:10000064,sys_name:"Yvangier",neighbors:[30004976,30004979]},
{system_id:30004978,region_id:10000064,sys_name:"Pemene",neighbors:[30004975,30004993,30005329]},
{system_id:30004979,region_id:10000064,sys_name:"Heydieles",neighbors:[30004977,30004980,30004981,30004982,30004984,30005000]},
{system_id:30004980,region_id:10000064,sys_name:"Fliet",neighbors:[30004979,30004981,30004985]},
{system_id:30004981,region_id:10000064,sys_name:"Actee",neighbors:[30004979,30004980,30004983]},
{system_id:30004982,region_id:10000064,sys_name:"Indregulle",neighbors:[30004979,30005295]},
{system_id:30004983,region_id:10000064,sys_name:"Amane",neighbors:[30004981,30004986]},
{system_id:30004984,region_id:10000064,sys_name:"Abune",neighbors:[30004979]},
{system_id:30004985,region_id:10000064,sys_name:"Deven",neighbors:[30004980]},
{system_id:30004986,region_id:10000064,sys_name:"Estaunitte",neighbors:[30004983]},
{system_id:30004987,region_id:10000064,sys_name:"Deninard",neighbors:[30004988,30004989,30004990]},
{system_id:30004988,region_id:10000064,sys_name:"Hulmate",neighbors:[30004987,30004989,30004990,30005006]},
{system_id:30004989,region_id:10000064,sys_name:"Annages",neighbors:[30004987,30004988]},
{system_id:30004990,region_id:10000064,sys_name:"Onne",neighbors:[30004987,30004988,30004991,30005008]},
{system_id:30004991,region_id:10000064,sys_name:"Vitrauze",neighbors:[30005011,30004990,30004992]},
{system_id:30004992,region_id:10000064,sys_name:"Palmon",neighbors:[30004991,30002728]},
{system_id:30004993,region_id:10000064,sys_name:"Villore",neighbors:[30004978,30004994,30004995,30005000,30005026,30002640]},
{system_id:30004994,region_id:10000064,sys_name:"Arant",neighbors:[30004993,30004996]},
{system_id:30004995,region_id:10000064,sys_name:"Allamotte",neighbors:[30004993,30004997]},
{system_id:30004996,region_id:10000064,sys_name:"Obalyu",neighbors:[30004994,30004998]},
{system_id:30004997,region_id:10000064,sys_name:"Vifrevaert",neighbors:[30004995,30004999]},
{system_id:30004998,region_id:10000064,sys_name:"Parts",neighbors:[30004996,30005009]},
{system_id:30004999,region_id:10000064,sys_name:"Ladistier",neighbors:[30004997,30005000,30005008]},
{system_id:30005000,region_id:10000064,sys_name:"Old Man Star",neighbors:[30004993,30004999,30004979]},
{system_id:30005001,region_id:10000064,sys_name:"Arnon",neighbors:[30005002,30005003,30005006]},
{system_id:30005002,region_id:10000064,sys_name:"Laurvier",neighbors:[30005001,30005003,30005004]},
{system_id:30005003,region_id:10000064,sys_name:"Adirain",neighbors:[30005001,30005002,30005008]},
{system_id:30005004,region_id:10000064,sys_name:"Attyn",neighbors:[30005002,30005330]},
{system_id:30005006,region_id:10000064,sys_name:"Aere",neighbors:[30005001,30005007,30004988]},
{system_id:30005007,region_id:10000064,sys_name:"Lisbaetanne",neighbors:[30005006,30005008]},
{system_id:30005008,region_id:10000064,sys_name:"Aeschee",neighbors:[30005003,30005007,30004999,30004990,30005321]},
{system_id:30005009,region_id:10000064,sys_name:"Allebin",neighbors:[30004998,30005010,30005012,30005013]},
{system_id:30005010,region_id:10000064,sys_name:"Atlulle",neighbors:[30005009,30005011,30005014]},
{system_id:30005011,region_id:10000064,sys_name:"Droselory",neighbors:[30005010,30004991]},
{system_id:30005012,region_id:10000064,sys_name:"Haine",neighbors:[30005009,30005013]},
{system_id:30005013,region_id:10000064,sys_name:"Perckhevin",neighbors:[30005009,30005012]},
{system_id:30005014,region_id:10000064,sys_name:"Isenan",neighbors:[30005010]},
{system_id:30005015,region_id:10000064,sys_name:"Synchelle",neighbors:[30004972,30005016,30034971]},
{system_id:30005016,region_id:10000064,sys_name:"Wysalan",neighbors:[30005015,30005017,30005019,30044971]},
{system_id:30005017,region_id:10000064,sys_name:"Yona",neighbors:[30005016,30005018,30005019,30005021]},
{system_id:30005018,region_id:10000064,sys_name:"Noghere",neighbors:[30004973,30005017,30005021]},
{system_id:30005019,region_id:10000064,sys_name:"Aporulie",neighbors:[30005016,30005017,30005020]},
{system_id:30005020,region_id:10000064,sys_name:"Seyllin",neighbors:[30002637,30005019,30005022]},
{system_id:30005021,region_id:10000064,sys_name:"Adrel",neighbors:[30004973,30005017,30005018]},
{system_id:30005022,region_id:10000064,sys_name:"Ane",neighbors:[30005020,30005023]},
{system_id:30005023,region_id:10000064,sys_name:"Clorteler",neighbors:[30005022]},
{system_id:30005024,region_id:10000064,sys_name:"Atlangeins",neighbors:[30005025,30024971]},
{system_id:30005025,region_id:10000064,sys_name:"Derririntel",neighbors:[30005334,30005024,30005026]},
{system_id:30005026,region_id:10000064,sys_name:"Cat",neighbors:[30004993,30005025,30005027]},
{system_id:30005027,region_id:10000064,sys_name:"Ommare",neighbors:[30005026,30005028]},
{system_id:30005028,region_id:10000064,sys_name:"Andole",neighbors:[30005027]},
{system_id:30005295,region_id:10000068,sys_name:"Murethand",neighbors:[30004975,30005296,30004982]},
{system_id:30005296,region_id:10000068,sys_name:"Melmaniel",neighbors:[30005295,30005297,30005298]},
{system_id:30005297,region_id:10000068,sys_name:"Ouelletta",neighbors:[30005296,30005300,30005308]},
{system_id:30005298,region_id:10000068,sys_name:"Costolle",neighbors:[30005296,30005299]},
{system_id:30005299,region_id:10000068,sys_name:"Muetralle",neighbors:[30005298,30005320]},
{system_id:30005300,region_id:10000068,sys_name:"Loes",neighbors:[30005297,30003787]},
{system_id:30005301,region_id:10000068,sys_name:"Tourier",neighbors:[30005302,30005303,30025305]},
{system_id:30005302,region_id:10000068,sys_name:"Alenia",neighbors:[30005301,30005304,30005306]},
{system_id:30005303,region_id:10000068,sys_name:"Merolles",neighbors:[30005301,30005304]},
{system_id:30005304,region_id:10000068,sys_name:"Alentene",neighbors:[30005302,30005303,30005305,30005306,30005322,30015305]},
{system_id:30005305,region_id:10000068,sys_name:"Cistuvaert",neighbors:[30005304,30005307,30005315]},
{system_id:30005306,region_id:10000068,sys_name:"Vaere",neighbors:[30005302,30005304]},
{system_id:30005307,region_id:10000068,sys_name:"Aidart",neighbors:[30005305,30003794,30003843]},
{system_id:30005308,region_id:10000068,sys_name:"Jufvitte",neighbors:[30005297,30005309,30005310,30005311]},
{system_id:30005309,region_id:10000068,sys_name:"Ansalle",neighbors:[30005308,30005312]},
{system_id:30005310,region_id:10000068,sys_name:"Scheenins",neighbors:[30005308,30005318]},
{system_id:30005311,region_id:10000068,sys_name:"Amygnon",neighbors:[30005308,30003788]},
{system_id:30005312,region_id:10000068,sys_name:"Gisleres",neighbors:[30005322,30005309,30005313]},
{system_id:30005313,region_id:10000068,sys_name:"Ellmay",neighbors:[30005312,30005314]},
{system_id:30005314,region_id:10000068,sys_name:"Theruesse",neighbors:[30005313]},
{system_id:30005315,region_id:10000068,sys_name:"Eletta",neighbors:[30005305,30005316,30005318,30035305]},
{system_id:30005316,region_id:10000068,sys_name:"Luse",neighbors:[30005315,30005317,30005318,30045305]},
{system_id:30005317,region_id:10000068,sys_name:"Ekuenbiron",neighbors:[30005316,30005319]},
{system_id:30005318,region_id:10000068,sys_name:"Vay",neighbors:[30005315,30005316,30005310,30005319]},
{system_id:30005319,region_id:10000068,sys_name:"Raneilles",neighbors:[30005317,30005318,30005320]},
{system_id:30005320,region_id:10000068,sys_name:"Hevrice",neighbors:[30005299,30005319,30005321]},
{system_id:30005321,region_id:10000068,sys_name:"Jovainnon",neighbors:[30005320,30005008]},
{system_id:30005322,region_id:10000068,sys_name:"Scolluzer",neighbors:[30005304,30005323,30005332,30005312]},
{system_id:30005323,region_id:10000068,sys_name:"Sortet",neighbors:[30005322,30005324]},
{system_id:30005324,region_id:10000068,sys_name:"Claulenne",neighbors:[30005323,30005325]},
{system_id:30005325,region_id:10000068,sys_name:"Masalle",neighbors:[30005324,30005326]},
{system_id:30005326,region_id:10000068,sys_name:"Annelle",neighbors:[30005325,30005327]},
{system_id:30005327,region_id:10000068,sys_name:"Chesiette",neighbors:[30005326,30005328]},
{system_id:30005328,region_id:10000068,sys_name:"Reblier",neighbors:[30005327]},
{system_id:30005329,region_id:10000068,sys_name:"Amoderia",neighbors:[30004978,30005330,30005333]},
{system_id:30005330,region_id:10000068,sys_name:"Arraron",neighbors:[30005329,30005331,30005004,30005333]},
{system_id:30005331,region_id:10000068,sys_name:"Chantrousse",neighbors:[30005330,30005332,30005334]},
{system_id:30005332,region_id:10000068,sys_name:"Osmomonne",neighbors:[30005322,30005331,30005334]},
{system_id:30005333,region_id:10000068,sys_name:"Stou",neighbors:[30005329,30005330]},
{system_id:30005334,region_id:10000068,sys_name:"Tierijev",neighbors:[30005331,30005332,30005025]},
{system_id:30012715,region_id:10000032,sys_name:"Odotte",neighbors:[30002656]},
{system_id:30014971,region_id:10000064,sys_name:"Couster",neighbors:[30004972]},
{system_id:30015305,region_id:10000068,sys_name:"Adallier",neighbors:[30005304]},
{system_id:30022715,region_id:10000032,sys_name:"Oirtlair",neighbors:[30002708]},
{system_id:30024971,region_id:10000064,sys_name:"Hecarrin",neighbors:[30005024]},
{system_id:30025305,region_id:10000068,sys_name:"Channace",neighbors:[30005301]},
{system_id:30032715,region_id:10000032,sys_name:"Olelon",neighbors:[30002711]},
{system_id:30034971,region_id:10000064,sys_name:"Henebene",neighbors:[30005015]},
{system_id:30035305,region_id:10000068,sys_name:"Clacille",neighbors:[30005315]},
{system_id:30042715,region_id:10000032,sys_name:"Trossere",neighbors:[30002731]},
{system_id:30044971,region_id:10000064,sys_name:"Mesokel",neighbors:[30005016]},
{system_id:30045305,region_id:10000068,sys_name:"Clellinon",neighbors:[30005316]}

];
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more