CesiumGS / cesium

An open-source JavaScript library for world-class 3D globes and maps :earth_americas:
https://cesium.com/cesiumjs/
Apache License 2.0
12.73k stars 3.45k forks source link

Large polygon rendering/fill issue #4871

Closed ketulm closed 11 months ago

ketulm commented 7 years ago

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 commented 7 years ago

CZML example with the same problem in #5223.

pjcozzi commented 7 years ago

Same problem with this Sandcastle example: #3995

ketulm commented 6 years ago

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 commented 6 years ago

@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 commented 3 years ago

@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 commented 2 years ago

Here's another geojson sample - test.txt

sanjeetsuhag commented 2 years ago

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 commented 2 years ago

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:

ggetz commented 1 year ago

In https://github.com/CesiumGS/cesium/issues/10857#issuecomment-1284173044, @GatorScott suggested an inspector view to help debug polygon triangulation.

ggetz commented 1 year ago

Also reported in https://github.com/CesiumGS/cesium/issues/10950.

ggetz commented 1 year ago

Also reported in https://github.com/CesiumGS/cesium/issues/11238

ggetz commented 1 year ago

Also reported in https://github.com/CesiumGS/cesium/issues/4871.

ggetz commented 1 year ago

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 commented 1 year ago

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

Rohan427 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

ggetz commented 1 year ago

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

Rohan427 commented 1 year ago

@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 commented 1 year ago

Also reported in https://github.com/CesiumGS/cesium/issues/10975.

ggetz commented 1 year ago

Data with holes reported in https://github.com/CesiumGS/cesium/issues/9967.

ggetz commented 1 year ago

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

Considerations and implementation

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

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 commented 4 months ago

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 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

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

ggetz commented 2 months ago

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: https://github.com/CesiumGS/cesium/issues/12044.