Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Large polygon rendering/fill issue #4871

Closed
ketulm opened this issue Jan 16, 2017 · 28 comments · Fixed by #11497
Closed

Large polygon rendering/fill issue #4871

ketulm opened this issue Jan 16, 2017 · 28 comments · Fixed by #11497

Comments

@ketulm
Copy link

ketulm commented Jan 16, 2017

Large polygons spanning >90degrees across the longitude do not get rendered/filled properly.

Here's an example.

http://cesiumjs.org/Cesium/Apps/Sandcastle/?src=Hello%20World.html&label=Showcases&gist=fd0acbcf4d5fa84a9d988920bdb870f2

var viewer = new Cesium.Viewer('cesiumContainer');

var redPolygon = viewer.entities.add({
    name : 'Red polygon on surface',
    polygon : {
        hierarchy : Cesium.Cartesian3.fromDegreesArray([-179.0, 80.0,
                                                        -179.0, 0.0,
                                                        -90.0, 0.0,
                                                        0.0, 0.0,
                                                        90.0, 0.0,
                                                        179.0, 0.0,
                                                        179.0, 80.0,
                                                        90.0, 80.0,
                                                        0.0, 80.0,
                                                        -90.0, 80.0,
                                                        -179.0, 80.0]),
        material : Cesium.Color.RED
    }
});

Note the rendering artifact at the north pole and also note that only the region east of the meridian is filled. It almost seems like it's rendering the opposite region west of the meridian.

@pjcozzi
Copy link
Contributor

pjcozzi commented Apr 23, 2017

CZML example with the same problem in #5223.

@pjcozzi
Copy link
Contributor

pjcozzi commented Jun 14, 2017

Same problem with this Sandcastle example: #3995

@ketulm
Copy link
Author

ketulm commented Apr 25, 2018

Any updates or a different workaround for this? I'm still seeing this in the latest version on the sandcastle. Creating patches (current workaround) isn't ideal since the border property can't be used with it and requires drawing the shapes twice, one for border and another to fill, which tends to introduce visual artifacts due to overlapping shapes so doesn't look as great.

@hpinkos
Copy link
Contributor

hpinkos commented Apr 25, 2018

@ketulm sorry, we don't have a fix for this yet. The best workaround we have is to break apart the large polygon into a few smaller ones.

You don't have to worry about drawing the shape twice, one for the fill and one for the outline. The fill and outline get drawn separately behind the scenes anyway if you were to have both options enabled for the same entity.

@kerscha
Copy link

kerscha commented Jun 15, 2021

@hpinkos This is still an issue 4 and half years after the OP brought this to the attention of Cesium. Are there any plans to fix this issue at any point in the future?

@ggetz
Copy link
Contributor

ggetz commented Apr 15, 2022

Here's another geojson sample - test.txt

@ggetz ggetz moved this to Notable backlog items in CesiumJS Issue/PR backlog Apr 15, 2022
@ggetz ggetz moved this from Notable backlog items to Needs triage in CesiumJS Issue/PR backlog Apr 20, 2022
@sanjeetsuhag
Copy link
Contributor

sanjeetsuhag commented May 11, 2022

It seems like there are multiple issues at play here - some may be rendering bugs and others caused by the triangulation. I created this Sandcastle for testing. All the cases referenced below are reproduced in the Sandcastle.

When height and extrudedHeight are not defined, large polygons have an issue where a patch become invisible at some angles. I initially thought that this is related to scene.logarithmicDepthBuffer but toggling that on/off did not change the result. However, if I set height to 0 instead of undefined, it disappears.

🟡 178Lon-Rhumb
Screen Shot 2022-05-11 at 10 11 18 AM

There are significant issues with rendering near the poles:

🟡 20-Rhumb-Polar
Screen Shot 2022-05-11 at 10 13 03 AM

There are also cases where Cesium will outright crash, as demonstrated in the 🔴 180Lon-Rhumb and 🔴 180Lat-Rhumb presets.

@sanjeetsuhag
Copy link
Contributor

While the core issues plaguing the geometry and rendering of large polygons still persist, there are some solutions that can be adopted in the meantime:

  • Choose the right geometry type for the desired shape - i.e. RectangleGraphics and WallGraphics may be useful in several cases. For polar regions, you can use EllipsoidGraphics as demonstrated here.
    image
  • If the longitudinal extent is exactly 180 degrees, break it up into smaller polygons. If the extent is greater than 90 degrees, the polygon will wrap around to the other side of the globe.
  • There are some artifacts with GroundPrimitive with larger extents, these may be avoided by just setting the height to 0 and using a Primitive, instead of using the Entity system.

@ggetz
Copy link
Contributor

ggetz commented Oct 20, 2022

In #10857 (comment), @GatorScott suggested an inspector view to help debug polygon triangulation.

@ggetz
Copy link
Contributor

ggetz commented Dec 12, 2022

Also reported in #10950.

@ggetz
Copy link
Contributor

ggetz commented Apr 18, 2023

Also reported in #11238

@ggetz
Copy link
Contributor

ggetz commented May 5, 2023

Also reported in #4871.

@ggetz
Copy link
Contributor

ggetz commented Jul 13, 2023

Hi @GatorScott and all,

We're beginning to take a look into this and related issue with rendering large polygons. It would be a big help if you're able to provide us with any sample data or code examples which replicate the issues you're facing.

Thanks!

@GatorScott
Copy link

@ggetz ion asset id 1988092 (a sensor swath).

@Rohan427
Copy link

So with my sample data, it happens when any polygon is >= 180 deg in longitude. It doesn't matter where it is on the globe, only that it's a total of at least 180 deg. It seems that any large polygon spanning >= 90 deg latitude works fine.

@Rohan427
Copy link

Rohan427 commented Jul 17, 2023

Some test data (I say some because all of it would be long). I used the Cesium "Hello World" to put this together quickly with a few comments.

const viewer = new Cesium.Viewer("cesiumContainer");

const wyoming = viewer.entities.add({
polygon: {
hierarchy: Cesium.Cartesian3.fromDegreesArray([
-109.080842, 48.002073,
-105.91517, 45.002073,
-104.058488, 44.996596,
-104.053011, 43.002989,
-104.053011, 41.003906,
-105.728954, 40.998429,
-107.919731, 41.003906,
-109.04798, 40.998429,
-111.047063, 40.998429,
-111.047063, 42.000709,
-111.047063, 44.476286,
-111.05254, 48.002073,
]),
height: 0,
material: Cesium.Color.RED.withAlpha(0.5),
outline: true,
outlineColor: Cesium.Color.BLACK,
},
});

// West at equator, OVER meridian
// Fill error during transform
//******
const equator1a = viewer.entities.add({
polygon: {
hierarchy: Cesium.Cartesian3.fromDegreesArray([
// Uncomment the lines with 140 and 160 to see what happens
// when the polygon is at or over 180 deg longitude
// 160, 0, // 200 deg
140, 0, // 180 deg
120, 0,
100, 0,
80, 0,
60, 0,
40, 0,
20, 0,
0, 0,
-20, 0,

  -20, 45,
  0, 45,
  20, 45,
  40, 45,
  60, 45,
  80, 45,
  100, 45,
  120, 45,
  140, 45,

// 160, 45,
]),
height: 0,
material: Cesium.Color.LAWNGREEN.withAlpha(0.5),
outline: true,
// fill : false,
outlineColor: Cesium.Color.WHITE,
outlineWidth : 2.0
},
});
//******/

// South from North Pole, TO South Pole
// Works fine at long 179 and lat 90 total span
// Add 1 more degree (ie. - -20 vs -21) and it fails
//******
const equator1c = viewer.entities.add({
polygon: {
hierarchy: Cesium.Cartesian3.fromDegreesArray([
160, 90,
160, 80,
160, 70,
160, 60,
160, 50,
160, 40,
160, 30,
160, 20,
160, 10,
160, 0,
160, -10,
160, -20,
160, -30,
160, -40,
160, -50,
160, -60,
160, -70,
160, -80,
160, -90,

  -21, -90,
  -21, -80,
  -21, -70,
  -21, -60,
  -21, -50,
  -21, -40,
  -21, -30,
  -21, -20,
  -21, -10,
  -21, 0,
  -21, 10,
  -21, 20,
  -21, 30,
  -21, 40,
  -21, 50,
  -21, 60,
  -21, 70,
  -21, 80,
  -21, 90
]),
height: 0,
material: Cesium.Color.LIGHTGREY.withAlpha(0.5),
outline: true,

// fill : false,
outlineColor: Cesium.Color.BLACK,
outlineWidth : 2.0
},
});
//******/

viewer.zoomTo(equator1c);

@ggetz
Copy link
Contributor

ggetz commented Jul 18, 2023

Thanks all for the test data! It's a big help!

@GatorScott Is there a specific reason the CZML enables perPositionHeight? I noticed that when perPositionHeight is true, we don't subdivide. I believe this is because the subdivision algorithm does not take positions' height into account.

perPositionHeight No perPositionHeight
image image

Admittedly this behavior is not documented anywhere.

@GatorScott
Copy link

@ggetz I thought it was required to show the outline. Maybe I misread the docs and/or error messages.

@ggetz
Copy link
Contributor

