Public
Edited
Nov 3, 2023
11 stars
Insert cell
Insert cell
disputes = FileAttachment("territorial-disputes.json").json()
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
land = fetch("https://unpkg.com/visionscarto-world-atlas@0.0.6/world/110m_countries.geojson").then(d => d.json())
Insert cell
Insert cell
Insert cell
projection = d3.geoBertin1953()
Insert cell
outline = ({type: "Sphere"})
Insert cell
Insert cell
Insert cell
Insert cell
// The max number of disputes per country
Math.max(...Object.values(disputePerCountry).map((x) => x.length))
Insert cell
defaultOpacity = (country) =>
0.3 + disputePerCountry[country.properties.iso_a3_eh]?.length / 18
Insert cell
isCountry = (d, country) => d.properties.name === country.properties.name
Insert cell
hasDispute = (d, country) =>
d.properties.countries?.includes(country.properties.iso_a3_eh)
Insert cell
mutable title="";
Insert cell
mutable explanation = ""
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