Abstract
The world distance from the eye
to the far clipping plane.
Points that fall outside of the near/far interval, are clipped.
By default, this gets updated automatically on a 3D Map, to keep the earth's surface visible.
See WebGLMap.adjustDepthRange for more information.
The height, in pixels, of the camera's viewport.
The world distance from the eye
to the near clipping plane.
Points that fall outside of the near/far interval, are clipped.
By default, this gets updated automatically on a 3D Map, to keep the earth's surface visible.
See WebGLMap.adjustDepthRange for more information.
Note that the near plane distance can be negative.
The width, in pixels, of the camera's viewport.
The coordinate reference in which the camera is positioned and oriented.
Returns a LookAt that matches the position and orientation of this camera.
Note you can only use this function if this camera's worldReference is not a 2D reference.
a distance (in the world reference's unit) between the camera's position and the LookAt's ref. For geocentric references, the world unit is usually 1 meter.
a LookAt object that matches position and orientation of this camera.
2023.1
Returns a LookFrom that matches the position and orientation of this camera.
Note you can only use this function if this camera's worldReference is not a 2D reference.
// keep looking from the same point, but pitch the view up 10 degrees
var lookFrom = map.camera.asLookFrom();
lookFrom.pitch += 10;
map.camera = map.camera.lookFrom(lookFrom);
a LookFrom object that matches position and orientation of this camera.
2023.1
Returns a camera that matches the position and orientation of the specified LookAt.
If lookAt.ref
is a Point, then that point will be transformed to
worldReference (if necessary).
Note you can only use this function if this camera's worldReference is not a 2D reference.
map.camera = map.camera.lookAt({
ref: createPoint(getReference("CRS:84"), [52, 2, 0]),
distance: 50e3,
yaw: 180,
pitch: -35,
roll: 0
});
The returned camera will match this LookFrom's position and orientation.
a camera that matches the position and orientation of the LookAt that was passed in.
2023.1
Returns a camera that matches the position and orientation of the specified LookFrom.
If lookFrom.eye
is a Point, then that point will be transformed to
worldReference (if necessary).
Note you can only use this function if this camera's worldReference is not a 2D reference.
To perform a lookFrom with navigation constraints enforced you can use MapNavigator#lookFrom. This call will respect navigations constraints and additionally it can do the operation animated.
map.camera = map.camera.lookFrom({
eye: createPoint(getReference("CRS:84"), [0, 0, 20e3]),
yaw: 180,
pitch: -35,
roll: 0
});
The returned camera will match this LookFrom's position and orientation.
a camera that matches the position and orientation of the LookFrom that was passed in.
2023.1
Transforms a Vector3 from world to view
The world point to transform to view space (pixels).
Optional
vectorSFCT: Vector3An optional 'out' parameter. If this is defined, it's x,y and z properties will be assigned to the result of the transformation. If it's not defined, a new Vector3 with the result is constructed and returned. Use this out parameter if you need to transform many points at once, and want to avoid creating many objects.
The transformed point, in view space (pixels)
Transforms a Point from world to view
The point to transform to view space (pixels). If this point is not defined in this camera's worldReference, it will first be transformed to the worldReference.
Optional
outPointSFCT: PointAn optional 'out' parameter. If this is defined, that point will be moved to the result of the transformation. If it's not defined, a new Point with the result is constructed and returned. Use this out parameter if you need to transform many points at once, and want to avoid creating many Point instances.
The transformed point, in view space (pixels).
Transforms a Vector3 to world.
The view point (pixels) to transform to world space.
Optional
vectorSFCT: Vector3An optional 'out' parameter. If this is defined, it's x,y and z properties will be assigned to the result of the transformation. If it's not defined, a new Vector3 with the result is constructed and returned. Use this out parameter if you need to transform many points at once, and want to avoid creating many objects.
The transformed point, in world space.
Transforms a Point to world.
The point to transform to view space (pixels). A 'view' point has 'null' as its reference.
Optional
outPointSFCT: PointAn optional 'out' parameter. If this is defined, that point will be moved to the result of the transformation. If it is defined, and has a reference other than worldReference, it will be transformed to that reference. If it's not defined, a new Point with the result is constructed and returned. Use this out parameter if you need to transform many points at once, and want to avoid creating many Point instances.
The transformed point, in view space (pixels).
A camera transforms points from the 'world' reference (often the map's reference) to the view (pixel coordinates). In layman terms: just like with television, the camera's position, orientation (and other parameters like the projection) determines what is shown on screen.
Note that the Camera API is a low-level API. For simple map navigation use cases, it's recommended to use the higher-level API. The MapNavigator API works in both 2D and 3D, on all map references. If you use the low-level Camera API, keep in mind that the same camera manipulation implementation might not work for other types of camera's (OrthographicCamera vs PerspectiveCamera) or other (types of) map references (projected vs. geocentric).
This is a base class shared by both PerspectiveCamera and OrthographicCamera. It describes the position, orientation and viewport of the camera, as well as provide functions to transform between 3D 'world' and 'view' (pixel) points.
The camera's position, orientation and viewport are described by the following parameters:
eye
to the near clipping plane. Points that fall outside of the near/far interval, are clipped. Note that the near plane distance can be negative.eye
to the far clipping plane. Points that fall outside of the near/far interval, are clipped.In practice, you only work with PerspectiveCamera and OrthographicCamera. Besides the camera position, orientation and viewport, these subclasses also define a projection (orthographic vs. perspective).
See