mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-09 03:19:56 +00:00
134 lines
4.6 KiB
Plaintext
134 lines
4.6 KiB
Plaintext
title: $:/plugins/tiddlywiki/geospatial/docs
|
|
|
|
! Widgets
|
|
|
|
!! `<$geomap>` widget
|
|
|
|
The `<$geomap>` widget displays an interactive map using [[Leaflet.js|https://leafletjs.com/]].
|
|
|
|
The following attributes are supported:
|
|
|
|
|!Attribute |!Description |
|
|
|''state'' |The title of a state tiddler used to track the state of the map in the `zoom`, `long` and `lat` fields |
|
|
|''layers'' |A filter identifying the GeoJSON layer tiddlers to be displayed on the map |
|
|
|''markers'' |A filter identifying the GeoJSON marker tiddlers to be displayed on the map |
|
|
|
|
! Filter Operators
|
|
|
|
!! `geopoint` operator
|
|
|
|
The `geopoint` operator converts separate latitude, longitude and (optionally) altitude numbers into a [[GeoJSON Point Feature]] that can be used with other geospatial primitives.
|
|
|
|
The coordinates are specified as two or three operands:
|
|
|
|
```
|
|
[geopoint<latitude>,<longitude>,<attitude>]
|
|
```
|
|
|
|
Any operands that cannot be interpreted as a valid number will be interpreted as the value zero.
|
|
|
|
For example:
|
|
|
|
```
|
|
<$text text={{{ [geopoint[51.751944],[-1.257778]] }}}/>
|
|
```
|
|
|
|
Returns:
|
|
|
|
```
|
|
{"type":"Feature","properties":{},"geometry":{"type":"Point","coordinates":[51.751944,-1.257778,0]}}
|
|
```
|
|
|
|
!! `geodistance` operator
|
|
|
|
The `geodistance` operator calculates the distance between two points in [[GeoJSON Point Feature]] format. The points are specified as two operands. An optional third operand specifies the units as `miles`, `kilometers`, `degrees` or `radians` (defaults to `miles`).
|
|
|
|
```
|
|
<$let
|
|
oxford={{{ [geopoint[51.751944],[-1.257778]] }}}
|
|
new-york={{{ [geopoint[40.730610],[-73.935242]] }}}
|
|
>
|
|
<$text text={{{ [geodistance<oxford>,<new-york>] }}}/>,
|
|
<$text text={{{ [geodistance<oxford>,<new-york>,[miles]] }}}/>,
|
|
</$let>
|
|
```
|
|
|
|
!! `geonearestpoint` operator
|
|
|
|
The `geonearestpoint` operator determines the point in a list that is nearest to a target point. Each input list item is interpreted as a [[GeoJSON Point Feature]] comprising the candidate points. The target point is specified as the first operand in [[GeoJSON Point Feature]] format.
|
|
|
|
```
|
|
<$let
|
|
oxford={{{ [geopoint[51.751944],[-1.257778]jsonset[id],[Oxford]] }}}
|
|
winchester={{{ [geopoint[51.0632],[-1.308]jsonset[id],[Winchester]] }}}
|
|
new-york={{{ [geopoint[40.730610],[-73.935242]jsonset[id],[New York]] }}}
|
|
>
|
|
|
|
<$text text={{{ =[<oxford>] =[<winchester>] +[geonearestpoint<new-york>jsonget[id]] }}}/>,
|
|
<$text text={{{ =[<oxford>] =[[Not a point]] +[geonearestpoint<new-york>jsonget[id]] }}}/>,
|
|
<$text text={{{ =[[Not a point]] +[geonearestpoint<new-york>jsonget[id]] }}}/>
|
|
|
|
</$let>
|
|
```
|
|
|
|
!! `geounion` operator
|
|
|
|
The `geounion` operator calculates the union between two or more [[GeoJSON Polygon Features|GeoJSON Polygon Feature]].
|
|
|
|
Each input list item is interpreted as a [[GeoJSON Polygon Feature Collection]] containing polygons.
|
|
|
|
```
|
|
[geounion[]]
|
|
```
|
|
|
|
!! `geointersect` operator
|
|
|
|
The `geointersect` operator calculates the intersection between two or more [[GeoJSON Polygon Features|GeoJSON Polygon Feature]].
|
|
|
|
Each input list item is interpreted as a [[GeoJSON Polygon Feature Collection]] containing polygons.
|
|
|
|
```
|
|
[geointersect[]]
|
|
```
|
|
|
|
!! `geodifference` operator
|
|
|
|
The `geodifference` operator calculates the difference between two or more [[GeoJSON Polygon Features|GeoJSON Polygon Feature]].
|
|
|
|
Each input list item is interpreted as a [[GeoJSON Polygon Feature Collection]] containing polygons.
|
|
|
|
```
|
|
[geodifference[]]
|
|
```
|
|
|
|
!! `geolookup` operator
|
|
|
|
The `geolookup` operator identifies the polygon(s) within a [[GeoJSON Polygon Feature]] that correspond to a particular point, and returns the JSON properties of that polygon.
|
|
|
|
Each input list item is interpreted as a [[GeoJSON Point Feature]] and the operand is interpreted as a [[GeoJSON Polygon Feature Collection]].
|
|
|
|
For example, here we lookup the point 100.5,0.5 in the [[GeoJSON Polygon Feature Collection]] stored in the tiddler `TestData` and then extracts the indexes `0` and `animal` from the resulting JSON:
|
|
|
|
```
|
|
<$text text={{{ [geopoint[100.5],[0.5]geolookup{TestData}jsonget[0],[animal]] }}}/>
|
|
```
|
|
|
|
!! `olc-decode` operator
|
|
|
|
The `olc-decode` operator converts an [[OpenLocationCode|https://github.com/google/open-location-code]] shortcut into the [[GeoJSON Point Feature]] at its centre or the [[GeoJSON Polygon Feature]] representing the bounds of the area identified by the input code.
|
|
|
|
```
|
|
[olc-decode:bounds[9C3WQP2R+QV]]
|
|
[olc-decode:point[9C3WQP2R+QVH]]
|
|
```
|
|
|
|
!! `olc-encode` operator
|
|
|
|
The `old-encode` operator converts separate latitude and longitude numbers into an [[OpenLocationCode|https://github.com/google/open-location-code]] shortcut code with a specified length (defaults to 11 characters).
|
|
|
|
```
|
|
[olc-encode[51.751944],[-1.257778]]
|
|
[olc-encode[51.751944],[-1.257778],[11]]
|
|
```
|
|
|