问题标签 [czml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
datasource - 如何自定义 czml 数据源?
我有一个通过 python 提取的 CZML 数据。我有建筑物,它们的几何形状、高度、建筑物 ID 和间隔。每个区间都有一个值。将 czml 数据加载到 Cesium 后,我想访问属性,然后根据给定的值自定义建筑物的颜色。这是我的 CZML 示例:
[{“id”:“文档”,“版本”:“1.0”},{“id”:32,“可用性”:“2014-01-01T00:00:00Z/2014-12-31T00:00:00Z ", "polygon": { "positions": { "cartographicDegrees": [54.7162360431897, 24.4519912715277, 0, 54.716219612921, 24.4519754832587, 0, 54.7162501395131, 24.4519488635358, 0, 54.7162465684811, 24.4519454316688, 0, 54.7162670831639, 24.4519275432238, 0, 54.7162707308589, 24.4519310439514 , 0, 54.7163022563025, 24.4519035537608, 0, 54.7161962974502, 24.4518018819532, 0, 54.7161647729823, 24.4518293730395, 0, 54.7162035538772, 24.4520196028966, 0, 54.7162360431897, 24.4519912715277, 0] }, "someProperty": [{ "interval": "2014-00- 01T00:00:00Z/2014-01-01T00:00:00Z", "En_C_need": 0.7 }, { "interval": "2014-01-01T00:00:00Z/2014-02-01T00:00:00Z", " En_C_need": 1.0 }, { "interval": "2014-02-01T00:00:00Z/2014-03-01T00:00:00Z", "En_C_need": 2.6 }, { "interval": "2014-03- 01T00:00:00Z/2014-04-01T00:00:00Z", "En_C_need": 12.1 }, { "interval": "2014-04-01T00:00:00Z/2014-05-01T00:00:00Z" , "En_C_need": 30.2 }, { "间隔": "2014-05-01T00:00:00Z/2014-06-01T00:00:00Z", "En_C_need": 37.8 }], "挤压高度“:6.0 } }]
我有其他自定义的 GeoJSON 数据,我尝试了相同的方法,但没有奏效。
这是我正在尝试做的(这不起作用):
});
cesium - 在声明属性后更新 CZML 属性
我正在尝试从先前在 czml 文件中声明的数据包中更新一些属性(即“semiMinorAxis”和“semiMajorAxis”)。
我尝试这样做的方法是覆盖“semiMinorAxis”和“semiMajorAxis”的值。
即:12:00:00 到 13:00:00 之间,ellipse_1 的大小为 300000,13:00:00 到 14:00:00 之间,ellipse_1 的大小为 600000。
这是我尝试在一个简单的 csml 中执行此操作的方法:
另一种选择似乎是这样做的:
顺便说一下,这是查看它的脚本:
不幸的是,这些显然不是更新 csml 文件中对象值的方法。我错过了一些明显的东西吗?
谢谢!
cesium - 使用铯 CZML 跟踪行人
有人有一个方便的 CZML 文件示例,该文件使用示例属性来跟踪在地形上行走的行人。
我需要一个广告牌放在这条小路的前面,供这个人使用,他将有一些我想在信息块中看到的客户属性(大约 18K 样本)。
我的假设是,路径的单独 id 会随着路径的轨迹而增长(头部是广告牌)。这将在一个单独的数据包中,显示为带有材料的折线。
并且两者都会有一个开始的时期,然后是每个时间步的样本属性
即,时代将是今天中午,样本属性将是行人的每个位置的 1 秒间隔,这将被复制用于折线和广告牌。
但是有没有更好的方法,我假设有人用一个例子做了一个沙堡,对吧?
cesium - 如何将轨迹方向添加到 CZML 文件
我有一个 czml 文件,表示飞行指定路径的飞机。该文件基于 Cesiusm 提供的 Sancastle 示例(CZML 模型 + CZML 路径)构建。
这是 CZML 变量:
为了能够运行代码,我还添加了以下几行:
如果你运行代码,你可以看到飞机的中心点是如何跟随轨迹的,但是它的航向没有与它对齐,因此给出了一个错误的 rap 表示飞行应该是什么样子:
您能否解释如何在不更改初始 czml 文件结构的情况下将飞机方向添加到代码中?
注意:我已经找到了这个问题的答案,但我无法解决我的问题。
javascript - CesiumJS 信息框脚本未运行
因此,我正在根据从另一台服务器获取的 JSON 数据,通过在不同位置显示标记来自定义 Cesium 地图。我想做的一件事是创建一个类似手风琴的 div 元素来保存可以打开和关闭的字符串列表(如果数据太长则隐藏数据)。
但是,Cesium 拒绝在实体描述中运行我的代码。我用一个简单的函数测试了代码:
但是,运行代码会在控制台中引发function not defined
错误,即使我允许脚本通过
我的问题是:我在这里做错了什么吗?我知道 Cesium 在沙盒 iframe 中加载实体描述 HTML 代码,但我应该允许脚本在沙盒中运行。我也尝试将test()
功能放在描述之外,但我仍然遇到同样的错误。
任何帮助将不胜感激。
cesium - 如何在 CZML 中设置“等待时间”?
我有一些描述某些车辆运动的位置和时间值。但是在某些时间间隔内,车辆会在某个位置等待。我不知道如何设置等待时间。?
在下面提供的示例数据中: 对应于 40 和 50 的位置值相同 = (4, 4 ,0) 这意味着车辆在该位置等待 10 秒。但由于插值,它不起作用。
前任 :
javascript - 当时间动态时,相同的位置对于相同的 x、y、z 或 lat、long、height 显示不同
因此,我在 CZML 文件中使用相同的位置,有时作为时间动态位置属性的一部分,有时作为固定的常量属性。当我使用固定常量属性时,实体呈现在预期位置(靠近 AZ/NM 边界),但是当使用相同位置和附近位置时,实体出现在完全不同的位置,这似乎是根据一天中的时间而有所不同。无论我使用制图坐标还是笛卡尔坐标,都会发生这种情况。为什么会这样?有什么方法可以解释这个吗?
3d - 创建大型 3D 对象并将其加载到 Cesium
我正在尝试创建 3D 对象并将其加载到 Cesium 中。我需要从各种来源以编程方式创建这些对象(通过使用一些导入转换服务,使用.NET平台)
我有在 THREEJS 中做这件事的经验。我读取 DXF 文件,将实体转换为 PostGIS 几何图形,三角测量(从高程数据创建表面),镶嵌几何图形,最后构建与 THREEJS 兼容的场景(JSON 格式,Gzipped,使用 THREE.BufferGeometry)。这很好用:加载成千上万的三角形/点没有问题。有时我使用 webworkers 只是为了请求和解析 JSON。
此外,我能够毫无问题地将相当大的(40mb)geojson 加载到我的 OpenLayers 客户端应用程序中(地图和 WebGLMap)
但我什至无法将 20mb geojson(折线)加载到铯(1.51.0)中!
给我
这是为什么?我能做些什么?GLTF/GLB/3D 瓦片是相当复杂的格式。没有丰富的工具集可以使用这些格式自定义/控制对象创建。我不想购买超级(真的)FME 服务器来创建 GLTF...也许我可以使用 czml 加载复杂的几何图形,使用折线等)?
javascript - 节点中的事件流:在控制台中工作正常但不写入流
我想将事件流式传输到 localhost/czml - 这在控制台或获取请求窗口中工作正常。但我无法将这些变量流式传输到页面,因为 req.query 总是最终未定义
我是编程的血腥初学者,大多数时候我不知道自己在做什么(这就是代码如此糟糕的原因......)。我通过反复试验获得了该代码,主要是通过从某个地方复制
我想要实现的目标:有人向 localhost/czml/?id=1&lon=-40&lat=30&alt=5000 => 发送一个 get 请求 => 这些查询被解析并以以下格式作为事件流发送到 localhost/whatever:
事件:czml 数据:{json}
我快到了(即使代码很糟糕)——这只是我必须将那些讨厌的查询写到 localhost/whatever 的最后一部分。现在它在控制台中记录一切正常,但未定义被写入 localhost/whatever...
如果您能指出正确的方向,我将不胜感激 - 但请记住,我需要简单而好的解释;)
zooming - 有没有办法将比例/最小尺寸设置为椭圆体,就像 minimumpixelsize(和 maximumscale)对模型所做的一样?
我想使用 czml 绘制一些漂浮在地球某个区域周围的球体,并且我希望它们保持相同的大小而不管缩放(在限制内)。这对于 gltf 模型来说是微不足道的,但我找不到使用椭球体的方法。