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

JulianDate.createFromIso8601 has issues #1

Closed
mramato opened this issue Apr 27, 2012 · 1 comment
Closed

JulianDate.createFromIso8601 has issues #1

mramato opened this issue Apr 27, 2012 · 1 comment
Assignees

Comments

@mramato
Copy link
Contributor

mramato commented Apr 27, 2012

The current implementation of JulianDate.createFromIso8601 uses Date.parse which according to ECMAScript 5 supports ISO8601 dates. This has two major problems:

  1. ISO8601 supports fractional milliseconds but Date is only accurate to the millisecond, so any conversions with fractional milliseconds are rounded and less accurate.
  2. ISO8601 and JulianDate both support leap seconds, but Date does not; called Date.parse with a leap second generates an invalid date.

The solution is to simply re-implement createFromIso8601 ourselves, making sure we handle all valid date specifications. This eliminates the middle-man Date approach and maintains accuracy and leap seconds. I've added a test to Core/JulianDateSpec.js, "Construct a date from ISO8601 on a leap second.", which is currently ignored with xit that shows the problem.

@mramato
Copy link
Contributor Author

mramato commented May 4, 2012

Now that #12 has been pulled this issue is finished.

@mramato mramato closed this as completed May 4, 2012
kring added a commit that referenced this issue Aug 17, 2012
emackey referenced this issue in emackey/cesium Apr 23, 2013
shunter pushed a commit that referenced this issue Apr 26, 2013
Explicitly checked for 'undefined'
hpinkos pushed a commit that referenced this issue Sep 10, 2013
mramato pushed a commit that referenced this issue Sep 12, 2013
Improve unit tests for Point geometry.
ognjenb pushed a commit to ognjenb/cesium that referenced this issue Nov 16, 2013
craigsketchley pushed a commit to craigsketchley/cesium that referenced this issue Aug 27, 2014
keattang referenced this issue in PropellerAero/cesium Jul 7, 2015
mramato pushed a commit that referenced this issue Aug 20, 2015
oterral pushed a commit to oterral/cesium that referenced this issue Oct 29, 2015
Add maximumRetrievingLevel property to UrlTemplateImageryProvider
mramato pushed a commit that referenced this issue Nov 17, 2015
JulianDate creation from ISO8601 hours-minutes strings
pjcozzi added a commit that referenced this issue Dec 8, 2015
mramato pushed a commit that referenced this issue Feb 17, 2016
pjcozzi pushed a commit that referenced this issue Apr 20, 2016
pjcozzi pushed a commit that referenced this issue Aug 18, 2016
hpinkos pushed a commit that referenced this issue Feb 27, 2017
Update KmlDataSource documentation
lilleyse pushed a commit that referenced this issue Jul 26, 2017
Merge master into glTF 2.0
lilleyse pushed a commit that referenced this issue Jul 26, 2017
Merge master into glTF 2.0
lilleyse pushed a commit that referenced this issue Jul 26, 2017
Merge master into glTF 2.0
lilleyse pushed a commit that referenced this issue Aug 1, 2017
Merge master into glTF 2.0
hpinkos pushed a commit that referenced this issue Oct 23, 2017
hpinkos pushed a commit that referenced this issue Nov 2, 2017
hpinkos pushed a commit that referenced this issue Jun 25, 2018
hpinkos pushed a commit that referenced this issue Oct 23, 2018
kring pushed a commit that referenced this issue Jun 10, 2019
OmarShehata pushed a commit that referenced this issue Jun 28, 2019
OmarShehata pushed a commit that referenced this issue Jun 28, 2019
This reverts commit f383685, reversing
changes made to b2588e4.
lilleyse pushed a commit that referenced this issue Jul 31, 2019
hpinkos pushed a commit that referenced this issue Sep 18, 2019
* Added tests for DiscardEmptyTileImagePolicy, updated CHANGES.md

* Made comment on image blob loading error handling clearer.

* fixed linter error - 'missing use strict'

