potree的第三方库
d3: https://github.com/d3/d3 ,D3.js是一个基于数据操作文档的JavaScript库。D3可以帮助您使用HTML,SVG和CSS将数据带入生活。D3对Web标准的强调为您提供了现代浏览器的全部功能,而无需将自己与专有框架相结合,将强大的可视化组件和数据驱动的DOM操作方法相结合。
D3允许您将任意数据绑定到文档对象模型(DOM),然后将数据驱动的转换应用于文档。例如,您可以使用D3从数组中生成HTML表。或者,使用相同的数据创建具有平滑过渡和交互的交互式SVG条形图。
D3不是一个单一的框架,旨在提供每一个可想到的功能。相反,D3解决了问题的关键:基于数据高效地处理文档。这避免了专有的表示,并提供了非凡的灵活性,揭示了HTML,SVG和CSS等Web标准的全部功能。以最小的开销,D3非常快,支持大数据集和交互动画的动态行为。D3的功能性风格允许通过官方和社区开发的模块的各种集合来代码重用。
i18next: https://github.com/i18next/i18next ,一个全功能,用于Web应用的国际化翻译的JavaScript库。运行在浏览器中,Node.js,rhino 和其他JavaScript运行时。i18next通过定义语言变量,页面编写私有标签,再绑定标签和语言变量,从而达到页面层国际化效果。
jquery:是一个高效、精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器,这让诸如 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作更加简单。
jQuery UI : 建立在 jQuery JavaScript 库上的一组用户界面交互、特效、小部件及主题。无论您是创建高度交互的 Web 应用程序还是仅仅向窗体控件添加一个日期选择器,jQuery UI 都是一个完美的选择。
jQuery UI 包含了许多维持状态的小部件(Widget),因此,它与典型的 jQuery 插件使用模式略有不同。所有的 jQuery UI 小部件(Widget)使用相同的模式,所以,只要您学会使用其中一个,您就知道如何使用其他的小部件(Widget)。
OpenLayers:是一个用于开发WebGIS客户端的JavaScript包。OpenLayers实现访问地理空间数据的方法都符合行业标准。比如OpenGIS的WMS和WFS规范。OpenLayers采用面向对象方式开发,并使用来自Prototype.js和Rico中的一些组件。OpenLayers支持的地图来源包括了WMS,GoogleMap,KaMap,MSVirtualEarth等等,您也可以用简单的图片作为源,在这一方面OpenLayers提供了非常多的选择。
从OpenLayers2.2版本以后,OpenLayers已经将所用到的Prototype.js组件整合到了自身当中,并不断在Prototype.js的基础上完善面向对象的开发,Rico用到地方不多,只是在OpenLayers.Popup.AnchoredBubble类中圆角化DIV。OpenLayers2.4版本以后提供了矢量画图功能,方便动态地展现“点、线和面”这样的地理数据。
OpenLayers 是一个专为Web GIS 客户端开发提供的JavaScript 类库包,用于实现标准格式发布的地图数据访问.
OpenLayers 支持的地图来源包括Google Maps、Yahoo! Map、微软Virtual Earth 等。用户还可以用简单的图片地图作为背景图,与其他的图层在OpenLayers 中进行叠加。除此之外,OpenLayers 支持Open GIS 协会制定的WMS(Web Mapping Service)和WFS(Web Feature Service)等网络服务规范,可以通过远程服务的方式,将以OGC 服务形式发布的地图数据加载到基于浏览器的OpenLayers 客户端中进行显示。
在操作方面,OpenLayers 除了可以在浏览器中帮助开发者实现地图浏览的基本效果,比如放大(Zoom In)、缩小(Zoom Out)、平移(Pan)等常用操作之外,还可以进行选取面、选取线、要素选择、图层叠加等不同的操作。甚至可以对已有的OpenLayers 操作和数据支持类型进行扩充,为其赋予更多的功能。例如,它可以为OpenLayers 添加网络处理服务WPS 的操作接口,从而利用已有的空间分析处理服务来对加载的地理空间数据进行计算。同时,在OpenLayers提供的类库当中,它还使用了类库Prototype.js 和Rico 中的部分组件,为地图浏览操作客户端增加Ajax 效果。
Perfect Scrollbar : 是一个轻量级的(~14KB)的 jQuery插件,能够帮助你轻松创建出自定义风格的滚动条。它不会影响默认的布局,也不需要任何任何的 CSS 修改,该插件适用于任何大小的容器,并重新安排位置,如果容器大小发生变化会自动调整位置。此外,滚动条的风格可以完全通过 CSS 定制,另外还支持鼠标滚轮插件 – jquery-mousewheel。
proj4js : 是一个转换点坐标从一个坐标系到另一个坐标系的JavaScript库,包括数据转换。这个库是由proj4和gctcp C库转换而来的JavaScript版本。在浏览器端进行转换的可能允许将存储在不同的投影存储的地理数据可以在基于浏览器的Web地图应用应用中结合到一起。proj4js是metacrs项目组的一部分,使用和 PROJ.4相同的MIT许可。
Three.js : 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。
tween.js : 是一款可生成平滑动画效果的js动画库。tween.js允许你以平滑的方式修改元素的属性值。它可以通过设置生成各种类似CSS3的动画效果。
Dat.gui : 是用于设计网页GUI小部件。它为用户提供了设置控件参数的方式。代码很简单,简约,但很酷。
stats.js : 是一个JavaScript性能监控器。
这个类提供了一个简单的信息框,帮助您监控代码的性能。
- FPS帧渲染的最后一秒。数字越高越好。
- MS 渲染一帧需要毫秒。数字越低就越好。
LASzip : 是rapidlasso GmbH的免费开源产品,可以将庞大的LAS文件快速转换成较小的LAZ文件,不会造成信息丢失。
Plasio:是由Uday Verma和Howard Butler创建的一个在浏览器中实现点云渲染功能的项目。具体来说,它可以把ASPRS LAS格式的文件进行编译,并且可以通过LASzip NaCl模块使用 LASzip压缩数据。Plasio目前仅支持Chrome,但希望其他贡献者能够向前推进该项目用于支持其他浏览器。
大多数支持WebGL的浏览器都能够支持plasio,并且,除了可选的NaCL LASzip模块它不包含任何特定的Chrome内容。目前我们还没有测试过Mac和Windows Chrome Canary。