Skip to content

Commit a269d7a

Browse files
committed
general-perspective
1 parent e6e265c commit a269d7a

File tree

6 files changed

+22
-21
lines changed

6 files changed

+22
-21
lines changed

docs/types.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ The `projection` is used to configure which projection to use for the map.
143143
There are currently two projections implemented.
144144

145145
- `mercator` - [Web Mercator projection](https://en.wikipedia.org/wiki/Web_Mercator_projection)
146-
- `stereographic` - [Stereographic projection](https://en.wikipedia.org/wiki/Stereographic_projection)
146+
- `general-perspective` - [General Perspective projection](https://en.wikipedia.org/wiki/General_Perspective_projection)
147147

148148
And the following [presets](#use-a-projection-preset)
149149

@@ -166,38 +166,38 @@ Use a [`camera expression`](./expressions.md#camera-expressions), to discretely
166166

167167
```ts
168168
type: ["step", ["zoom"],
169-
"stereographic",
169+
"general-perspective",
170170
11, "mercator"
171171
]
172172

173173

174-
output at zoom 10.9: ["stereographic", "stereographic", 1]
175-
output at zoom 11.0: ["stereographic", "stereographic", 1]
174+
output at zoom 10.9: ["general-perspective", "general-perspective", 1]
175+
output at zoom 11.0: ["general-perspective", "general-perspective", 1]
176176
output at zoom 11.1: ["mercator", "mercator", 1]
177177
```
178178

179179
#### Animate between different projections based on zoom level**
180180

181-
Use a [`camera expression`](./expressions.md#camera-expressions), to animate between projections based on zoom, using [`interpolate-projection`](./expressions.md#interpolate-projection) function. The example below will yield an adaptive globe that interpolates from `stereographic` to `mercator` between zoom 10 and 12.
181+
Use a [`camera expression`](./expressions.md#camera-expressions), to animate between projections based on zoom, using [`interpolate-projection`](./expressions.md#interpolate-projection) function. The example below will yield an adaptive globe that interpolates from `general-perspective` to `mercator` between zoom 10 and 12.
182182

183183
```ts
184184
type: ["interpolate-projection", ["linear"], ["zoom"],
185-
0,"stereographic",
186-
10,"stereographic",
185+
0,"general-perspective",
186+
10,"general-perspective",
187187
12,"mercator"
188188
]
189189

190190

191-
output at zoom 10: ["stereographic", "stereographic", 1]
192-
output at zoom 11: ["stereographic", "mercator", 0.5]
191+
output at zoom 10: ["general-perspective", "general-perspective", 1]
192+
output at zoom 11: ["general-perspective", "mercator", 0.5]
193193
output at zoom 12: ["mercator", "mercator", 1]
194194
```
195195

196196

197197
#### Provide a `projection`
198198

199199
```ts
200-
type: ["stereographic", "mercator", 0.7]
200+
type: ["general-perspective", "mercator", 0.7]
201201
```
202202

203203
#### Use a projection preset
@@ -220,4 +220,4 @@ There are also additional presets that yield commonly used expressions:
220220

221221
| Preset | Full value | Description |
222222
|--------|------------|-------------|
223-
| `globe` | `["interpolate-projection", ["linear"], ["zoom"],`<br>`0, "stereographic", 10, "stereographic", 12, "mercator"]` | Adaptive globe: interpolates from stereographic to mercator projection between zoom levels 10 and 12. |
223+
| `globe` | `["interpolate-projection", ["linear"], ["zoom"],`<br>`0, "general-perspective", 10, "general-perspective", 12, "mercator"]` | Adaptive globe: interpolates from general-perspective to mercator projection between zoom levels 10 and 12. |

src/diff.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -606,10 +606,10 @@ describe('diff', () => {
606606
expect(diffStyles({
607607
} as StyleSpecification,
608608
{
609-
projection: {type: ['stereographic', 'mercator', 0.5]}
609+
projection: {type: ['general-perspective', 'mercator', 0.5]}
610610

611611
} as StyleSpecification)).toEqual([
612-
{command: 'setProjection', args: [{type: ['stereographic', 'mercator', 0.5]}]},
612+
{command: 'setProjection', args: [{type: ['general-perspective', 'mercator', 0.5]}]},
613613
]);
614614
});
615615
});

src/reference/v8.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3076,6 +3076,7 @@
30763076
"group": "Ramps, scales, curves",
30773077
"sdk-support": {
30783078
"basic functionality": {
3079+
"js": "5.0.0"
30793080
}
30803081
}
30813082
},
@@ -4606,13 +4607,13 @@
46064607
"mercator": {
46074608
"doc": "Web Mercator projection."
46084609
},
4609-
"stereographic": {
4610-
"doc": "Stereographic projection."
4610+
"general-perspective": {
4611+
"doc": "General Perspective projection."
46114612
}
46124613
},
46134614
"presets": {
46144615
"globe": {
4615-
"doc": "Globe projection with zoom transition from Stereographic projection to Web Mercator projection."
4616+
"doc": "Globe projection with zoom transition from General Perspective projection to Web Mercator projection."
46164617
}
46174618
}
46184619
},

src/util/interpolate.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,9 @@ describe('interpolate', () => {
119119
});
120120

121121
test('interpolate projection', () => {
122-
const i11nFn = (t: number) => interpolate.projection('stereographic', 'mercator', t);
122+
const i11nFn = (t: number) => interpolate.projection('general-perspective', 'mercator', t);
123123
expect(i11nFn(0.5)).toBeInstanceOf(Projection);
124-
expect(`${i11nFn(0.5)}`).toBe('["stereographic", "mercator", 0.5]');
124+
expect(`${i11nFn(0.5)}`).toBe('["general-perspective", "mercator", 0.5]');
125125
});
126126

127127
describe('interpolate variableAnchorOffsetCollection', () => {

src/util/projection.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {Projection} from './projection';
33
describe('Projection class', () => {
44

55
test('should serialize to rgba format', () => {
6-
expect(`${new Projection('mercator', 'stereographic', 1)}`).toBe('["mercator", "stereographic", 1]');
7-
expect(`${new Projection('stereographic', 'mercator', 0.3)}`).toBe('["stereographic", "mercator", 0.3]');
6+
expect(`${new Projection('mercator', 'general-perspective', 1)}`).toBe('["mercator", "general-perspective", 1]');
7+
expect(`${new Projection('general-perspective', 'mercator', 0.3)}`).toBe('["general-perspective", "mercator", 0.3]');
88
});
99
});

src/validate/validate_projectionconfig.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ describe('Validate projection', () => {
3333
expect(errors).toHaveLength(0);
3434
errors = validateProjectionConfig({validateSpec, value: {'type': 'mercator'}, styleSpec: v8, style: {} as any});
3535
expect(errors).toHaveLength(0);
36-
errors = validateProjectionConfig({validateSpec, value: {'type': ['interpolate-projection', ['linear'], ['zoom'], 0, 'mercator', 5, 'stereographic']}, styleSpec: v8, style: {} as any});
36+
errors = validateProjectionConfig({validateSpec, value: {'type': ['interpolate-projection', ['linear'], ['zoom'], 0, 'mercator', 5, 'general-perspective']}, styleSpec: v8, style: {} as any});
3737
expect(errors).toHaveLength(0);
3838
});
3939

0 commit comments

Comments
 (0)