* Fix typo.

* Remove fit.

* Update CHANGES.

* update CHANGES

* eslint configuration updates and fixes

* Update Node ecmaVersion to '2019'.
* Enable [no-tabs](https://eslint.org/docs/rules/no-tabs).
* Enabled [no-restricted-globals](https://eslint.org/docs/rules/no-restricted-globals) for jasmine `fit` and `fdescribe`.
* Remove existing tabs from code-base.
* Update eslint-config-cesium CHANGES and version

Closes #7785

* Fix PostProcessStageTextureCache.clear, which previously didn't clear anything.

* Multisampling in sdf shader to try to get rid of artifacts

* Use DiscardEmptyTileImagePolicy for all Bing styles.

This removes the need to inspect pixel values to detect the placeholder "missing tile" image.

Also change `DiscardEmptyTileImagePolicy.EMPTY_IMAGE` to be a real (blank) image.
This way we always satisfy the documented API of `requestImage`.

Fixes #1353.

* Add syntax to to delete data from properties via CZML.

Specifying delete: true for any property will delete data for that property, depending on the type of property, for the specified interval (or if no interval is specified, then for all time).

This deletes samples for sampled properties, or removes intervals for interval properties.

* Much improved multisampling of the SDF text

* Fixes #7827

* Fix double render.

* First crack at importing AGI_articulations from glTF models.

* Some tweaking, and add option to get list of articulations.

* Add 3D Models Articulations demo.

* Fixed writeTextToCanvas to properly position the text with padding above
and below the glyph.  Previously it was doubling the padding so it was
always rendering the glyph at the very top of the canvas

* Added bitmap-sdf library

* Don't send ion access token to non-ion servers

Some ion-hosted assets can still point to additional external servers as,
part of their dataset. We were still appending the ion access_token in
the Accept header to these servers, which is at best pointless but at worst
would cause some CORS requests to fail because the Accept header was not
allowed.

* Update CHANGES

* Added SDFSettings class to hold info about how SDF fonts are generated.
Replaced tinySDF based code with a modified version of the original
cesium text rendering to preserve positioning logic.
Applying offsets in LabelCollection and Label bounding box compuation to
account for padding in the glyphs to position things correctly.
Enabled more unit tests in LabelCollectionSpec

* Fix include

* Simplified sdf shaders to push edge computation to the CPU.
Deleted tiny-sdf

* saving vertical origin in texture cache id

* Updated unit tests

* Documented totalScale in Label and using it in few places in LabelCollection

* Updated Labels SDF gallery image

* Add tests that delete data from custom properties since the code path is a bit different.

* Hook up existing CheckerboardMaterialProperty to CZML.

CheckerboardMaterialProperty was added to the entity API in #2385 but
was forgotten for CZML.

* Reduce Bing Maps transactions and ion Bing sessions

This is a simple PR to try and minimize the number of Bing transactions
and ion Bing sessions over the course of a page. While we can't cache
Bing metadata or ion endpoints across sessions, this type of basic caching
is allowed and should dramatically reduce use for certain use cases.

1. BingMapsImageryProvider now keeps a local cache of metadata for a given
url/style. This means destroying and recreating instances multiple times
still only uses a single transaction.

2. IonImageryProvider now caches endpoint requests. This means that
creating multiple IonImageryProviders for the same Bing asset will only
use a single Bing session.

While use cases like Sandcastle, which uses an iframe, won't benefit at
all from this change, applications that switch base layers often or
destroy/recreate the viewer as part of a SPA will see dramatic improvement.

* Initial commit of KML exporter

* Update changes.

* Removed unnecessary comments in Label.js

* Fixed background padding size computation in LabelCollection so that the
specified size in pixels is scaled properly when finally rendered

* Update the API to be based on an articulation/stage key.

* Got bilboards with styling pretty much there. Need to test (especially the hotspots)

* Remove TODO, change model center point.

* Check childTileMask if provider doesn't know tile availability.

* Update CHANGES.md.

* Tweak Sandcastle

* Fixed memory leak

* Tweaks after review.

* Fixed error in old versions of ANGLE

* Got points/billboards done.

* First cut off LineStrings with materials

* Don't rewrite Bing tile URLS.

Instead, tell Bing what protocol we want.

* MapboxStyleImageryProvider

- Rename from MapboxStyleProvider
- Modify CHANGES.md
- Add reference to ImageryProvider class

* Added support for Rectangle and Polygon graphics.

* chore(package): update merge-stream to version 2.0.0

* Add test for articulations

* Remove getter for articulationStageKeys, it's not useful by itself.

* Started adding time support

* Fixed memory leak when removing an DataSource

* Added test

* Update CHANGES.md

* Got style caching working

* Formatting

* chore(package): update gulp-zip to version 5.0.0

* Fix credits

* Ordering

* Update url parameter type

* Marked SDFSettings as private

* Added comment to bitmap-sdf explaining what it is and what it does

* Remove commented code

* Fix for request render mode

* Beginnings of test helper functions

* CHANGES.md

* Added a fallback for when GL_OES_standard_derivatives isn't available that just does a single sample with a fixed smoothing.

* Code cleanup from review.

* More testing

* fix mitering bug with ground polylines over long distances

* Add clarying doc about node transformation additive vs. replacement

* Fix

* Started work on CZML articulations demo.

* Add Sandcastle example for new Montreal Point Cloud ion asset

* Add thumbnail and improve description

* Update for 1.58

* Fix ImageBitmap spec on Edge

* 1.58.1 npm release

* use tile.data.tileBoundingRegion.minimumHeight instead of tile.data.minimumHeight

* update CHANGES.md

* Add name to contributors

* Add tests for Entity-level articulations

* CHANGES.md

* Verified all point/billboard exporting works as expected

* Fixed Tracks/Multitracks

* Add render state to copy color command. This makes viewer/scissor work for billboards in zoomed out 2D View

* Update CHANGES.md

* Make sure 204 image requests reject when using ImageBitmap

* Make ImageBitmap test only run when ImageBitmap is supported

* Update changes [ci skip]

* update changes.md

* Added tests for dynamic points. Added code for path graphics and labels. Fixed polygons. Fixed handling of default intervals

* Added a bunch of tests

* Polygon and Polyline tests work.

* Models

* Fixed typo in LineString

* Tweak CSS styling of standalone Sandcastle loader

* Gamma correct fix for polylines

* CHANGES.md

* Ground Overlay support

* Add articulation tests to CzmlDataSourceSpec.js

* Reorder code in entity layer to have consistent order of properties.

Previously the list of properties for each type of Graphics in the entity layer was different everywhere.  This made it quite difficult to compare the set of properties in the code vs the set of properties in CZML. I went through and reordered all these locations to have properties in the same order in each.

* The documentation for the constructor for each graphics type
* The content of the constructor (initializing `_property` and `_propertySubscription` to `undefined`)
* The public get/set properties
* The contents of the `clone` function for each graphics type
* The contents of the `merge` function for each graphics type
* The code assigning the values of properties in `CzmlDataSource`.

Also add some missing functionality to `CzmlDataSource`:

`box.heightReference`
`cylinder.heightReference`
`ellipsoid.heightReference`

`corridor.classificationType`
`ellipse.classificationType`
`polygon.classificationType`
`polyline.classificationType`
`rectangle.classificationType`

* Update validation document.

* Update validation document.

* Updated Corporate CLA

* Update deprecated Travis command

* support for ArcGISTiledElevationTerrainProvider

* Added ArcGISTiledElevationTerrainProvider under Additions/1.59.

* More useful error message for ImageBitmap

* Add Cesium GS to CONTRIBUTORS.md

* Solve struct ellipsoid caused the model to dark

Solved the problem that struct ellipsoid caused the model to darken on Qualcomm platform

* fix: 3dtile dark

fix: 3dtile dark

* Revert "Solve struct ellipsoid caused the model to dark"

This reverts commit d6f91aa.

* Added tests for missing coverage areas, we now return external files as a collection of blobs and we now handle inertial positions.

* eslint

* Removed debugging info from Labels SDF sandcastle demo

* Changed SDF vertex attributed to be a vec2 instead of a vec4 since the z and w components were 0

* Storing canvas width and height in local variables in LabelCollection
Storing imageIndex as a local variable to avoid redundant compuations

* Remove blank line in BillboardCollectionFS.glsl

* Added bitmap-sdf to third party section of LICENSE.md

* Renamed SDF to SDF_INDEX to match other index location naming
convention.

* Added table closing tag in Labels SDF example

* Updated doc

* Changed class to a function, updated doc and fixed tests

* Fixed example

* Update CHANGES and CONTRIBUTORS

* Oops

* Fixed issue if data uris are used for images

* Added KMZ export and a test for it.

* Updated Doc

* remove czm_ellipsoid struct

remove function czm_getWgs84EllipsoidEC
remove struct czm_ellipsoid

add Constant czm_ellipsoid_radii
add Constant czm_ellipsoid_inverseRadii

* Delete unused files

Delete unused files

* Update CONTRIBUTORS.md

* Revert "Merge pull request #1 from verybigzhouhai/3dtile-dark01"

This reverts commit f383685, reversing
changes made to b2588e4.

* Delete ellipsoidNew.glsl

* modify Constant Name

modify constant name

* Our zip library isn't thread safe. Files must be add sequentially

* Fixed factorial to actually work. It would only work if you called it in a loop in order, so I changed the test to not do that

* Update CHANGES.md

* Update CHANGES.md

* Export KML sandcastle example. Needed to add ability for modelCallback to add to externalFiles.

* Added test

* eslint

* add note and update CHANGES.md

add note and update CHANGES.md

* Update CLA instructions

* Missing info in CHANGES

* Reordered CHANGES

* Updated ion token and package.json version

* Updated Sandcastle filename with a case difference

* Replace old CLA txt with new CLA PDF

* Added link to Labels SDF sandcastle example to CHANGES.md
Added Label.totalScale property to CHANGES.md

* update export KML doc and Sandcastle

* Changed getFontInfo function to be parseFont and moved it to Label.
Rather than keeping a fontInfoCache in LabelCollection the font
properties are stored on the Label itself and the parseFont function is
called when the font string changes.

* link update

* fix

* Make PolygonGraphics.hierarchy always produce a PolygonHierarchy.

For backwards compatibility we preserve the existing behavior of allowing an array of positions to be set.
This makes the behavior more closely match the documentation. The ability to set an array of positions
was undocumented, though some Sandcastle examples do this.

This removes the need for conversion in PolygonGeometryUpdater at the point where the data is used.

* Make code more consistent between processArrayPacketData and processPositionsPacketData

* Clean up test code.

Use CzmlDataSource.load in most tests. Compare against the values from the packet data rather than copy/pasting the expected values.

* Add support for polygons with holes to CzmlDataSource.

* Add additional tests

* Add more tests. Fix incorrect behavior with reference arrays specified using intervals.

* Add more tests.

* Update validation document.

* Add more tests.

* In PolygonHierarchy, holes needs to be an array of PolygonHierarchy.

* Add holes to CZML polygon Sandcastle examples.

* fix typo

* update CHANGES

* fix typo

* update CHANGES

* Regenerate validation document and assertions.

* fix typo
hpinkos pushed a commit that referenced this issue Sep 18, 2019
mramato pushed a commit that referenced this issue Mar 30, 2020
ligaofeng0901 pushed a commit to huiyan-fe/cesium that referenced this issue Jul 21, 2021
ligaofeng0901 added a commit to huiyan-fe/cesium that referenced this issue Jul 21, 2021
sanjeetsuhag added a commit to xtassin/cesium that referenced this issue Mar 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
1 participant