首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >out:“散开”重叠折线?

out:“散开”重叠折线?
EN

Stack Overflow用户
提问于 2017-02-14 22:00:23
回答 1查看 498关注 0票数 2

我正在使用am,并希望在视觉上表示相同的两个实体之间的多个折线。例如,一条从图元A到图元B的绿色多段线,以及一条从图元A到图元B的蓝色多段线。我不希望它们重叠或混合,因此我设想随着绘制更多的线而展开,以便可以可视化每条线及其所代表的内容。我已经包含了一张我试图用扇形而不是重叠来解释的粗略图画。

我有一个函数式数据结构来跟踪我想要表示的线条,以及一个已经在上面以编程方式绘制的as图。我想在这一点上,我正在寻找关于如何通过编程弯曲地图上的折线的技术解释,以及任何关于折线管理的建议,以便识别重叠的线,以便我可以应用折弯。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-20 15:29:19

这里有一种方法。此示例代码将仅沿经度“分布”行,因此在北/南行上工作得最好,而不是在东/西行上。但我认为它应该传达正确的想法,你只需要想出一种更通用的方法来将中点“移动”到一个视觉上令人愉悦的位置。

我在这里使用基于时间的路径,以访问‘s的插值逻辑。但是我已经选择了一个很久以前的参考时间,并且我只在查看器上显示完成的路径。因此,用户并不知道时间在这里扮演着什么角色。

代码语言:javascript
运行
AI代码解释
复制
var viewer = new Cesium.Viewer('cesiumContainer', {
    navigationInstructionsInitiallyVisible: false,
    animation: false,
    timeline: false,
    // These next 5 lines are just to avoid the Bing Key error message.
    imageryProvider : Cesium.createTileMapServiceImageryProvider({
        url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII')
    }),
    baseLayerPicker : false,
    geocoder : false,
    // This next line fixes another Stack Snippet error, you may omit
    // this setting from production code as well.
    infoBox : false
});

var numberOfArcs = 5;
var startLon = -105;
var startLat = 39.7;

var stopLon = -98.4;
var stopLat = 29.4;
var spread = 5;

var referenceTime = Cesium.JulianDate.fromIso8601('2001-01-01T00:00:00Z');
var midTime = Cesium.JulianDate.addSeconds(referenceTime, 43200, new Cesium.JulianDate());
var stopTime = Cesium.JulianDate.addSeconds(referenceTime, 86400, new Cesium.JulianDate());

for (var i = 0; i < numberOfArcs; ++i) {
    var color = Cesium.Color.fromRandom({
        alpha : 1.0
    });

    // Create a straight-line path.
    var property = new Cesium.SampledPositionProperty();
    var startPosition = Cesium.Cartesian3.fromDegrees(startLon, startLat, 0);
    property.addSample(referenceTime, startPosition);
    var stopPosition = Cesium.Cartesian3.fromDegrees(stopLon, stopLat, 0);
    property.addSample(stopTime, stopPosition);

    // Find the midpoint of the straight path, and move it.
    var spreadAmount = (spread / (numberOfArcs - 1)) * i - (spread / 2);
    var midPoint = Cesium.Cartographic.fromCartesian(property.getValue(midTime));
    midPoint.longitude += Cesium.Math.toRadians(spreadAmount);
    var midPosition = viewer.scene.globe.ellipsoid.cartographicToCartesian(
        midPoint, new Cesium.Cartesian3());

    // Redo the path to be the new arc.
    property = new Cesium.SampledPositionProperty();
    property.addSample(referenceTime, startPosition);
    property.addSample(midTime, midPosition);
    property.addSample(stopTime, stopPosition);

    // Create an Entity to show the arc.
    var arcEntity = viewer.entities.add({
        position : property,
        // This path shows the arc as a polyline.
        path : {
            resolution : 1200,
            material : new Cesium.PolylineGlowMaterialProperty({
                glowPower : 0.16,
                color : color
            }),
            width : 10,
            leadTime: 1e11,
            trailTime: 1e11
        }
    });

    // This is where it becomes a smooth path.
    arcEntity.position.setInterpolationOptions({
        interpolationDegree : 5,
        interpolationAlgorithm : Cesium.LagrangePolynomialApproximation
    });
}

