projections
Property
Vega projections
map longitude and latitude data to projected x
and y
coordinates. When working with geospatial data in OmniSci, you can use projections to define geographic points
and regions.
General projections
property JSON format:
When you specify a projection, you must reference it in the Marks Property using the transform
object. For example, if you define the projection my_mercator_projection
:
"projections": [
{
"name": "my_mercator_projection",
"type": "mercator",
"bounds": {
"x": [-120.0, 120.0],
"y": [-20.0,20.0]
}
}
]
you then reference it as follows:
"marks": [
{
"type": "symbol",
"from": { "data": "fec_contributions_oct" },
"properties": { ... elided ... }
"transform": {
"projection": "my_mercator_projection"
}
}
]
The projections specification has the following properties:
Property | Data Type | Required | Description |
---|---|---|---|
name |
string | X | User-assigned name of the projection. |
type |
string | X | Projection type. Currently supported types:
|
bounds |
object | Specifies the longitude and latitude bounding box for the projection. Default values:
|
Example
Use Vega projection projection
alongside array columns:
{
"width": 1024,
"height": 1024,
"data": [
{
"name": "table",
"sql": "SELECT rowid, coords[1] as x, coords[2] as y FROM cities WHERE coords[1] BETWEEN $minLon AND $maxLon AND coords[2] BETWEEN $minLat AND $maxLat"
}
],
"projections": [
{
"name": "projection",
"type": "mercator",
"bounds": {
"x": [-120.0, 120.0],
"y": [-20.0, 20.0]
}
}
],
"scales": [
],
"marks": [
{
"type": "symbol",
"from": {"data": "table"},
"properties": {
"shape": "circle",
"xc": {
"field": "x"
},
"yc": {
"field": "y"
},
"fillColor": "darkblue",
"width": 25,
"height": 25
},
"transform": {
"projection": "projection"
}
}
]
}