var wgs84Sphere = new ol.Sphere(6378137); var getGeodesicArea = function(polygon) { var geom = (polygon.clone().transform('EPSG:3857', 'EPSG:4326')); var area = Math.abs(wgs84Sphere.geodesicArea(geom.getLinearRing(0).getCoordinates())); return area; };

Pass a polygon geometry to the function and you'll get a value in m2. The magic number used to construct the sphere is the radius of the earth. abs is needed because the result is puzzlingly sometimes negative and sometimes positive; that doesn't seem to depend on the order of the coordinates, since my polygons are all properly wound. I can now go on to calculating intersection areas.

]]>The next stage is to figure out how to continue the chain for an extinguished lot. My suggested approach is to analyse the potential overlap of all lots, in order to discover any pairs which overlap by more than 50% of the area of one of them; this should be sufficient to generate a link between them, and then any chain can be continued by following [one of] the lot[s] into which it was [de]composed. I think this can be done in JavaScript using Node and the Turf.js library, specifically turf intersect. I'll need to script and test this, then it'll run for many hours to generate all the required lists.

]]>- (Urgent): this week, put together a demo map of a single sequence of titles pertaining to a single Maple Ridge property. Do this by getting a list of titles in a chain, then combining their generated TEI place files into a single file; then edit that file to make info more human-friendly; then generate GeoJSON and create a map.
- The existing TSV seems to have all the required info in it for the various calculations that will need to be done.