A stand-alone version of https://observablehq.com/@fil/a-conformal-airocean
Built with blockbuilder.org
license: mit |
license: gpl-3.0 | |
height: 600 | |
border: no |
license: mit |
license: gpl-3.0 | |
border: no | |
height: 484 |
height: 650 |
<?php | |
/* is (lon, lat) inside the polygon $p? | |
* use ray casting algorithm (http://en.wikipedia.org/wiki/Point_in_polygon) | |
* ie. project a horizontal line from our point to each segment | |
* code adapted from http://stackoverflow.com/questions/14149099/raycasting-algorithm-with-gps-coordinates | |
*/ | |
function inside_polygon($test_point, $points) { |
license: gpl-3.0 |
license: mit |
license: mit |
A stand-alone version of https://observablehq.com/@fil/a-conformal-airocean
Built with blockbuilder.org