使用 WebGL 可视化大量空间矢量数据
Visualizing large amounts of spatial vector data using WebGL
我计划开发一个可视化大型二维平铺图像的应用程序。应用需要实现以下功能:
- 层的加法混合,即以某种方式将 WebGL 的混合方程设置为加法:
gl.blendEquation(gl.FUNC_ADD)
.
- 黑白图像的着色(乘以常量颜色,例如红色。这对应于设置
gl.blendColor(1, 0, 0, 1);
和 gl.blendFunc(gl.CONSTANT_COLOR, gl.ONE);
)。
- 绘制大量简单矢量数据(主要是多边形)。
- Contrast/brightness/range 强度操纵
根据我的研究,为了实现这些目标,渲染器应该基于 WebGL。
我使用 Openlayers 3 做了一个初始原型。我设法使用 precompose
和 postcompose
挂钩和自定义着色器实现了除 (3) 之外的所有内容强度操纵。但是,我看到尚不支持使用 WebGL 进行多边形渲染,而且我还没有看到关于此 issue/state 开发的最新更新。我的问题是是否有一个 possibility/some 起点可以自己实现,或者像铯这样的东西是否更符合我的需求。
我无法谈论 OpenLayers 路线图,但 Cesium 本身应该能够开箱即用地满足您的要求。这里有一些示例(带有代码)显示了您正在寻找的功能
Polygons This is GeoJSON but we also handle KML, TopoJSON, CMZL and have a programattic API. We also handle a diverse set of geometry
如果您决定尝试一下 Cesium,我们有一个非常 active forum that can help you get started, so don't hesitate to post any questions you have. cesiumjs.org 还有很多额外的信息、帮助和演示。
我计划开发一个可视化大型二维平铺图像的应用程序。应用需要实现以下功能:
- 层的加法混合,即以某种方式将 WebGL 的混合方程设置为加法:
gl.blendEquation(gl.FUNC_ADD)
. - 黑白图像的着色(乘以常量颜色,例如红色。这对应于设置
gl.blendColor(1, 0, 0, 1);
和gl.blendFunc(gl.CONSTANT_COLOR, gl.ONE);
)。 - 绘制大量简单矢量数据(主要是多边形)。
- Contrast/brightness/range 强度操纵
根据我的研究,为了实现这些目标,渲染器应该基于 WebGL。
我使用 Openlayers 3 做了一个初始原型。我设法使用 precompose
和 postcompose
挂钩和自定义着色器实现了除 (3) 之外的所有内容强度操纵。但是,我看到尚不支持使用 WebGL 进行多边形渲染,而且我还没有看到关于此 issue/state 开发的最新更新。我的问题是是否有一个 possibility/some 起点可以自己实现,或者像铯这样的东西是否更符合我的需求。
我无法谈论 OpenLayers 路线图,但 Cesium 本身应该能够开箱即用地满足您的要求。这里有一些示例(带有代码)显示了您正在寻找的功能
Polygons This is GeoJSON but we also handle KML, TopoJSON, CMZL and have a programattic API. We also handle a diverse set of geometry
如果您决定尝试一下 Cesium,我们有一个非常 active forum that can help you get started, so don't hesitate to post any questions you have. cesiumjs.org 还有很多额外的信息、帮助和演示。