|
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | +=== Chapter 11: Geospatial Data |
| 5 | + |
| 6 | +* Intro |
| 7 | + - mapviewer page: zoom in on English Channel (11a) |
| 8 | + |
| 9 | +* pointwise spatial aggregation |
| 10 | + - grid UFO sightings by equirectangular tile_ij |
| 11 | + - mapviewer page to look at it (heatmap layer) |
| 12 | + - grid airports by # of flights |
| 13 | + - mapviewer page to look at it |
| 14 | + |
| 15 | +* pointwise spatial join |
| 16 | + - bounding box for circle of distance |
| 17 | + - (code block with full bbox-for-circle-of-distance method) |
| 18 | + - bbox to quadkeys |
| 19 | + - flatten then group on quadkeys; aggregate |
| 20 | + - mapviewer page to look at it (layer with points) |
| 21 | + - mapviewer demo page: two big circles |
| 22 | + - labelled digram of why max long = point with tangent |
| 23 | + |
| 24 | +* export to tileserver |
| 25 | + - point -> quadkey |
| 26 | + - polygon -> quadkey, LineString -> quadkey |
| 27 | + - (hbase backing?) |
| 28 | + |
| 29 | +* projections |
| 30 | + - do with mercator (because google) |
| 31 | + - do with lambert (for equal area) |
| 32 | + - do with equirectangular (because x/y) |
| 33 | + - do with coolhat (because poles) |
| 34 | + - implement coolhat UDF |
| 35 | + - show our geographic exemplars in each |
| 36 | + - orthographic projection of each tile scheme on globe (with landmasses?) |
| 37 | + |
| 38 | +* Mechanics of data |
| 39 | + - Geometric Exemplars |
| 40 | + - _snake_ -- Open LineString of an s-like shape. Lies within dotman, its endpoint meets dotman's boundary |
| 41 | + - _snake_mid_ -- 2nd point of snake |
| 42 | + - _snake_end_ -- endpoint of snake, meets dotman's boundary |
| 43 | + - _bar_ -- line. crossed dotman |
| 44 | + - _bowtie_ -- LineString of closed non-simple bowtie, one wing larger. touches dotman but doesn't cross. |
| 45 | + - _banana_ -- . |
| 46 | + - _dotman_ -- MultiPolygon of Dotman (with eye) and Dot, such that centroid is not within interior |
| 47 | + - _dm_outline_ -- outer ring of dotman body |
| 48 | + - _hat_ -- rectangle overlaps dotman's upper half, one corner in middle of dot one corner just left of head |
| 49 | + - _mote_ -- small LineString diamond that is inside dotman's eye |
| 50 | + - _monroe_ -- small polygon diamond above dotman's mouth |
| 51 | + - Geographic exemplars |
| 52 | + - _reyk_ish_ -- Near Reykjavik at (-20, 65) (actual -21.9, 64.1) |
| 53 | + - _arkh_ish_ -- Near Arkhangelsk at (40, 65) (actual 40.5, 64.5) |
| 54 | + - _pt_65_10_ -- North of Oslo at (10, 65) |
| 55 | + - _oslo_ish_ -- Near Oslo at (10, 60) (actual 10.8, 60) |
| 56 | + - sardinia (40, 10) (actual 40, 9) |
| 57 | + - milan (45, 10) (actual 45.5, 9.2) |
| 58 | + - tun_ish (35, 10) (actual 34, 9) |
| 59 | + - _reyk_arkh_ -- line connecting reyk_ish with arkh_ish |
| 60 | + - _libr_ish_ -- Near Libreville at (10, 65) |
| 61 | + - _circ_10_65_1400_ -- circle of 1400km around (10, 65) |
| 62 | + - _circ_10_0_1400_ -- circle of 1400km around (10, 0) |
| 63 | + |
| 64 | + - constructors |
| 65 | + - assembling point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, Envelope |
| 66 | + - transforms |
| 67 | + - envelope: point, LineString, MultiPolygon |
| 68 | + - centroid: point, line, Dotman |
| 69 | + - StartPoint(line) |
| 70 | + - EndPoint(line) |
| 71 | + - PointN(line) |
| 72 | + - Boundary |
| 73 | + - ConvexHull |
| 74 | + - Simplify |
| 75 | + - Buffer |
| 76 | + - Affine Transform; scale, rotate, translate, flipx, flipy |
| 77 | + - Properties |
| 78 | + - GeoArea |
| 79 | + - GeoMinX, GeoMinY, GeoMaxX, GeoMaxY |
| 80 | + - GeoX, GeoY |
| 81 | + - GeoLength |
| 82 | + - GeoLength2dSpheroid (GeodesicLengthWGS84) |
| 83 | + - GeoDistance |
| 84 | + - GeoDistanceSphere |
| 85 | + - GeoDimension |
| 86 | + - GeoCoordDim |
| 87 | + - GeoGeometryType |
| 88 | + - IsGeoEmpty |
| 89 | + - IsGeoClosed |
| 90 | + - IsGeoSimple |
| 91 | + - Combine |
| 92 | + - Union |
| 93 | + - Intersection |
| 94 | + - Difference A-B, Difference B-A |
| 95 | + - SymmetricDifference |
| 96 | + - Relationships |
| 97 | + - Equals |
| 98 | + - Ordering Equals( dotman, vertically flipped dotman) |
| 99 | + - Intersects & Disjoint |
| 100 | + - dotman/hat yes; dotman/mote no; dotman/bowtie yes, (bdy counts); dotman/dm_outline yes. dotman/bar yes. |
| 101 | + - Within & contains: |
| 102 | + - dotman/hat no; dotman/mote no, even though its bbox is within; dotman/monroe yes; dotman/dm_outline ??no?? |
| 103 | + - snake/snake_end, snake_mid |
| 104 | + - Covers & CoveredBy |
| 105 | + - dotman/hat no; dotman/mote no, even though its bbox is within; dotman/monroe yes; dotman/dm_outline yes |
| 106 | + - snake/snake_end, snake_mid |
| 107 | + - Crosses |
| 108 | + - dotman/snake (no?), dotman/bowtie (no), dotman/hat (no, because makes a polygon), dotman/bar (yes) |
| 109 | + - snake/snake_end, snake/snake_mid, bowtie/dotman (no: tangent) |
| 110 | + - Overlaps |
| 111 | + - dotman/bar (yes), dotman/hat (yes) dotman/mote (yes), |
| 112 | + - snake/snake_end, snake/snake_mid, bowtie/dotman (no: tangent) |
| 113 | + - Touches |
| 114 | + - dotman bowtie yes; dotman mote no, dotman monroe no; dotman/bar |
| 115 | + - snake/snake_end, snake/snake_mid, bowtie/dotman (yes: tangent), |
| 116 | +* data formats |
| 117 | + - GeoJSON for exemplar shapes in/out |
| 118 | + - WKT for exemplar shapes in/out |
| 119 | + - GeoJSON from ogr2ogr for natural earth |
| 120 | + - WKT from ogr2ogr for natural earth |
| 121 | + |
0 commit comments