// Optionally, add start and stop points, mostly for easy zoomTo().
viewer.entities.add({
    position : Cesium.Cartesian3.fromDegrees(startLon, startLat),
    point : {
        pixelSize : 8,
        color : Cesium.Color.WHITE
    }
});
viewer.entities.add({
    position : Cesium.Cartesian3.fromDegrees(stopLon, stopLat),
    point : {
        pixelSize : 8,
        color : Cesium.Color.WHITE
    }
});

viewer.zoomTo(viewer.entities);
代码语言:javascript
运行
AI代码解释
复制
html, body, #cesiumContainer {
  width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
  font-family: sans-serif;
}
代码语言:javascript
运行
AI代码解释
复制
<link href="http://cesiumjs.org/releases/1.30/Build/Cesium/Widgets/widgets.css" 
      rel="stylesheet"/>
<script src="http://cesiumjs.org/releases/1.30/Build/Cesium/Cesium.js">
</script>
<div id="cesiumContainer"></div>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42237055

复制
相关文章
从coalesce算子发散开的
coalesce算子,相当绕口的一个英文单词,来闭上眼睛回忆一下编程手册,咋说的来着? coalesce(numPartitions): Decrease the number of partitions in the RDD to numPartitions. Useful for running operations more efficiently after filtering down a large dataset. 翻译一下: 把一个RDD的分区数降低到指定的分区个数(即numPar
Spark学习技巧
2018/06/22
1.1K0
网站点击散开特效
给你的网站添加鼠标点击散开特效 效果 代码 将代码添加在您网站的 html 页面的 body 标签中任意位置即可 <canvas id="fireworks" style="position: fixed; left: 0px; top: 0px; pointer-events: none; z-index: 2147483647; width: 1920px; height: 151px;" width="3840" height="302"></canvas> <script type="text/
Blank.
2023/04/12
6540
网站点击散开特效
重叠(Overlapped)IO模型
基本思想:允许应用程序使用重叠数据结构一次投递一个或者多个异步IO请求。 提交IO请求完成后,与之关联的重叠数据结构中的事件对象受信,应用程序便可使用WSAVerlappedResult函数获取重叠操作结果。 1创建数据: SOCKET sListen = ::WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP,                 NULL,0,WSA_FLAG_OVERLAPPED); 2传输数据:WSASend WSARecv(tcp)     WSASe
用户1154259
2018/01/17
2K0
WinSock 重叠IO模型
title: WinSock 重叠IO模型 tags: [WinSock 模型, 网络编程, 重叠IO模型] date: 2018-06-29 20:26:13 categories: Windows 网络编程 keywords: WinSock 模型, 网络编程, 重叠IO模型 --- 之前介绍的WSAAsyncSelect和WSAEvent模型解决了收发数据的时机问题,但是网卡这种设备相比于CPU和内存来说仍然是慢速设备,而调用send和recv进行数据收发操作仍然是同步的操作,即使我们能够在恰当的时机调用对应的函数进行收发操作,但是仍然需要快速的CPU等待慢速的网卡。这样仍然存在等待的问题,这篇博文介绍的重叠IO模型将解决这个等待的问题
Masimaro
2018/08/31
1.9K0
螺旋折线
本文最后更新于 1163 天前,其中的信息可能已经有所发展或是发生改变。 #include<iostream> using namespace std; int main(){ int x2,y2; while(cin>>x2>>y2){ int q,len2=0; if(x2>0){ if(y2>0){ int MAX=0; if(x2>y2){ MAX=x2; }else{ MAX=y2; } q=MAX+1; for(int k=1;k
Yuyy
2022/06/28
3560
重叠区间的个数
首先,要定义区间的类,实现Comparable接口,含有起点与止点的值和类型,还要重写用于排序的compareTo函数。
努力在北京混出人样
2019/02/18
1.8K0
有重叠与无重叠序列之序列检测与序列产生
例如检测序列1101011,我们给出输入:110101101011,如果是无重叠检测,则只能检测到一个序列:1101011_01011;
Reborn Lee
2020/06/29
1.9K0
折线图
initChart(canvas, width, height, dpr) { const max = 100; const min = 25; const interval = 25; const chart = echarts.init(canvas, null, { width: width, height: height, devicePixelRatio: dpr // 像素 }); canvas.setChart
onety码生
2020/09/18
1.4K0
折线组图
今天要跟大家分享的图表是——折线组图! ▽▼▽ 与之前两篇的柱形图组、条形组图的制作理念相同,折线组图也是为了在表达同属性多数据的时候,能够把数据展现的更加清晰明了! ●●●●● 想象一下,你有连续5
数据小磨坊
2018/04/10
1K0
折线组图
Leetcode 836. 矩形重叠
矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。
glm233
2020/09/28
8620
c/c++内存重叠
内存重叠是指在内存中存在两个或多个区域,它们的地址范围有交叉部分。在 C++ 中,内存重叠可能会导致程序出现不可预期的行为,因此我们需要了解它的原因和如何避免。
聆湖听风
2023/03/23
1.1K0
CSS Margin塌陷(重叠)
在标准文档流中,竖直方向(是竖直方向,水平方向的不会出现塌陷现象)的margin会出现叠加现象,即较大的margin会覆盖掉较小的margin,竖直方向的两个盒子中间只有一个较大的margin,这就是margin的塌陷现象。
Autooooooo
2020/11/09
1.5K0
CSS Margin塌陷(重叠)
如何实现边框重叠效果?
如上图,这就是我想实现的效果,结构先定下来 <view class="car-tab d-flex j-around a-center" > <view class="car-tab-itm active"> <text>1号车</text> </view> </view> 或许你会觉得很简单,可能第一个想到的是下面代码 .car-tab { position: relative; width: 750rpx; height: 80rpx; border-b
切图仔
2022/09/08
1.5K0
如何实现边框重叠效果?
LeetCode 835. 图像重叠
给出两个图像 A 和 B ,A 和 B 为大小相同的二维正方形矩阵。(并且为二进制矩阵,只包含0和1)。
Michael阿明
2020/07/13
1.1K0
判断矩形是否重叠 Python
用具有x,y两个整型变量成员的结构类型SPoint来表示坐标点。用SRect结构类型来描述矩形,其中包含p1和p2两个SPoint成员分别表示矩形对角线上的两个点。
叶茂林
2023/07/30
3380
Echarts图表:设置折线图中折线线条的颜色和折线点的颜色
series: [ { name: "总激活数", type: "line", stack: "总激活数", data: this.totalCount, itemStyle: { normal: { color: "#F29C1B", lineStyle: {
江一铭
2022/06/16
3K0
excel 堆积折线图_什么叫堆积折线图
“堆积折线图和带数据标记的堆积折线图 堆积折线图用于显示每一数值所占大小随时间或有序类别而变化的趋势,可能显示数据点以表示单个数据值,也可能不显示这些数据点。如果有很多类别或者数值是近似的,则应该使用无数据点堆积折线图。 提示 为更好地显示此类型的数据,您可能要考虑改用堆积面积图。
全栈程序员站长
2022/08/03
2.4K0
excel 堆积折线图_什么叫堆积折线图
Echarts网格颜色渐变 + 折线图折线发光高亮效果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/01
1.5K0
Echarts网格颜色渐变 + 折线图折线发光高亮效果
Fragment 重叠 遮盖问题 完美解决
主要还是因为Fragment的状态保存机制,当系统内存不足时,Fragment的主Activity被回收,Fragment的实例并没有随之被回收。
再见孙悟空_
2023/02/10
1.3K0
点击加载更多

相似问题

Google Maps折线重叠困境

22

单张-重叠折线的工具提示

12

MSChart折线图标签重叠

11

Google折线图重叠工具提示

21

MPAndroidChart折线图滚动视图重叠

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档