ggetz commented Jul 18, 2023

@GatorScott If all heights are 0, which I believe is the case here, the outline should still render.

@Rohan427
Copy link

@ggetz In all of my test cases (I only sent the two out of probably a dozen) the outline seems to always render correctly and all the polygons had a 0 height (ie. - they are on the surface of the planet).

@ggetz
Copy link
Contributor

ggetz commented Jul 20, 2023

Also reported in #10975.

@ggetz
Copy link
Contributor

ggetz commented Jul 20, 2023

Data with holes reported in #9967.

@ggetz
Copy link
Contributor

ggetz commented Aug 2, 2023

Problem

There are two fundamental issues identified in filling large polygons, particularly in provided data above:

  1. The projection to a single tangent plane
  2. The ear clipping algorithm used for triangulation assumes simple polygons (no self-intersections)

Approach

In polygons without the per-position height property, triangulation is computed in the polygon geometry pipeline after scaling polygon positions to the ellipsoid surface, parsing a polygon hierarchy, and projecting positions to a tangent plane.

It's possible to decompose a top-level polygon hierarchy into multiple polygons hierarchies, each of of which can be projected to their own appropriate ellipsoid tangent plane before triangulation. The polygons are later batched together in combineGeometry to improve runtime performance.

After the outer polygon ring is scaled to the ellipsoid surface, the changes would be:

  1. If a polygon is non-simple, break it into multiple, non-intersecting polygons
  2. Split polygons along common bounding boxes such that its bounds do not exceed 120 degrees to prevent distortions when projected to 2D
    • I would recommend 90 degree segments to ensure we align with both the PM and IDL. This ensures we break geometry at areas when the geometry is already being split later in geometry pipeline
  3. Each individual polygon's positions can be projected to an ellipsoid tangent constructed from only those positions.

Considerations and implementation

Both step 1 and 2 are well-defined problems common in GIS and 3D. Important considerations for both steps are:

  • The algorithm works on convex and concave polygons without producing degenerate edges
  • The algorithm works for geodesic and rhumb lines to prevent distortions around the poles
  • Algorithm performance

Unfortunately GIS utility libraries such as turf.js, leafletjs, and d3-geo do not meet all of these requirements.

Our implementation would include rolling our own versions of polygon simplification and polygon splitting based on the most ideal algorithms used by the above libraries. In particular, both algorithms were implemented for non-geodesic edges but can be adapted for use in CesiumJS by allowing computation of intersection points along either rhumb or geodesic lines. (Winding numbers for area's larger than half of the globe are sometimes treated specially, but this should be a non-issue since we're clipping to smaller areas). All other concepts of the algorithms (convex angles, direction, etc) can be ported to a geodesic context without problems.

@falconeaj1
Copy link

falconeaj1 commented May 13, 2024

Has this been fully resolved on Cesium's side (https://cesium.com/blog/2023/10/19/large-polygons-in-cesiumjs/), or should users clean their polygons before rendering? I'm still seeing issues for large simple polygons similar to the ones in the article using Cesium 1.117.

Here is a sample image (there are many other similar distortions in my dataset):
image

The vertices increase in size and change from blueish to redish to verify order follows polygon shape. Here are the czml entities:


