Public
Edited
Mar 17
1 star
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
parsedGCPs = d3.csvParseRows(
await FileAttachment("earlier_gpcs.csv").text(),
(d, i) => {
return {
type: "Feature",
properties: {
resourceCoords: [+d[1] * scale, annotation.target.source.height - d[2] * scale]
},
geometry: {
type: "Point",
coordinates: proj4("EPSG:31370").inverse([+d[3], +d[4]])
}
};
}
)
Insert cell
Insert cell
modifiedAnnotation = {
let modifiedAnnotation = JSON.parse(JSON.stringify(annotation)); // Deep cloning the annotation object
modifiedAnnotation.body.features = parsedGCPs;
modifiedAnnotation.body.transformation.type = "thinPlateSpline";
return modifiedAnnotation
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
page3_1 = FileAttachment("page3_1.jpg").image({width: 400})
Insert cell
Insert cell
Insert cell
Insert cell
proj4 = require("proj4")
Insert cell
proj4.defs("EPSG:31370","+proj=lcc +lat_0=90 +lon_0=4.36748666666667 +lat_1=51.1666672333333 +lat_2=49.8333339 +x_0=150000.013 +y_0=5400088.438 +ellps=intl +towgs84=-106.8686,52.2978,-103.7239,-0.3366,0.457,-1.8422,-1.2747 +units=m +no_defs +type=crs");

Insert cell
scale = 6100
Insert cell
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