úÎ!OÖKìC      !"#$%&'()*+,-./0123456789:;<=>?@AB%Morton reperesention of integer pairs© 2018-2019 Satsuma labsNone%4MXg+ƒpersistent-spatialÁType for a tile in Morton space, a special type of rectangle which is the set of all points sharing a common binary prefex. Reperesented as a point and mask length simillarly to a CIDR subnet.persistent-spatialUType for retangles in Morton space reperesented by upper-left and lower-right cornerspersistent-spatialMType for closed intervals. The second field should be greater than the first.persistent-spatial6Type implementing a Morton Z-Order Curve. Stores two Cv values with bits interleaved. This allows for spatial indexing by rectangular tiles which form contiguous intervals.persistent-spatial*Construct/match rectangles by their sides. persistent-spatial2Construct a Morton value from its two coordinates. persistent-spatialIReturns intersection of two intervals, or Nothing if they do not overlap. persistent-spatial>Tests whether an element is contained within a given Interval. persistent-spatial(Returns the size of an integer interval. persistent-spatial&Returns the size of a Morton interval.persistent-spatial!Returns x,y bounds of a rectanglepersistent-spatial'Rerurns intersection of two rectangles.persistent-spatialReturns the area of a rectanglepersistent-spatialReturns a tile as an .persistent-spatialReturns a tile as a .persistent-spatialzFinds the smallest tile completely enclosing a rectangle. This can be arbitrarily large if the rectangle crosses a seam.persistent-spatial Splits a 9 in half. Does not split tiles containing a single value.persistent-spatialTrims a  MortonTile8 to its subtile overlapping a given rectangle. Returns D, if the rectabgle and tile do not intersect.persistent-spatialXCovers a rectangle using tiles within a range of sizes (specified by their mask values).persistent-spatialÿNCovers a rectangle with tiles no larger then the area to be covered (no lower size limit). The total area coverd by these tiles bas a trivial upper bound of 8 tiles the rectangle's area plus the area of its enclosing square and the actual performance is usually significantly better (possibly always, although I have not proven so).persistent-spatial Version of f which allows the rectangle to wrap around the maximum x/y coordinates (as if the space were a torus).persistent-spatialJA tile sorts immediately before its subtiles, i.e. x sorts before 0 and 1.persistent-spatial^Values which reperesent the same tile compare equal even if the reperesentative points differ.   2Spatially indexed type for geographic coordinates.© 2018-2019 Satsuma labsNone%XgKt)persistent-spatial_Represents a LatLong tile, which is both a rectangle and a contoguous interval in the ordering.*persistent-spatialGType for storing geographic coordinates that can be spatially indexed (ÿ ordering). Each coordinate is reperesented as as 32-bit fixed point value and is also accessible as a Double through a pattern synonym. Order follows a Morton Z-order curve which can be used to search a database by tiles. This works with any database capable of storing and indexing EO (although this type only uses those values fitting in a 64 bit signed integer)+persistent-spatial>Underlying reperesentation and source of ordering for indexing,persistent-spatial<Pattern for accessing latitide and longitude coordinates as Fµ values. This is not fully isomoprphic as latitude is clipped to ±90, longitude is wrapped mod 360 ±180, and rounding error exists due to the internal fixed-point reperesentation.-persistent-spatialLens for latitude..persistent-spatialLens for longitude./persistent-spatial Earth's average radius in meters0persistent-spatial›Calculate distance between two points using the Haversine formula (up to 0.5% due to the assumption of a spherical Earth). Distance is returned in meters.1persistent-spatialßCalculates the corner coordinates of a square with a given center and radius (in meters). Based on the Mercator projection thus has distortion near the poles (within 5% for a radius at most 200km and latitude within ±70).2persistent-spatialTGets the corners of a tile, which are also the bounds of its interval in sort order.3persistent-spatialFCovers a rectangle (defined by its corners) tiles of at most its size.4persistent-spatial<Covers a square (defined by its center and radius) by tiles.5persistent-spatial2Tests whether a point is contasined in a tile set.6persistent-spatial2Persistent filter producing the SQL equiveland ot 5.)*+,-./0123456*+,,-./01)23456G      !"#$%&'()*)+,-./0123456789:;<=>?@ABCADEABFGHIJ1persistent-spatial-0.1.0.0-GX90aaWuQQWCCL6oUyywbd Data.Morton Data.LatLong MortonTile MortonRectIntervalMortonMortonRectSides MortonPairintersectInterval intervalElem intervalSizeintervalSizeMortonmortonRectBoundsintersectMortonRectmortonRectSizemortonTileBoundsmortonTileRectenclosingMortonTilesplitMortonTiletrimMortonTilemortonTileCoverSizedmortonTileCovermortonTileCoverTorus $fReadMorton $fShowMorton$fOrdMortonTile$fEqMortonTile$fReadMortonTile$fShowMortonTile $fEqMorton $fOrdMorton $fEnumMorton $fEqInterval$fShowInterval$fReadInterval$fFunctorInterval$fEqMortonRect$fShowMortonRect$fReadMortonRect LatLongTileLatLongLatLongZlatlong earthRadius geoDistance geoSquarelatLongTileIntervallatLongTileCoverlatLongTileCoverSquare tileSetElem withinTileSet$fPersistFieldSqlLatLong$fPersistFieldLatLong $fShowLatLong$fToHttpApiDataLatLong$fFromHttpApiDataLatLong$fFromJSONLatLong$fToJSONLatLong $fEqLatLong $fOrdLatLong$fEqLatLongTile$fReadLatLongTile$fShowLatLongTilebaseGHC.WordWord32 GHC.MaybeNothingWord64ghc-prim GHC.TypesDouble