Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/allyoucanmap/mondo
print spatial data on origami
https://github.com/allyoucanmap/mondo
Last synced: 18 days ago
JSON representation
print spatial data on origami
- Host: GitHub
- URL: https://github.com/allyoucanmap/mondo
- Owner: allyoucanmap
- License: isc
- Created: 2018-12-07T13:01:02.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2018-12-07T13:01:50.000Z (almost 6 years ago)
- Last Synced: 2024-08-01T00:52:04.375Z (3 months ago)
- Language: JavaScript
- Size: 291 KB
- Stars: 11
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# モンド (mondo)
## Print spatial data on origami![Preview of Icosahedron map](./assets/img/preview.png)
## Data
Supported PostGIS datastore tables with geometries in EPSG:4326.
## Settings
- types
- pyramid
- cube
- spinner
- icosahedron
- crane
- lotus
- butterfly
- lily
- flexicube- background color: canvas color (not printed)
- print scale ratio: increase size of printed pages (size * ratio)
- print zoom: simplify geometries based on zoom, if empty simplification is not applied
- show graticule: hide/show border around tiles## Style
Style is an array of style object.
Every object draws data declared in the source param.`bg` source is the tile background.
```
[
{
"source": "bg",
"fill": "#ffffff"
},
{
"source": "table_name",
"fill": "#e31111",
"fill-opacity": 0.5,
"stroke": "#333333",
"stroke-opacity": 0.9,
"stroke-width": 10,
"stroke-linecap": "round",
"stroke-linejoin": "round",
"stroke-dasharray": "50 50"
}
]```
How to apply a filter
```
[
{
"source": "table_name",
"filter": [
[
[
"string_column_name",
"=",
"value"
],
[
"number_column_name",
">",
10
],
],
[
[
"string_column_name",
"=",
"different value"
]
]
],
"fill": "#e31111"
}
]```
filter above translates to
`(string_column_name = 'value' AND number_column_name > 10) OR string_column_name = 'different value'`
filter operators
- `=` equal
- `!=` not equal
- `>` greater than
- `<` less than
- `>=` equal and grater than
- `<=` equal and less thanHow to apply an array of values.
```
[
{
"source": "table_name",
"fill": [
"#ffffff",
["number_column_name", "=", 1, "#bce5f4"],
["number_column_name", "=", 2, "#ffd0d0"],
["number_column_name", "=", 3, "#cbcbcb"],
["number_column_name", "=", 4, "#e8e8e8"],
["number_column_name", "=", 5, "#e6e6e6"],
["number_column_name", "=", 6, "#d3d3d3"],
["number_column_name", "=", 7, "#cfcfcf"]
]
}
]
```
structure:`property: [defaultValue, [...filter, value], ... ]`
supported for
- fill
- stroke
- stroke-width
- stroke-linecap
- stroke-linejoinHow to style wind data. (experimental)
Wind data has to be a point layer.```
[
{
"source": "table_wind_name",
"type": "wind",
"stroke": [
"#ff2c2c",
"#83f81e"
],
"stroke-opacity": 0.8,
"stroke-width": 3,
"speed": 2,
"max-time": 25000,
"u": "u_column_name",
"v": "v_column_name",
"min-u": "min_u_column_name",
"max-u": max_u_column_name,
"min-v": "min_v_column_name",
"max-v": max_v_column_name,
}
]
```
`min-u`, `max-u`, `min-v` and `max-v` could be numbers.
`max-time` in milliseconds is only for print.## Development
- install modules
```
npm install
```---
- start development
```
npm run watchnpm start
```
---
- environment```
node v8.9.3
npm v5.5.1
psql v9.5.14
postgis v2.4.2
```