vertex0 = {'id': 'FOV-2-vertex-0', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', 3966592.835837463, -4815903.632164079, -1289517.1500960148, '2018-10-31T17:37:24.060000+00:00', 3965130.1349650472, -4817019.197100505, -1289848.854539662, '2018-10-31T17:37:25.060000+00:00', 3962694.369214106, -4818875.529888703, -1290400.3113912903, '2018-10-31T17:37:26.060000+00:00', 3960263.2704178807, -4820726.607959883, -1290949.5730998463, '2018-10-31T17:37:27.060000+00:00', 3957834.889243692, -4822573.925281368, -1291497.0865943492, '2018-10-31T17:37:28.060000+00:00', 3955411.0877924715, -4824416.074902109, -1292042.4384649545, '2018-10-31T17:37:29.060000+00:00', 3952991.889506528, -4826253.050516969, -1292585.631156105, '2018-10-31T17:37:30.060000+00:00', 3950577.173708959, -4828084.955125344, -1293126.699384886, '2018-10-31T17:37:31.060000+00:00', 3948166.7909808266, -4829911.913124731, -1293665.6840358619, '2018-10-31T17:37:32.060000+00:00', 3945760.393809272, -4831734.198401508, -1294202.6698486782, '2018-10-31T17:37:33.060000+00:00', 3943357.616941216, -4833552.09726622, -1294737.744844515, '2018-10-31T17:37:34.060000+00:00', 3940958.3936124286, -4835365.669470105, -1295270.9300859321, '2018-10-31T17:37:35.060000+00:00', 3938566.5788350455, -4837172.014082019, -1295801.3776290328, '2018-10-31T17:37:36.060000+00:00', 3936176.7755265227, -4838975.218535057, -1296330.292097379, '2018-10-31T17:37:37.060000+00:00', 3933790.286135684, -4840774.307326265, -1296857.3900913214, '2018-10-31T17:37:38.060000+00:00', 3931409.404144913, -4842567.562346813, -1297382.1723406722, '2018-10-31T17:37:39.060000+00:00', 3929033.7374970936, -4844355.291633217, -1297904.7338055493, '2018-10-31T17:37:40.060000+00:00', 3926658.5356931025, -4846141.077534844, -1298426.124466829, '2018-10-31T17:37:41.060000+00:00', 3924290.3656873032, -4847919.992025712, -1298944.909028566, '2018-10-31T17:37:42.060000+00:00', 3921925.9207979557, -4849694.531555302, -1299461.8202839617, '2018-10-31T17:37:43.060000+00:00', 3919562.824533723, -4851466.486527843, -1299977.3823534015, '2018-10-31T17:37:44.060000+00:00', 3917206.5619777325, -4853231.753876899, -1300490.4051778284, '2018-10-31T17:37:45.060000+00:00', 3914855.3243606808, -4854991.702206372, -1301001.291633522, '2018-10-31T17:37:46.060000+00:00', 3912505.4656829303, -4856749.068675691, -1301510.8393398167, '2018-10-31T17:37:47.060000+00:00', 3910159.9515690403, -4858501.64276588, -1302018.410156645, '2018-10-31T17:37:48.060000+00:00', 3907820.03449681, -4860248.500105371, -1302523.7407467454, '2018-10-31T17:37:49.060000+00:00', 3905482.850167913, -4861991.788884596, -1303027.4562967175]}, 'point': {'pixelSize': 5.0, 'color': {'rgba': [0, 0, 255, 255]}}}
vertex1 = {'id': 'FOV-2-vertex-1', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', 4728093.944046902, -4138583.2101417235, -1052092.0439771581, '2018-10-31T17:37:24.060000+00:00', 4726678.61359821, -4140051.6903950814, -1052673.8738137982, '2018-10-31T17:37:25.060000+00:00', 4724321.030696043, -4142495.7478707586, -1053641.674287682, '2018-10-31T17:37:26.060000+00:00', 4721967.228786361, -4144933.3221802115, -1054606.2037309331, '2018-10-31T17:37:27.060000+00:00', 4719615.5112839155, -4147366.1847433476, -1055568.1670530653, '2018-10-31T17:37:28.060000+00:00', 4717267.220998963, -4149792.9602255845, -1056527.0242407012, '2018-10-31T17:37:29.060000+00:00', 4714922.505151276, -4152213.512645506, -1057482.726015891, '2018-10-31T17:37:30.060000+00:00', 4712581.9173611505, -4154627.2876874786, -1058435.0582644553, '2018-10-31T17:37:31.060000+00:00', 4710243.940922841, -4157035.8650632985, -1059384.6485470186, '2018-10-31T17:37:32.060000+00:00', 4707909.377722558, -4159438.433031294, -1060331.1807987767, '2018-10-31T17:37:33.060000+00:00', 4705577.773640583, -4161835.4737896547, -1061274.8490969546, '2018-10-31T17:37:34.060000+00:00', 4703249.035416502, -4164227.0971257174, -1062215.7005136376, '2018-10-31T17:37:35.060000+00:00', 4700926.034630727, -4166610.372165507, -1063152.5871171402, '2018-10-31T17:37:36.060000+00:00', 4698604.651046124, -4168989.5422452576, -1064087.181492887, '2018-10-31T17:37:37.060000+00:00', 4696285.667864504, -4171363.815518585, -1065019.1755985443, '2018-10-31T17:37:38.060000+00:00', 4693971.154384906, -4173731.088636936, -1065947.7480383073, '2018-10-31T17:37:39.060000+00:00', 4691661.03332986, -4176091.458975321, -1066872.9421105143, '2018-10-31T17:37:40.060000+00:00', 4689351.323832165, -4178449.005908085, -1067796.360126455, '2018-10-31T17:37:41.060000+00:00', 4687046.851079378, -4180798.817481624, -1068716.0818155382, '2018-10-31T17:37:42.060000+00:00', 4684745.742597617, -4183142.8207065496, -1069632.86635405, '2018-10-31T17:37:43.060000+00:00', 4682445.231732061, -4185483.844251186, -1070547.823005604, '2018-10-31T17:37:44.060000+00:00', 4680150.436164965, -4187816.6943236906, -1071458.925768353, '2018-10-31T17:37:45.060000+00:00', 4677859.262086072, -4190143.518057435, -1072367.0184208534, '2018-10-31T17:37:46.060000+00:00', 4675569.748833837, -4192466.3189231977, -1073272.8863082526, '2018-10-31T17:37:47.060000+00:00', 4673283.522048311, -4194783.459380059, -1074175.8940989173, '2018-10-31T17:37:48.060000+00:00', 4671001.658679184, -4197093.863712841, -1075075.6270143834, '2018-10-31T17:37:49.060000+00:00', 4668722.074121266, -4199399.6567973355, -1075972.9165287074]}, 'point': {'pixelSize': 7.333333333333334, 'color': {'rgba': [17, 0, 238, 255]}}}
vertex2 = {'id': 'FOV-2-vertex-2', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', 5736081.686649031, -2743064.2070277734, -403245.1366262621, '2018-10-31T17:37:24.060000+00:00', 5735032.042323975, -2745101.112607759, -404312.20001005434, '2018-10-31T17:37:25.060000+00:00', 5733282.111129384, -2748492.2694997657, -406088.01841953845, '2018-10-31T17:37:26.060000+00:00', 5731533.253404603, -2751875.495786018, -407858.8246067974, '2018-10-31T17:37:27.060000+00:00', 5729784.38378111, -2755252.922949432, -409625.73888469156, '2018-10-31T17:37:28.060000+00:00', 5728036.096348428, -2758623.432772361, -411388.1805408817, '2018-10-31T17:37:29.060000+00:00', 5726288.616885002, -2761986.622895797, -413145.9440413848, '2018-10-31T17:37:30.060000+00:00', 5724542.9625590155, -2765340.574445243, -414898.0322233872, '2018-10-31T17:37:31.060000+00:00', 5722796.783854924, -2768689.833511399, -416646.82467323856, '2018-10-31T17:37:32.060000+00:00', 5721051.700506671, -2772031.321460817, -418390.7180733532, '2018-10-31T17:37:33.060000+00:00', 5719307.290262873, -2775365.8805174525, -420130.1569818818, '2018-10-31T17:37:34.060000+00:00', 5717563.463592605, -2778693.7127772556, -421865.2514287107, '2018-10-31T17:37:35.060000+00:00', 5715821.597673642, -2782012.2269845926, -423594.6558630321, '2018-10-31T17:37:36.060000+00:00', 5714079.613387964, -2785325.4174110023, -425320.45681849937, '2018-10-31T17:37:37.060000+00:00', 5712337.670527123, -2788633.003972953, -427042.5119697369, '2018-10-31T17:37:38.060000+00:00', 5710597.185574498, -2791932.328176673, -428759.4418676997, '2018-10-31T17:37:39.060000+00:00', 5708858.3800861165, -2795223.0086228047, -430471.0538308599, '2018-10-31T17:37:40.060000+00:00', 5707118.837588009, -2798509.6464706617, -432179.7453129491, '2018-10-31T17:37:41.060000+00:00', 5705380.791122762, -2801788.049579384, -433883.3409126574, '2018-10-31T17:37:42.060000+00:00', 5703644.046638695, -2805058.6201581215, -435582.05509371235, '2018-10-31T17:37:43.060000+00:00', 5701906.111085641, -2808326.0764971604, -437278.34205490275, '2018-10-31T17:37:44.060000+00:00', 5700170.654878719, -2811583.5466163824, -438968.6385785644, '2018-10-31T17:37:45.060000+00:00', 5698435.80010912, -2814834.5920768753, -440654.79831958504, '2018-10-31T17:37:46.060000+00:00', 5696701.507300905, -2818079.314516407, -442336.8781939072, '2018-10-31T17:37:47.060000+00:00', 5694967.868925852, -2821317.5686183693, -444014.80708132806, '2018-10-31T17:37:48.060000+00:00', 5693235.576122323, -2824548.094425261, -445687.93685032893, '2018-10-31T17:37:49.060000+00:00', 5691503.6942179, -2827772.664681097, -447357.19015836914]}, 'point': {'pixelSize': 9.666666666666668, 'color': {'rgba': [34, 0, 221, 255]}}}
vertex3 = {'id': 'FOV-2-vertex-3', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', 6277595.280459902, -411460.8761240577, 1006050.9143014802, '2018-10-31T17:37:24.060000+00:00', 6277696.074312047, -413770.7284156391, 1004473.3858462708, '2018-10-31T17:37:25.060000+00:00', 6277861.058823342, -417618.1203769748, 1001846.6108353612, '2018-10-31T17:37:26.060000+00:00', 6278022.133118941, -421458.6455815296, 999225.5531827228, '2018-10-31T17:37:27.060000+00:00', 6278179.408361348, -425294.5281924515, 996608.6898664131, '2018-10-31T17:37:28.060000+00:00', 6278332.866756804, -429124.9474904906, 993996.5762730594, '2018-10-31T17:37:29.060000+00:00', 6278482.502608031, -432949.31713788316, 991389.6071850611, '2018-10-31T17:37:30.060000+00:00', 6278628.226779161, -436764.78225458687, 988789.7222736287, '2018-10-31T17:37:31.060000+00:00', 6278770.305862939, -440577.8680907308, 986192.4702421866, '2018-10-31T17:37:32.060000+00:00', 6278908.581723136, -444383.93637747224, 983601.0062282371, '2018-10-31T17:37:33.060000+00:00', 6279043.112164495, -448184.0371647711, 981014.609682393, '2018-10-31T17:37:34.060000+00:00', 6279173.9238758115, -451978.42174875626, 978433.1045051477, '2018-10-31T17:37:35.060000+00:00', 6279300.964900485, -455764.9941205243, 975857.9109348409, '2018-10-31T17:37:36.060000+00:00', 6279424.368910196, -459547.19021648244, 973286.6870048171, '2018-10-31T17:37:37.060000+00:00', 6279544.154332561, -463325.16465467436, 970719.3237930754, '2018-10-31T17:37:38.060000+00:00', 6279660.24685261, -467096.0337653357, 968157.776056992, '2018-10-31T17:37:39.060000+00:00', 6279772.645545186, -470859.0506500702, 965602.5448824008, '2018-10-31T17:37:40.060000+00:00', 6279881.50500246, -474618.832068733, 963050.4905630675, '2018-10-31T17:37:41.060000+00:00', 6279986.746146832, -478372.1370397719, 960503.8088024624, '2018-10-31T17:37:42.060000+00:00', 6280088.36437358, -482118.0744967881, 957963.0984036425, '2018-10-31T17:37:43.060000+00:00', 6280186.53199447, -485862.49679941166, 955424.3861023327, '2018-10-31T17:37:44.060000+00:00', 6280281.064209069, -489597.74567712564, 952892.8596463003, '2018-10-31T17:37:45.060000+00:00', 6280372.093000682, -493328.231643913, 950365.5240597121, '2018-10-31T17:37:46.060000+00:00', 6280459.598427486, -497052.46816423564, 947843.3817946641, '2018-10-31T17:37:47.060000+00:00', 6280543.623034669, -500771.5499910387, 945325.6866700392, '2018-10-31T17:37:48.060000+00:00', 6280624.154341068, -504484.16927579755, 942813.3191982734, '2018-10-31T17:37:49.060000+00:00', 6280701.237957006, -508191.64454595343, 940305.3822769157]}, 'point': {'pixelSize': 12.0, 'color': {'rgba': [51, 0, 204, 255]}}}
vertex4 = {'id': 'FOV-2-vertex-4', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', 5550474.354561487, 1697281.3958475785, 2626996.631643238, '2018-10-31T17:37:24.060000+00:00', 5551660.280415339, 1695633.7556204216, 2625554.283891171, '2018-10-31T17:37:25.060000+00:00', 5553633.380481537, 1692888.490924665, 2623151.8889488825, '2018-10-31T17:37:26.060000+00:00', 5555600.260558061, 1690146.9144556895, 2620753.737466209, '2018-10-31T17:37:27.060000+00:00', 5557562.181775305, 1687407.291915795, 2618358.3075832822, '2018-10-31T17:37:28.060000+00:00', 5559518.467547697, 1684670.5895014445, 2615966.439743634, '2018-10-31T17:37:29.060000+00:00', 5561468.902515069, 1681937.133357073, 2613578.4139360324, '2018-10-31T17:37:30.060000+00:00', 5563412.431083823, 1679208.432633618, 2611195.54255021, '2018-10-31T17:37:31.060000+00:00', 5565351.599613628, 1676480.9364481438, 2608814.7198304418, '2018-10-31T17:37:32.060000+00:00', 5567284.712408247, 1673757.0508771813, 2606438.0417773793, '2018-10-31T17:37:33.060000+00:00', 5569212.257598243, 1671036.1138111395, 2604064.9254879407, '2018-10-31T17:37:34.060000+00:00', 5571134.357313448, 1668317.976300417, 2601695.23632468, '2018-10-31T17:37:35.060000+00:00', 5573049.468928448, 1665604.848796271, 2599330.8955465206, '2018-10-31T17:37:36.060000+00:00', 5574959.97804776, 1662893.3774318495, 2596968.9752592375, '2018-10-31T17:37:37.060000+00:00', 5576865.698536657, 1660183.843854659, 2594609.717296466, '2018-10-31T17:37:38.060000+00:00', 5578765.097608704, 1657478.451484702, 2592255.035401967, '2018-10-31T17:37:39.060000+00:00', 5580657.984272223, 1654777.5031541884, 2589905.186996899, '2018-10-31T17:37:40.060000+00:00', 5582547.048243031, 1652077.1822235705, 2587556.8473232263, '2018-10-31T17:37:41.060000+00:00', 5584429.798324694, 1649381.0703461673, 2585213.127068435, '2018-10-31T17:37:42.060000+00:00', 5586306.5506623965, 1646688.743830979, 2582873.6521492517, '2018-10-31T17:37:43.060000+00:00', 5588179.99321037, 1643996.3641928812, 2580535.0836607544, '2018-10-31T17:37:44.060000+00:00', 5590046.181924672, 1641309.622003258, 2578202.359914541, '2018-10-31T17:37:45.060000+00:00', 5591907.151214629, 1638625.618219804, 2575872.9579520095, '2018-10-31T17:37:46.060000+00:00', 5593763.045899226, 1635944.1655505267, 2573546.710967854, '2018-10-31T17:37:47.060000+00:00', 5595613.726466254, 1633265.4871913074, 2571223.8083317834, '2018-10-31T17:37:48.060000+00:00', 5597458.475331347, 1630590.646779108, 2568905.1674940744, '2018-10-31T17:37:49.060000+00:00', 5599298.34581141, 1627918.1408106664, 2566589.4804999726]}, 'point': {'pixelSize': 14.333333333333334, 'color': {'rgba': [68, 0, 187, 255]}}}
vertex5 = {'id': 'FOV-2-vertex-5', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', 3669625.541870168, -444512.99293116835, 5180350.070869887, '2018-10-31T17:37:24.060000+00:00', 3670248.1055163816, -446526.65938409575, 5179739.922357872, '2018-10-31T17:37:25.060000+00:00', 3671282.400148759, -449880.4833748119, 5178723.484054114, '2018-10-31T17:37:26.060000+00:00', 3672311.814239944, -453227.40850600414, 5177708.52133687, '2018-10-31T17:37:27.060000+00:00', 3673337.364792729, -456568.52229263633, 5176694.239159233, '2018-10-31T17:37:28.060000+00:00', 3674357.844442238, -459905.2491466877, 5175681.377061016, '2018-10-31T17:37:29.060000+00:00', 3675373.3739680443, -463236.5302865694, 5174669.956222412, '2018-10-31T17:37:30.060000+00:00', 3676384.6515031797, -466556.84374282253, 5173659.992699743, '2018-10-31T17:37:31.060000+00:00', 3677390.4568335344, -469878.1613461284, 5172651.292267439, '2018-10-31T17:37:32.060000+00:00', 3678392.024319974, -473191.26989938295, 5171643.822185473, '2018-10-31T17:37:33.060000+00:00', 3679389.424606352, -476497.56797355885, 5170637.423338719, '2018-10-31T17:37:34.060000+00:00', 3680382.670599665, -479797.43088900036, 5169632.0680004945, '2018-10-31T17:37:35.060000+00:00', 3681369.353971633, -483093.0073302136, 5168629.275772301, '2018-10-31T17:37:36.060000+00:00', 3682352.7829346266, -486382.23743050516, 5167626.911018787, '2018-10-31T17:37:37.060000+00:00', 3683331.9712525033, -489667.45472854376, 5166625.4665836105, '2018-10-31T17:37:38.060000+00:00', 3684305.838380847, -492946.8918213839, 5165625.886057045, '2018-10-31T17:37:39.060000+00:00', 3685274.8509812704, -496218.56033274636, 5164628.043451518, '2018-10-31T17:37:40.060000+00:00', 3686241.569765063, -499483.6340199209, 5163630.028561821, '2018-10-31T17:37:41.060000+00:00', 3687201.834356721, -502746.3211415519, 5162634.399424254, '2018-10-31T17:37:42.060000+00:00', 3688158.2940832423, -505999.85289080837, 5161639.944250757, '2018-10-31T17:37:43.060000+00:00', 3689111.4824148538, -509251.3626628519, 5160645.605016274, '2018-10-31T17:37:44.060000+00:00', 3690058.9842663985, -512495.2119772861, 5159653.659344159, '2018-10-31T17:37:45.060000+00:00', 3691001.221071732, -515736.73224361934, 5158663.297130309, '2018-10-31T17:37:46.060000+00:00', 3691941.2057598196, -518967.58734952897, 5157673.217428535, '2018-10-31T17:37:47.060000+00:00', 3692876.537674883, -522194.36350913503, 5156684.486732388, '2018-10-31T17:37:48.060000+00:00', 3693806.5905424617, -525416.5824626867, 5155697.6100453045, '2018-10-31T17:37:49.060000+00:00', 3694733.2038277024, -528632.2799859641, 5154711.490205523]}, 'point': {'pixelSize': 16.666666666666668, 'color': {'rgba': [85, 0, 170, 255]}}}
vertex6 = {'id': 'FOV-2-vertex-6', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', 1334331.054141064, -1431902.9584684896, 6050054.485173808, '2018-10-31T17:37:24.060000+00:00', 1335016.707352924, -1433035.006983274, 6049637.984362734, '2018-10-31T17:37:25.060000+00:00', 1336156.6768442153, -1434921.6279027872, 6048943.7544960035, '2018-10-31T17:37:26.060000+00:00', 1337292.1923457852, -1436805.4704409523, 6048250.280781632, '2018-10-31T17:37:27.060000+00:00', 1338424.166813838, -1438686.6754279437, 6047557.334572729, '2018-10-31T17:37:28.060000+00:00', 1339551.7664524352, -1440567.1939759692, 6046864.642235379, '2018-10-31T17:37:29.060000+00:00', 1340674.986745808, -1442446.1245845042, 6046172.421551844, '2018-10-31T17:37:30.060000+00:00', 1341793.8697041366, -1444318.6943863186, 6045481.799966139, '2018-10-31T17:37:31.060000+00:00', 1342908.5529707512, -1446195.0613282584, 6044790.34194103, '2018-10-31T17:37:32.060000+00:00', 1344019.163909157, -1448067.2093866055, 6044099.925509439, '2018-10-31T17:37:33.060000+00:00', 1345125.8882678023, -1449936.178864074, 6043410.268167724, '2018-10-31T17:37:34.060000+00:00', 1346228.770122115, -1451802.255552589, 6042721.297269292, '2018-10-31T17:37:35.060000+00:00', 1347326.0766290007, -1453668.8062410008, 6042032.597024175, '2018-10-31T17:37:36.060000+00:00', 1348420.2666125027, -1455531.9100328034, 6041344.563307253, '2018-10-31T17:37:37.060000+00:00', 1349510.764661112, -1457394.0764153376, 6040656.727489833, '2018-10-31T17:37:38.060000+00:00', 1350596.537729122, -1459254.6988409364, 6039969.467500683, '2018-10-31T17:37:39.060000+00:00', 1351677.7739797488, -1461111.9091357593, 6039283.194604155, '2018-10-31T17:37:40.060000+00:00', 1352756.637647378, -1462964.8123955647, 6038597.648458679, '2018-10-31T17:37:41.060000+00:00', 1353830.174979352, -1464819.624438451, 6037911.994493867, '2018-10-31T17:37:42.060000+00:00', 1354899.886058975, -1466669.216859357, 6037227.619515182, '2018-10-31T17:37:43.060000+00:00', 1355966.8585603428, -1468518.7554521617, 6036543.03978407, '2018-10-31T17:37:44.060000+00:00', 1357028.627547912, -1470365.578360761, 6035859.451300298, '2018-10-31T17:37:45.060000+00:00', 1358086.021739135, -1472213.5350572134, 6035175.74162054, '2018-10-31T17:37:46.060000+00:00', 1359140.6952733556, -1474054.0088711518, 6034493.63260989, '2018-10-31T17:37:47.060000+00:00', 1360191.3226870357, -1475893.828384417, 6033811.770714555, '2018-10-31T17:37:48.060000+00:00', 1361237.3531897042, -1477733.0745322928, 6033130.262462621, '2018-10-31T17:37:49.060000+00:00', 1362280.0860385965, -1479568.9126603755, 6032449.510026649]}, 'point': {'pixelSize': 19.0, 'color': {'rgba': [102, 0, 153, 255]}}}
vertex7 = {'id': 'FOV-2-vertex-7', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', -1337868.3517950326, -1177595.8431754648, 6103518.805916251, '2018-10-31T17:37:24.060000+00:00', -1336824.9764227779, -1178409.1836073191, 6103589.962891211, '2018-10-31T17:37:25.060000+00:00', -1335089.3573960518, -1179765.4513133562, 6103707.062958969, '2018-10-31T17:37:26.060000+00:00', -1333359.6245761106, -1181120.1197959355, 6103822.401391624, '2018-10-31T17:37:27.060000+00:00', -1331634.7007832353, -1182472.4890122674, 6103936.35244826, '2018-10-31T17:37:28.060000+00:00', -1329915.0911231525, -1183825.9501330305, 6104048.159177731, '2018-10-31T17:37:29.060000+00:00', -1328201.007301191, -1185179.3373638918, 6104158.004515715, '2018-10-31T17:37:30.060000+00:00', -1326493.4897165713, -1186526.3726978132, 6104266.880800917, '2018-10-31T17:37:31.060000+00:00', -1324790.0624474948, -1187880.2340091704, 6104372.784304053, '2018-10-31T17:37:32.060000+00:00', -1323092.4077481823, -1189230.3120000118, 6104477.4048972335, '2018-10-31T17:37:33.060000+00:00', -1321400.0736959034, -1190577.7990000893, 6104580.616108484, '2018-10-31T17:37:34.060000+00:00', -1319712.9428966492, -1191923.0386088034, 6104682.382679517, '2018-10-31T17:37:35.060000+00:00', -1318032.236898674, -1193272.1623967288, 6104781.257992747, '2018-10-31T17:37:36.060000+00:00', -1316356.026896315, -1194617.6192520114, 6104879.125746912, '2018-10-31T17:37:37.060000+00:00', -1314684.402707602, -1195963.2683306711, 6104975.22191917, '2018-10-31T17:37:38.060000+00:00', -1313018.686326601, -1197309.3567445686, 6105069.219652086, '2018-10-31T17:37:39.060000+00:00', -1311359.0833648976, -1198653.2748639558, 6105161.5886192005, '2018-10-31T17:37:40.060000+00:00', -1309703.309166875, -1199991.7126692052, 6105253.4683278985, '2018-10-31T17:37:41.060000+00:00', -1308053.3542600987, -1201335.7277591876, 6105342.280659476, '2018-10-31T17:37:42.060000+00:00', -1306409.0998972505, -1202674.5495312037, 6105430.159461898, '2018-10-31T17:37:43.060000+00:00', -1304768.1342387896, -1204013.8275515202, 6105516.518072361, '2018-10-31T17:37:44.060000+00:00', -1303133.8867757255, -1205352.5749973743, 6105600.825339113, '2018-10-31T17:37:45.060000+00:00', -1301504.5438364514, -1206694.981016101, 6105682.648694611, '2018-10-31T17:37:46.060000+00:00', -1299880.1295577355, -1208028.1973259333, 6105764.509672477, '2018-10-31T17:37:47.060000+00:00', -1298260.639441129, -1209362.441846074, 6105844.408838987, '2018-10-31T17:37:48.060000+00:00', -1296646.6902639596, -1210698.3833463066, 6105922.087674562, '2018-10-31T17:37:49.060000+00:00', -1295037.4179890847, -1212031.0470475238, 6105998.712428397]}, 'point': {'pixelSize': 21.333333333333336, 'color': {'rgba': [119, 0, 136, 255]}}}
vertex8 = {'id': 'FOV-2-vertex-8', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', -4510694.693825436, 211338.8965182062, 4494286.400521615, '2018-10-31T17:37:24.060000+00:00', -4510414.142185136, 211842.52498977535, 4494544.249485398, '2018-10-31T17:37:25.060000+00:00', -4509948.143293347, 212678.7834160507, 4494972.355853775, '2018-10-31T17:37:26.060000+00:00', -4509484.074643526, 213511.23932980478, 4495398.461895915, '2018-10-31T17:37:27.060000+00:00', -4509020.94880781, 214341.66748983093, 4495823.476604714, '2018-10-31T17:37:28.060000+00:00', -4508560.639510623, 215166.71256440293, 4496245.68341853, '2018-10-31T17:37:29.060000+00:00', -4508102.754921582, 215987.082865506, 4496665.445761292, '2018-10-31T17:37:30.060000+00:00', -4507645.084586715, 216806.74193483606, 4497084.792179568, '2018-10-31T17:37:31.060000+00:00', -4507192.109759563, 217617.66970381516, 4497499.620406191, '2018-10-31T17:37:32.060000+00:00', -4506740.040662469, 218426.65701534966, 4497913.405279692, '2018-10-31T17:37:33.060000+00:00', -4506289.145144303, 219233.22706608783, 4498325.903322799, '2018-10-31T17:37:34.060000+00:00', -4505839.513042327, 220037.22203752116, 4498737.034282457, '2018-10-31T17:37:35.060000+00:00', -4505394.736162076, 220832.22607351528, 4499143.518414425, '2018-10-31T17:37:36.060000+00:00', -4504950.140084814, 221626.59988023603, 4499549.631415947, '2018-10-31T17:37:37.060000+00:00', -4504507.557210153, 222417.07202171086, 4499953.701218486, '2018-10-31T17:37:38.060000+00:00', -4504067.947209405, 223201.9339110943, 4500354.855299658, '2018-10-31T17:37:39.060000+00:00', -4503630.251675905, 223983.0804747252, 4500754.063026621, '2018-10-31T17:37:40.060000+00:00', -4503191.503694548, 224765.80787524025, 4501154.031208381, '2018-10-31T17:37:41.060000+00:00', -4502758.056469236, 225538.78656967107, 4501548.971260233, '2018-10-31T17:37:42.060000+00:00', -4502324.893668492, 226310.9682371822, 4501943.4578311425, '2018-10-31T17:37:43.060000+00:00', -4501893.079304389, 227080.4580196783, 4502336.523195141, '2018-10-31T17:37:44.060000+00:00', -4501464.356486851, 227844.15441053023, 4502726.583813341, '2018-10-31T17:37:45.060000+00:00', -4501039.502953673, 228600.67916171192, 4503112.936884595, '2018-10-31T17:37:46.060000+00:00', -4500612.626745945, 229360.5260028246, 4503500.941832546, '2018-10-31T17:37:47.060000+00:00', -4500188.4343164, 230115.3182779315, 4503886.321382764, '2018-10-31T17:37:48.060000+00:00', -4499767.637703369, 230863.79520911223, 4504268.432802289, '2018-10-31T17:37:49.060000+00:00', -4499347.397266025, 231611.01179639023, 4504649.857417349]}, 'point': {'pixelSize': 23.666666666666668, 'color': {'rgba': [136, 0, 119, 255]}}}
vertex9 = {'id': 'FOV-2-vertex-9', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', -5140281.3439643225, -2097776.655804896, 3125137.086153564, '2018-10-31T17:37:24.060000+00:00', -5140281.435761828, -2097508.5134326406, 3125316.911489109, '2018-10-31T17:37:25.060000+00:00', -5140281.549756424, -2097064.4974951895, 3125614.6727610426, '2018-10-31T17:37:26.060000+00:00', -5140281.616068333, -2096623.41360092, 3125910.4544196813, '2018-10-31T17:37:27.060000+00:00', -5140281.635617591, -2096183.4712968313, 3126205.4572907933, '2018-10-31T17:37:28.060000+00:00', -5140281.6092081405, -2095748.5470127033, 3126497.0823160415, '2018-10-31T17:37:29.060000+00:00', -5140281.538215856, -2095317.716873597, 3126785.9493788136, '2018-10-31T17:37:30.060000+00:00', -5140281.422278271, -2094885.863455304, 3127075.4897948992, '2018-10-31T17:37:31.060000+00:00', -5140281.265508841, -2094463.456398599, 3127358.6844603564, '2018-10-31T17:37:32.060000+00:00', -5140281.066225731, -2094041.761852513, 3127641.389261061, '2018-10-31T17:37:33.060000+00:00', -5140280.825096443, -2093621.4991931762, 3127923.1220191563, '2018-10-31T17:37:34.060000+00:00', -5140280.542720487, -2093202.8945843666, 3128203.7312542237, '2018-10-31T17:37:35.060000+00:00', -5140280.225644995, -2092793.282546879, 3128478.3007669533, '2018-10-31T17:37:36.060000+00:00', -5140279.8678244, -2092383.210873401, 3128753.166885223, '2018-10-31T17:37:37.060000+00:00', -5140279.473116126, -2091976.5929091533, 3129025.7066667154, '2018-10-31T17:37:38.060000+00:00', -5140279.0443497095, -2091575.0551556114, 3129294.83028845, '2018-10-31T17:37:39.060000+00:00', -5140278.580144196, -2091176.242911868, 3129562.1162699074, '2018-10-31T17:37:40.060000+00:00', -5140278.0739056785, -2090774.5136689872, 3129831.3462416427, '2018-10-31T17:37:41.060000+00:00', -5140277.543061332, -2090382.8798702902, 3130093.7998476247, '2018-10-31T17:37:42.060000+00:00', -5140276.974368691, -2089990.579882684, 3130356.6893848926, '2018-10-31T17:37:43.060000+00:00', -5140276.372532429, -2089600.688682714, 3130617.954308951, '2018-10-31T17:37:44.060000+00:00', -5140275.7426323835, -2089215.8212573554, 3130875.8426218475, '2018-10-31T17:37:45.060000+00:00', -5140275.090067392, -2088838.234826083, 3131128.842312512, '2018-10-31T17:37:46.060000+00:00', -5140274.393195252, -2088455.255735877, 3131385.4453660664, '2018-10-31T17:37:47.060000+00:00', -5140273.670317753, -2088076.9923011232, 3131638.878999415, '2018-10-31T17:37:48.060000+00:00', -5140272.925417232, -2087704.7620005903, 3131888.2609286676, '2018-10-31T17:37:49.060000+00:00', -5140272.147691882, -2087332.7456778144, 3132137.490035236]}, 'point': {'pixelSize': 26.0, 'color': {'rgba': [153, 0, 102, 255]}}}
vertex10 = {'id': 'FOV-2-vertex-10', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', -4499671.2861199295, -4254791.152646771, 1496446.311842368, '2018-10-31T17:37:24.060000+00:00', -4499937.317648266, -4254388.079119312, 1496792.306729294, '2018-10-31T17:37:25.060000+00:00', -4500379.219990277, -4253718.297618313, 1497367.1963773496, '2018-10-31T17:37:26.060000+00:00', -4500819.361565728, -4253050.886725279, 1497939.9952870002, '2018-10-31T17:37:27.060000+00:00', -4501258.733957686, -4252384.34512722, 1498511.9923733175, '2018-10-31T17:37:28.060000+00:00', -4501695.4308787715, -4251721.567921766, 1499080.7037895292, '2018-10-31T17:37:29.060000+00:00', -4502129.86222086, -4251061.937715206, 1499646.6601863578, '2018-10-31T17:37:30.060000+00:00', -4502564.308772466, -4250401.993395666, 1500212.8315364015, '2018-10-31T17:37:31.060000+00:00', -4502994.14923344, -4249748.759253021, 1500773.1924566934, '2018-10-31T17:37:32.060000+00:00', -4503423.288695161, -4249096.3056946425, 1501332.8304444228, '2018-10-31T17:37:33.060000+00:00', -4503851.445421061, -4248445.062470506, 1501891.3771470706, '2018-10-31T17:37:34.060000+00:00', -4504278.526318506, -4247795.1729542045, 1502448.7099308649, '2018-10-31T17:37:35.060000+00:00', -4504700.9034858, -4247152.163180182, 1503000.0907944667, '2018-10-31T17:37:36.060000+00:00', -4505123.299231557, -4246508.848453924, 1503551.6814275347, '2018-10-31T17:37:37.060000+00:00', -4505543.854668407, -4245868.061416888, 1504101.053353704, '2018-10-31T17:37:38.060000+00:00', -4505961.622570789, -4245231.249600685, 1504646.9663456047, '2018-10-31T17:37:39.060000+00:00', -4506377.682628482, -4244596.771342502, 1505190.8285053642, '2018-10-31T17:37:40.060000+00:00', -4506795.001075309, -4243960.103416853, 1505736.5170867788, '2018-10-31T17:37:41.060000+00:00', -4507207.1837713495, -4243331.004341646, 1506275.6687116884, '2018-10-31T17:37:42.060000+00:00', -4507619.305044258, -4242701.73414223, 1506814.9175989975, '2018-10-31T17:37:43.060000+00:00', -4508030.252695916, -4242073.991987011, 1507352.8078342415, '2018-10-31T17:37:44.060000+00:00', -4508438.322769664, -4241450.384404416, 1507887.1066553502, '2018-10-31T17:37:45.060000+00:00', -4508842.710119259, -4240832.147844179, 1508416.7558124529, '2018-10-31T17:37:46.060000+00:00', -4509249.350448157, -4240210.20879646, 1508949.5288780152, '2018-10-31T17:37:47.060000+00:00', -4509653.50478868, -4239591.815299385, 1509479.2169465744, '2018-10-31T17:37:48.060000+00:00', -4510054.470843854, -4238978.047089063, 1510004.8961239927, '2018-10-31T17:37:49.060000+00:00', -4510455.092217355, -4238364.554506947, 1510530.292377375]}, 'point': {'pixelSize': 28.333333333333336, 'color': {'rgba': [170, 0, 85, 255]}}}
vertex11 = {'id': 'FOV-2-vertex-11', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', -3436817.232334085, -5344465.793158166, 463264.1765707235, '2018-10-31T17:37:24.060000+00:00', -3437511.1704117376, -5343973.734492575, 463791.6324687501, '2018-10-31T17:37:25.060000+00:00', -3438665.2846574765, -5343154.932446429, 464669.15968783794, '2018-10-31T17:37:26.060000+00:00', -3439815.850142004, -5342338.099488819, 465544.3564924944, '2018-10-31T17:37:27.060000+00:00', -3440964.4648579275, -5341522.104611764, 466418.4360946255, '2018-10-31T17:37:28.060000+00:00', -3442108.5957532967, -5340708.751471002, 467289.46810555365, '2018-10-31T17:37:29.060000+00:00', -3443248.6709216554, -5339897.741363473, 468157.7746629954, '2018-10-31T17:37:30.060000+00:00', -3444387.1311731357, -5339087.341558985, 469025.2123430855, '2018-10-31T17:37:31.060000+00:00', -3445519.1496681296, -5338280.993248773, 469888.09985892556, '2018-10-31T17:37:32.060000+00:00', -3446648.9430747437, -5337475.698540079, 470749.6475791119, '2018-10-31T17:37:33.060000+00:00', -3447776.3193578552, -5336671.597146031, 471609.7071627563, '2018-10-31T17:37:34.060000+00:00', -3448901.2012024214, -5335868.747233328, 472468.2176011018, '2018-10-31T17:37:35.060000+00:00', -3450018.6835341, -5335070.656162823, 473321.43097054085, '2018-10-31T17:37:36.060000+00:00', -3451135.2633140637, -5334272.689276903, 474174.3041802127, '2018-10-31T17:37:37.060000+00:00', -3452248.61699536, -5333476.509563975, 475025.06079452013, '2018-10-31T17:37:38.060000+00:00', -3453357.104725485, -5332683.294932908, 475872.44423845294, '2018-10-31T17:37:39.060000+00:00', -3454461.9773199656, -5331892.155800878, 476717.4070239822, '2018-10-31T17:37:40.060000+00:00', -3455567.6950309803, -5331099.899930716, 477563.3591649869, '2018-10-31T17:37:41.060000+00:00', -3456665.6802218924, -5330312.677628148, 478403.7352412812, '2018-10-31T17:37:42.060000+00:00', -3457762.209919047, -5329525.994397505, 479243.33557918045, '2018-10-31T17:37:43.060000+00:00', -3458856.77914392, -5328740.214474386, 480081.7722155712, '2018-10-31T17:37:44.060000+00:00', -3459946.059055355, -5327957.732186357, 480916.49219272763, '2018-10-31T17:37:45.060000+00:00', -3461029.710429248, -5327178.798307527, 481747.23080556287, '2018-10-31T17:37:46.060000+00:00', -3462115.0092957136, -5326398.185120752, 482579.5643742985, '2018-10-31T17:37:47.060000+00:00', -3463196.1347840927, -5325620.080683218, 483409.02788442344, '2018-10-31T17:37:48.060000+00:00', -3464271.9996491843, -5324845.273551273, 484234.7831222269, '2018-10-31T17:37:49.060000+00:00', -3465346.4020862216, -5324071.032561202, 485059.7424965621]}, 'point': {'pixelSize': 30.666666666666668, 'color': {'rgba': [187, 0, 68, 255]}}}
vertex12 = {'id': 'FOV-2-vertex-12', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', -2650456.3185561267, -5793181.1743043065, -61434.39681542539, '2018-10-31T17:37:24.060000+00:00', -2651462.838874492, -5792726.8115447, -60843.248424160985, '2018-10-31T17:37:25.060000+00:00', -2653137.400269194, -5791970.2859949535, -59859.34717666465, '2018-10-31T17:37:26.060000+00:00', -2654807.228228536, -5791215.1569342185, -58877.729583617, '2018-10-31T17:37:27.060000+00:00', -2656474.2201436795, -5790460.57082697, -57897.283271946915, '2018-10-31T17:37:28.060000+00:00', -2658135.739959749, -5789707.725905649, -56919.561989283575, '2018-10-31T17:37:29.060000+00:00', -2659792.1359542524, -5788956.470861047, -55944.3651485313, '2018-10-31T17:37:30.060000+00:00', -2661445.4562915578, -5788205.881652251, -54970.49018625538, '2018-10-31T17:37:31.060000+00:00', -2663091.7740311977, -5787457.747199355, -54000.254346966176, '2018-10-31T17:37:32.060000+00:00', -2664734.666411655, -5786710.448254433, -53031.55369172055, '2018-10-31T17:37:33.060000+00:00', -2666374.0859931004, -5785964.010416098, -52064.418887919564, '2018-10-31T17:37:34.060000+00:00', -2668009.991237429, -5785218.456671194, -51098.87717189466, '2018-10-31T17:37:35.060000+00:00', -2669637.206115267, -5784476.1534497645, -50137.98855247904, '2018-10-31T17:37:36.060000+00:00', -2671262.6787575884, -5783733.937465748, -49177.6543140823, '2018-10-31T17:37:37.060000+00:00', -2672884.1128571955, -5782992.860515595, -48219.233312730095, '2018-10-31T17:37:38.060000+00:00', -2674499.483521057, -5782253.854155386, -47263.926527409916, '2018-10-31T17:37:39.060000+00:00', -2676109.9396748487, -5781516.3994053, -46311.0589494121, '2018-10-31T17:37:40.060000+00:00', -2677720.5574256154, -5780778.17441911, -45357.628905435544, '2018-10-31T17:37:41.060000+00:00', -2679322.3393137734, -5780043.3082972225, -44408.96601648446, '2018-10-31T17:37:42.060000+00:00', -2680921.4321922576, -5779308.987943809, -43461.434446642656, '2018-10-31T17:37:43.060000+00:00', -2682518.121380317, -5778575.085135562, -42514.8670083148, '2018-10-31T17:37:44.060000+00:00', -2684108.053950108, -5777843.606068241, -41571.84788421645, '2018-10-31T17:37:45.060000+00:00', -2685691.4854612635, -5777114.441201093, -40632.23088443394, '2018-10-31T17:37:46.060000+00:00', -2687275.482738998, -5776384.339612295, -39691.82474696973, '2018-10-31T17:37:47.060000+00:00', -2688854.381918412, -5775655.914336601, -38753.99368865996, '2018-10-31T17:37:48.060000+00:00', -2690426.922572612, -5774929.753719911, -37819.49096682169, '2018-10-31T17:37:49.060000+00:00', -2691997.0761976806, -5774204.028929527, -36885.95989242541]}, 'point': {'pixelSize': 33.0, 'color': {'rgba': [204, 0, 51, 255]}}}
vertex13 = {'id': 'FOV-2-vertex-13', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', -1229776.6887035787, -6206849.413812828, -743176.0559736927, '2018-10-31T17:37:24.060000+00:00', -1231012.9260326645, -6206661.544897683, -742698.2180056656, '2018-10-31T17:37:25.060000+00:00', -1233070.0566565527, -6206348.333741079, -741902.686102702, '2018-10-31T17:37:26.060000+00:00', -1235121.756728638, -6206035.211968157, -741108.7598098761, '2018-10-31T17:37:27.060000+00:00', -1237170.2235913987, -6205721.848618253, -740315.591785663, '2018-10-31T17:37:28.060000+00:00', -1239212.5431564155, -6205408.69423866, -739524.3135631543, '2018-10-31T17:37:29.060000+00:00', -1241249.0557237302, -6205095.702787987, -738734.7974117377, '2018-10-31T17:37:30.060000+00:00', -1243281.8072821235, -6204782.564666208, -737946.2533921562, '2018-10-31T17:37:31.060000+00:00', -1245306.9368313372, -6204469.880453139, -737160.1831552841, '2018-10-31T17:37:32.060000+00:00', -1247328.0405816687, -6204157.100822486, -736375.1947836495, '2018-10-31T17:37:33.060000+00:00', -1249345.1315400053, -6203844.2277663015, -735591.2859109121, '2018-10-31T17:37:34.060000+00:00', -1251358.179460813, -6203531.269984354, -734808.4709792399, '2018-10-31T17:37:35.060000+00:00', -1253361.428212038, -6203219.129414785, -734028.9931145925, '2018-10-31T17:37:36.060000+00:00', -1255362.6404816513, -6202906.602485441, -733249.8358168737, '2018-10-31T17:37:37.060000+00:00', -1257359.3294561645, -6202594.080753517, -732471.9694506718, '2018-10-31T17:37:38.060000+00:00', -1259349.1139929178, -6202281.942665643, -731696.3255128248, '2018-10-31T17:37:39.060000+00:00', -1261333.1954867027, -6201970.006114726, -730922.4399459733, '2018-10-31T17:37:40.060000+00:00', -1263317.3786903152, -6201657.361155356, -730148.0504162546, '2018-10-31T17:37:41.060000+00:00', -1265291.6780295738, -6201345.586056505, -729377.0573623801, '2018-10-31T17:37:42.060000+00:00', -1267262.7216836961, -6201033.64071664, -728606.8768076765, '2018-10-31T17:37:43.060000+00:00', -1269231.1816743156, -6200721.4215643555, -727837.2480290786, '2018-10-31T17:37:44.060000+00:00', -1271191.8481181348, -6200409.760082366, -727070.211433122, '2018-10-31T17:37:45.060000+00:00', -1273145.2699465917, -6200098.57655563, -726305.5573279458, '2018-10-31T17:37:46.060000+00:00', -1275099.0436327877, -6199786.664167123, -725540.3143466624, '2018-10-31T17:37:47.060000+00:00', -1277047.073420205, -6199474.998615551, -724776.8717402681, '2018-10-31T17:37:48.060000+00:00', -1278987.9052685683, -6199163.818953932, -724015.8036598677, '2018-10-31T17:37:49.060000+00:00', -1280925.9421497202, -6198852.424131049, -723255.3868257805]}, 'point': {'pixelSize': 35.333333333333336, 'color': {'rgba': [221, 0, 34, 255]}}}
vertex14 = {'id': 'FOV-2-vertex-14', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', 677912.0536747021, -6203375.807923159, -1283824.299955513, '2018-10-31T17:37:24.060000+00:00', 676393.2778141911, -6203599.944755533, -1283542.3090638323, '2018-10-31T17:37:25.060000+00:00', 673865.3320556991, -6203972.247367728, -1283072.4329298711, '2018-10-31T17:37:26.060000+00:00', 671343.4785831326, -6204342.700706505, -1282603.0508125967, '2018-10-31T17:37:27.060000+00:00', 668825.3551892813, -6204711.657353235, -1282133.7267854994, '2018-10-31T17:37:28.060000+00:00', 666313.7138120913, -6205078.719879417, -1281664.9776308758, '2018-10-31T17:37:29.060000+00:00', 663808.3561816023, -6205443.924472944, -1281196.7711812607, '2018-10-31T17:37:30.060000+00:00', 661307.9636182967, -6205807.4696986005, -1280728.8652513588, '2018-10-31T17:37:31.060000+00:00', 658814.8226893757, -6206169.029968126, -1280261.692338411, '2018-10-31T17:37:32.060000+00:00', 656326.5469515828, -6206528.958163788, -1279794.8098194972, '2018-10-31T17:37:33.060000+00:00', 653842.9367794043, -6206887.288497854, -1279328.1838166132, '2018-10-31T17:37:34.060000+00:00', 651363.9741965439, -6207244.028768374, -1278861.8144421363, '2018-10-31T17:37:35.060000+00:00', 648895.1865101905, -6207598.3918070635, -1278396.747085294, '2018-10-31T17:37:36.060000+00:00', 646429.0121852162, -6207951.470078997, -1277931.5620756997, '2018-10-31T17:37:37.060000+00:00', 643967.6503148474, -6208302.952864462, -1277466.6769831446, '2018-10-31T17:37:38.060000+00:00', 641513.7480832123, -6208652.468930931, -1277002.596339606, '2018-10-31T17:37:39.060000+00:00', 639066.362895891, -6209000.160240461, -1276539.147049128, '2018-10-31T17:37:40.060000+00:00', 636619.4714456882, -6209346.88636722, -1276075.1910988318, '2018-10-31T17:37:41.060000+00:00', 634182.5995464285, -6209691.303270914, -1275612.538553177, '2018-10-31T17:37:42.060000+00:00', 631749.9653765699, -6210034.235937901, -1275150.0969399428, '2018-10-31T17:37:43.060000+00:00', 629319.9263468476, -6210375.919666703, -1274687.5565120908, '2018-10-31T17:37:44.060000+00:00', 626898.5147559327, -6210715.512386891, -1274226.0695785712, '2018-10-31T17:37:45.060000+00:00', 624484.4569768404, -6211053.201407853, -1273765.3992300453, '2018-10-31T17:37:46.060000+00:00', 622071.2017148614, -6211389.907582543, -1273304.2982644492, '2018-10-31T17:37:47.060000+00:00', 619664.023567161, -6211724.898709518, -1272843.7770004815, '2018-10-31T17:37:48.060000+00:00', 617264.4603882108, -6212057.9681728855, -1272384.134607743, '2018-10-31T17:37:49.060000+00:00', 614868.3269212097, -6212389.702857978, -1271924.5733821425]}, 'point': {'pixelSize': 37.66666666666667, 'color': {'rgba': [238, 0, 17, 255]}}}
vertex15 = {'id': 'FOV-2-vertex-15', 'position': {'cartesian': ['2018-10-31T17:37:23.460000+00:00', 2573353.6402293956, -5645161.9042330105, -1449013.1529128572, '2018-10-31T17:37:24.060000+00:00', 2571728.3875122066, -5645895.049201611, -1449042.164419168, '2018-10-31T17:37:25.060000+00:00', 2569022.5081773815, -5647114.594736946, -1449089.7509771483, '2018-10-31T17:37:26.060000+00:00', 2566322.466977777, -5648330.182304961, -1449136.3452580527, '2018-10-31T17:37:27.060000+00:00', 2563626.0081371777, -5649542.835165572, -1449181.9913427255, '2018-10-31T17:37:28.060000+00:00', 2560935.4124494325, -5650751.535279487, -1449226.6557716085, '2018-10-31T17:37:29.060000+00:00', 2558250.645678699, -5651956.307330181, -1449270.3453514422, '2018-10-31T17:37:30.060000+00:00', 2555571.259046453, -5653157.361625624, -1449313.073367425, '2018-10-31T17:37:31.060000+00:00', 2552897.724525437, -5654354.49551079, -1449354.8382676186, '2018-10-31T17:37:32.060000+00:00', 2550229.1235511247, -5655548.1288517155, -1449395.6601402978, '2018-10-31T17:37:33.060000+00:00', 2547565.095860004, -5656738.430396187, -1449435.5495967045, '2018-10-31T17:37:34.060000+00:00', 2544905.579043354, -5657925.435307995, -1449474.5124523065, '2018-10-31T17:37:35.060000+00:00', 2542255.2494245637, -5659107.067016353, -1449512.4872931638, '2018-10-31T17:37:36.060000+00:00', 2539607.601819643, -5660286.235049154, -1449549.5735203298, '2018-10-31T17:37:37.060000+00:00', 2536964.302442459, -5661462.20306864, -1449585.751640025, '2018-10-31T17:37:38.060000+00:00', 2534327.963740838, -5662633.817613407, -1449620.9917844739, '2018-10-31T17:37:39.060000+00:00', 2531698.007712673, -5663801.345758444, -1449655.3085228635, '2018-10-31T17:37:40.060000+00:00', 2529068.876730841, -5664967.260533519, -1449688.778267516, '2018-10-31T17:37:41.060000+00:00', 2526448.564663321, -5666128.0244962415, -1449721.3042957431, '2018-10-31T17:37:42.060000+00:00', 2523832.7842120887, -5667285.546989438, -1449752.9466157043, '2018-10-31T17:37:43.060000+00:00', 2521219.1162700425, -5668440.903859662, -1449783.738081354, '2018-10-31T17:37:44.060000+00:00', 2518613.729042136, -5669591.376470036, -1449813.6113780607, '2018-10-31T17:37:45.060000+00:00', 2516014.7745012515, -5670737.7918587895, -1449842.5950688426, '2018-10-31T17:37:46.060000+00:00', 2513417.4804740963, -5671882.261381161, -1449870.7466105265, '2018-10-31T17:37:47.060000+00:00', 2510825.7113631717, -5673023.087895944, -1449898.0279168612, '2018-10-31T17:37:48.060000+00:00', 2508240.915850322, -5674159.643092546, -1449924.4300149805, '2018-10-31T17:37:49.060000+00:00', 2505659.598602702, -5675293.47180327, -1449949.9939092197]}, 'point': {'pixelSize': 40.0, 'color': {'rgba': [255, 0, 0, 255]}}}

main_polygon = {'id': 'FOV-2', 'polygon': {'positions': {'references': ['FOV-2-vertex-0#position', 'FOV-2-vertex-1#position', 'FOV-2-vertex-2#position', 'FOV-2-vertex-3#position', 'FOV-2-vertex-4#position', 'FOV-2-vertex-5#position', 'FOV-2-vertex-6#position', 'FOV-2-vertex-7#position', 'FOV-2-vertex-8#position', 'FOV-2-vertex-9#position', 'FOV-2-vertex-10#position', 'FOV-2-vertex-11#position', 'FOV-2-vertex-12#position', 'FOV-2-vertex-13#position', 'FOV-2-vertex-14#position', 'FOV-2-vertex-15#position']}, 'show': false, 'fill': true, 'material': {'solidColor': {'color': {'rgba': [255, 255, 0, 50]}}}, 'granularity': 0.25, 'height': 0,  'outline': true, 'outlineColor': {'rgba': [0, 0, 0, 100]}}}

Any help on this would be greatly appreciated!

@ggetz
Copy link
Contributor

ggetz commented May 21, 2024

Hi @falconeaj1, would you be able to provide a Sandcastle example which would help us replicate the issue? That will help us track down what exactly is going wrong.

@falconeaj1
Copy link

falconeaj1 commented May 21, 2024

Hi @ggetz ,
Here is the first timestamp polygon values that do not display correctly in a sandcastle example.

https://sandcastle.cesium.com/#c=rZhNb9tGEIb/CqEeZKPSame/13GCAi56KNKmgIMcGuXASLRNlCINknLiBP7vfZe05I9wmYNlGwnJWS73mZmdeclVVTZtcpNnX7I6eZ2U2ZfkLGvy7YZ96K4dLSer7vysKts0L7N6OTl+tSwXi+Q83VwXWfLn+bu/k3XapsvyJq2TdbU6+/evt5jr+7JMup/lJF8vJyf4H8btJivb5WT2YCzTTdabi7S+zP549+GJ+Sarm7wq+xHE+BPjqqhW/wXT/cPwqLLN6pu06McLTm5OfC7pPdkTaU+EZMpw/PzK+Qnni8cD3MCA/dPwrG1dY+3v891yfzb5o3s326LNr4s8uO8kMTxcv9th3MGfvfPA2mZfeXDeNF9PT5IpvDEX8/76nE9nyfS6avIWDoH1+3SVwtDkaTj7OP3ZgnC79MZoL5iT2kmrjJwlc+VIey6ZkYKM4tbjGgnnNVlGmnNvOCk3Sz7ddY+Hh7tnX+dfs+I8/5bhTMCyqoqq7iz15ec0LIjPEvwJrbt/Pt3dBdIHTopx0ss5lRWOe8m8UlwZz0XgJOlAzQSBh6yQOoByLTgcwpX01pJ2NIKpBjHJ9pzSDXOKGKd4Oae20nBHzDhjFIJIQBJWSW4UE9xyYa2VKsBzKZRmJI0R4XcM0wxihmkCpqBhTBnDlC/HNODQXjMEVWm/CydhFHPWkFBcW0SBODdcc+YJHkDOcjFC6QYpNfWUXA1TqhilOkAwtebKKia10gbLD0TGI5OJSa+dstq6sJcQP+8N9iu2q0TajUASH6Q0rqOk8IghSh2j1AcoQcZ4IzTTCo/nFJYyV0ppEsx74SXhUtiamhyXCCay2BnvnB3DHC5AwVsB0/JhTBPDNC/HJCmVlGhY4FSE/RiKjZKE5GUhmMYp57HTQsJiDFMO9VY6PhrNSAEK+yFwajnMaWOc9uWcc4BaZxyylqzXKDMmXKR+wzoQW61M6B+GEE9yzHHtCRkwVoJouAYR+Z5UmmFSFyN1ByBFjnLjFTNeOqFVtwYCPpC8AZngBoFQyivhDFMIKxoq6THM4SLU4QXMgDuE6WOY/gCYmhTvag5aYigwIvRJNEm0EhQdrVGDu8yVhBhKy7A9kXnaqDGBMFyHuowNoCGDBzVCVAwRP0REFQqpJfQVA1+j+gRUhdhaT9A+wigDUYD1KXhCGYbi5JSQZmyTChFRCb0ccjE1FJdDB9BDcwTTOAg6gYYhFQ+rmGuJums0syi6ED4GMYUiBDQja7TlQSKNgUaqkev1kInIIYrqITqAIJoLgyaqQ6icRhcVxgbSgIiUpiCNgjoK+GixEs3Wwy8aMZd+jHW4HnUygYdeFWGNiiKShyi9QvhuU6I7orba4Pm5QRlyyrMgdyHjReivNpRhg16kPQSjF2O9VAzXpE73AVVGhBFFlREdQBphG3oIBK6lsQqylnpQtB70GLyyCGTw/XsLajO0r/cecorkCKgcrkmdju9UQwQ0Ko7oAOpIQNFLjZcx1GCIIa9DN0Vt1egkzHMUHyhb3r25oHhxkqFMwTVO2zGxK4eLUvdutn9Nu0ftYTd42/+nKm4vq/I57w+UdXaR4d14FZ40Pc/Kpqrn4pf9kH5Z3VT9wu4NzdObm85HT994HyaZPXd23CTiJhk3qbhJx00mbrJxk4ub/AjymDtG/EEjDqERj9CIS+iRT7q8a66qLwhgW28znF3kRfFwtknbrM7Toot3UxX5+myfipGk3GWm5iErMcdlnZbbIq3z9haDOAuqZHqV5ZdXIdsxMplW27bIy+zhufcXziJfJjrhwR9t8NW3TfF72qZI+I/3H7Jmu48yuwPaHYjdgdwdqN2B3h2Y3YHdHbjdgd9P+DD1fm7aT0772Wk/PWH+R9vzU7dn7z/bnd0jnFfbepWxokrXRzusY9ZeZeXRxbZchbgdrffjjvsPaP13QPZwvWHpev143KtHw75V1eZ99cx6d9ytZjKbnDbtbZG92X3l+i3fXFd1m2zr4oixRZttrgukRbP4vF39l7Vs1TT97Elyunh86+k6v0ny9euBL5HJqkibBpaLbdFVuuXkzekC43+4NfghLy/fwYFFehuGXdGbt/1FxtjpAqfDd7ZVVXxO62cz/w8

@falconeaj1
Copy link

Hi @ggetz,
Are there any updates on this issue? Thanks!

@ggetz
Copy link
Contributor

ggetz commented Jun 21, 2024

Hi @falconeaj1, the issue seems to be with position 8, which crosses the IDL. I've gone ahead and opened a dedicated issue to track: #12044.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Notable backlog items
Development

Successfully merging a pull request may close this issue.

9 participants