poliastro / czml3 Goto Github PK
View Code? Open in Web Editor NEWPython 3 library to write CZML
Home Page: https://pypi.org/project/czml3/
License: MIT License
Python 3 library to write CZML
Home Page: https://pypi.org/project/czml3/
License: MIT License
The available properties are described in detail on the Packet page, and linked pages for sub-properties and sub-types.
https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/CZML-Structure
(Asked in the Cesium forum)
When enabling the icrf
function on the JavaScript side implemented here:
Lines 26 to 40 in 7b8ba68
There are some strange effects when rotating the view or switching to 2D. We should try to fix those.
After PR #44, I was unable to plot models in the CZMLWidget().
Here is the code:
from czml3 import Document, Packet, Preamble
from czml3.properties import Model, Position, Orientation, Clock
from czml3.widget import CZMLWidget
import datetime
doc = Document([
Preamble(name="newsat1_test"),
Packet(
position=Position(cartographicDegrees=[-77, 37, 0]),
orientation=Orientation(unitQuaternion=[0, 0, 0, 1]),
model=Model(
gltf="http://localhost:8890/Cesium_Air.glb", # Para comparar
scale=2.0,
minimumPixelSize=128,
)
),
])
CZMLWidget(doc)
The widget is display, but no model is rendered.
I was trying to use the Point
introduced in #25 like this:
Point(color=RgbaValue(values=[255, 0, 0, 255]))
to reproduce the example in https://github.com/AnalyticalGraphicsInc/cesium/blob/master/Apps/Sandcastle/gallery/CZML%20Point.html. However, instead of getting
{
"color": {
"rgba": [
255,
0,
0,
255
]
}
}
I am getting
{
"color": [
255,
0,
0,
255
]
}
First, thank you for this awesome library. My project wouldn't be anywhere near what it is without it.
Is there a good way to remove white space from the document? I found a way to do it, but I feel like it's inefficient/has extra steps.
output = json.dumps(json.loads(str(Document([top] + packets))), separators=(',', ':'))
Removing white space turns a 24MB CZML file into a 9MB CZML file.
Support is necessary for positional references...
`
polyline":{
...
"arcType":"NONE",
"positions":{
"references":[
"Facility/AGI#position","Satellite/ISS#position"
]
}
`
Position constructor doesn't accept "references" attribute. This comes from the CZML simple example from the sandcastle that is the basis for your "simple" example.
Add parameters to the Ellipsoid class in order to create partial ellipsoids
The model is positioned and oriented using the position and orientation properties.
Some properties we are missing:
cc @enritoomey
cc @enritoomey
Height is set to 100 %, and that creates problems.
I seem to be unable to insert values other than booleans into an IntervalValue, defined within types.py
I essentially run into this error upon hitting the following function:
obj_dict.update(**self._value.to_json())
AttributeError: 'int' object has no attribute 'to_json'
And another exception occurs as well
key = TYPE_MAPPING[type(self._value)]
KeyError: <class 'int'>
This is interesting because I am inserting a number '1' as the value, and json.dumps works on that number.
Now i noticed that TYPE_MAPPING is a dictionary defined at the top.
TYPE_MAPPING = {bool: "boolean"}
Obviously to circumvent the error, all one needs to do is insert the keys for int and/or float
Now my question is, is my integer and float type meant to fail? Does Cesium's interval values not accept intervalvalues of numbers apart from boolean values?
I am trying to create a time-varying width of polylines using the IntervalValues, considering that IntervalValues can accept BooleanValues. I would like to vary the width of the polylines between 1-5 dependent on another parameter in my simulation.
I am using Spyder 4.1.4, Python 3.7,7, My operating system is windows 10.
Here is the class in question
@attr.s(repr=False, frozen=True, kw_only=True)
class IntervalValue(BaseCZMLObject):
"""Value over some interval."""
_start = attr.ib()
_end = attr.ib()
_value = attr.ib()
def to_json(self):
obj_dict = {"interval": TimeInterval(start=self._start, end=self._end)}
try:
obj_dict.update(**self._value.to_json())
except AttributeError:
key = TYPE_MAPPING[type(self._value)]
obj_dict[key] = self._value
return obj_dict
(Copied from #44)
This already passes all the tests locally.
Things that will have to be reworked:
Things I removed and I'd like to bring back:
Things I'd like to review:
default=None
everywhere)isinstance
(we are inconsistently using positive and negative checks)__attrs_post_init__
but we could use @x.validator
instead http://www.attrs.org/en/stable/init.html#decorator)KNOWN_PROPERTIES
(can I iterate over attrs
properties now instead?)StripeOrientationValue
)Things I'd like to add in the future:
I am unable to get Label.pixelOffset to work with a list of x/y values.
I would expect it to work like this:
label=Label(pixelOffset=[5,5])
but instead I can only make it work like this:
label=Label( pixelOffset=dict([("cartesian2", [5, 5])]) )
>>> from czml3.properties import Color
>>> Color()
{}
>>> Color() == Color()
False
Should it be based on the representation, or the properties?
Good opportunity to try Azure pipelines? Or perhaps just Circle CI
There is no available arguments for polygon holes and polyline characteristics
Currently CZMLWidget uses the default Cesium Ion token. With every release of Cesium the old token will be invalidated, breaking old notebooks [citation needed](see CesiumGS/cesium#8433 (comment)). Afaik this token is only required to be able to access the imagery for the basemap via Cesium Ion.
Example notebook
screenshot:
possibles fixes
Related issues
From now on, it would be interesting to note somewhere what changed, for example a CHANGELOG.rst
, a docs/changelog.rst
, or something like https://github.com/hawkowl/towncrier.
Full context: poliastro/poliastro#1640
I don't see the need to archive czml3, we can transition that project.
There's a pending release and a couple of pull requests that need merging. Are there any volunteers to move this project forward?
Please explain your motivation, how you are currently using czml3, and what do you intend to do with it in the future.
I'm running poliastro ver. 0.13.0 on an iMacPro running Mac OS X ver. 10.14.6 under Python 3.7.3. In running the test,
python -c "import poliastro.testing; poliastro.testing.test()
I get error messages concerning test_czml_add_orbit and test_ground_station. I'm testing poliastro with the setup.cfg file in the anaconda3 directory disabled (i.e., renamed so as not to be used). czml3 was installed.
The output from the test is contained in the attached file.
Please advise.
Sam Dupree.
Color
, return a Color
Line 2 in 2d579c3
Hardly true anymore :)
I want to have more dynamic demos about czml files,if you can give me the Conversion process will be best, thanks, my email:[email protected]
The classes DeletableProperty
and InterpolatableProperty
define an initializer as well, and therefore need the super()
magic to call all the classes in the hierarchy. Apart from producing python/mypy#5887, it complicates the code, so it would be nice to find an alternative.
I see that the last release, 0.5.3, was about 10 months ago.
Since then there were many additions and fixes to Master
.
Would you please release a new version into PyPi
occasionally?
Thanks!
Please push a new version to PyPi. We want to obtain new changes in the master branch with pip. I can help with this if you give me access. Thanks.
Edit: See current status in this comment.
At the moment, czml3.widget.CZMLWidget
has a straightforward _repr_html_
that prints some HTML. However, this is not how custom widgets are supposed to be implemented [citation needed]
We should write our own custom Jupyter widget so it's compatible, at least, with modern JupyterLab.
Edit: Adding more information to this description for completeness
Rather than a JupyterLab extension, if I understand correctly we would need to create a custom Jupyter widget. Therefore, we should be using either https://github.com/jupyter-widgets/widget-cookiecutter (JavaScript, barebones) or https://github.com/jupyter-widgets/widget-ts-cookiecutter (TypeScript + bells & whistles), which are described in https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20Low%20Level.html
However, we should wait for the TypeScript one to be updated: jupyter-widgets/widget-ts-cookiecutter#83
These cookiecutters already make use of https://github.com/jupyter/jupyter-packaging.
For inspiration, we could also have a look at https://github.com/bloomberg/bqplot, https://github.com/jovyan/pythreejs, https://github.com/ellisonbg/ipyleaflet or https://github.com/matplotlib/ipympl.
With this and https://www.npmjs.com/package/c137.js shared by @TJKoury above, we should have everything we need already.
The czml3 package doesn't have a version. I propose Semantic Versioning: major.minor.patch.
Further, what should the current version be? 1.0.0 probably makes the most sense as it seems like czml3 is very much out of beta testing.
I'll do a PR once a decision has been made.
It would be useful to be able to define which tiles (bing maps, mapbox, esri, etc) to use when creating the widget.
Lines 24 to 27 in 2d579c3
🐞 Problem
Cesium widget has a full-scree button in the lower right hand corner. Pressing it should make the window go full screen, however it has a different behavior. It seems that it makes the entire Jupyter notebook full screen and sets the background outside of the notebook to be the same as a the widget. Screenshot below:
🖥 Please paste the output of following commands
Observed on both Chrome Version 80.0.3987.163 (Official Build) (64-bit) and Opera v67.0.3575.115 on Windows 10 Version 1909.
conda info -a
(only if you have conda)(poliastroprereqs-nopresintalled) C:\Users\IMDes>conda info -a
active environment : poliastroprereqs-nopresintalled
active env location : C:\Users\IMDes\Anaconda3\envs\poliastroprereqs-nopresintalled
shell level : 1
user config file : C:\Users\IMDes\.condarc
populated config files : C:\Users\IMDes\.condarc
conda version : 4.8.2
conda-build version : 3.18.9
python version : 3.7.4.final.0
virtual packages : __cuda=10.2
base environment : C:\Users\IMDes\Anaconda3 (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/win-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/win-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/msys2/win-64
https://repo.anaconda.com/pkgs/msys2/noarch
package cache : C:\Users\IMDes\Anaconda3\pkgs
C:\Users\IMDes\.conda\pkgs
C:\Users\IMDes\AppData\Local\conda\conda\pkgs
envs directories : C:\Users\IMDes\Anaconda3\envs
C:\Users\IMDes\.conda\envs
C:\Users\IMDes\AppData\Local\conda\conda\envs
platform : win-64
user-agent : conda/4.8.2 requests/2.22.0 CPython/3.7.4 Windows/10 Windows/10.0.18362
administrator : False
netrc file : None
offline mode : False
# conda environments:
#
base C:\Users\IMDes\Anaconda3
calc.py C:\Users\IMDes\Anaconda3\envs\calc.py
lowthrustsim C:\Users\IMDes\Anaconda3\envs\lowthrustsim
plasmapydev C:\Users\IMDes\Anaconda3\envs\plasmapydev
poliastropreinstalled C:\Users\IMDes\Anaconda3\envs\poliastropreinstalled
poliastroprereqs-nopresintalled * C:\Users\IMDes\Anaconda3\envs\poliastroprereqs-nopresintalled
sys.version: 3.7.4 (default, Aug 9 2019, 18:34:13) [...
sys.prefix: C:\Users\IMDes\Anaconda3
sys.executable: C:\Users\IMDes\Anaconda3\python.exe
conda location: C:\Users\IMDes\Anaconda3\lib\site-packages\conda
conda-build: C:\Users\IMDes\Anaconda3\Scripts\conda-build.exe
conda-convert: C:\Users\IMDes\Anaconda3\Scripts\conda-convert.exe
conda-debug: C:\Users\IMDes\Anaconda3\Scripts\conda-debug.exe
conda-develop: C:\Users\IMDes\Anaconda3\Scripts\conda-develop.exe
conda-env: C:\Users\IMDes\Anaconda3\Scripts\conda-env.exe
conda-index: C:\Users\IMDes\Anaconda3\Scripts\conda-index.exe
conda-inspect: C:\Users\IMDes\Anaconda3\Scripts\conda-inspect.exe
conda-metapackage: C:\Users\IMDes\Anaconda3\Scripts\conda-metapackage.exe
conda-render: C:\Users\IMDes\Anaconda3\Scripts\conda-render.exe
conda-server: C:\Users\IMDes\Anaconda3\Scripts\conda-server.exe
conda-skeleton: C:\Users\IMDes\Anaconda3\Scripts\conda-skeleton.exe
conda-verify: C:\Users\IMDes\Anaconda3\Scripts\conda-verify.exe
user site dirs:
AF_PATH: C:\Program Files\ArrayFire\v3
CIO_TEST: <not set>
CONDA_DEFAULT_ENV: poliastroprereqs-nopresintalled
CONDA_EXE: C:\Users\IMDes\Anaconda3\condabin\..\Scripts\conda.exe
CONDA_EXES: "C:\Users\IMDes\Anaconda3\condabin\..\Scripts\conda.exe"
CONDA_PREFIX: C:\Users\IMDes\Anaconda3\envs\poliastroprereqs-nopresintalled
CONDA_PROMPT_MODIFIER: (poliastroprereqs-nopresintalled)
CONDA_PYTHON_EXE: C:\Users\IMDes\Anaconda3\python.exe
CONDA_ROOT: C:\Users\IMDes\Anaconda3
CONDA_SHLVL: 1
CUDA_PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
GOPATH: C:\Users\IMDes\go
HOMEPATH: \Users\IMDes
NVTOOLSEXT_PATH: C:\Program Files\NVIDIA Corporation\NvToolsExt\
PATH: C:\Users\IMDes\Anaconda3;C:\Users\IMDes\Anaconda3\Library\mingw-w64\bin;C:\Users\IMDes\Anaconda3\Library\usr\bin;C:\Users\IMDes\Anaconda3\Library\bin;C:\Users\IMDes\Anaconda3\Scripts;C:\Users\IMDes\Anaconda3\bin;C:\Users\IMDes\Anaconda3\envs\poliastroprereqs-nopresintalled;C:\Users\IMDes\Anaconda3\envs\poliastroprereqs-nopresintalled\Library\mingw-w64\bin;C:\Users\IMDes\Anaconda3\envs\poliastroprereqs-nopresintalled\Library\usr\bin;C:\Users\IMDes\Anaconda3\envs\poliastroprereqs-nopresintalled\Library\bin;C:\Users\IMDes\Anaconda3\envs\poliastroprereqs-nopresintalled\Scripts;C:\Users\IMDes\Anaconda3\envs\poliastroprereqs-nopresintalled\bin;C:\Users\IMDes\Anaconda3\condabin;C:\Users\IMDes\Anaconda3;C:\Users\IMDes\Anaconda3\Library\mingw-w64\bin;C:\Users\IMDes\Anaconda3\Library\usr\bin;C:\Users\IMDes\Anaconda3\Library\bin;C:\Users\IMDes\Anaconda3\Scripts;C:\Python27;C:\Python27\Scripts;C:\Program Files\Haskell\bin;C:\Program Files\Haskell Platform\8.6.5\lib\extralibs\bin;C:\Program Files\Haskell Platform\8.6.5\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\libnvvp;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Wolfram Research\WolframScript;C:\Program Files\Intel\WiFi\bin;C:\Program Files\Common Files\Intel\WirelessCommon;C:\WINDOWS\System32\OpenSSH;C:\Program Files\MATLAB\R2019b\bin;C:\TDM-GCC-64\bin;C:\Program Files\Microsoft SQL Server\120\Tools\Binn;C:\Program Files\PuTTY;C:\Program Files\NVIDIA Corporation\Nsight Compute 2019.5.0;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Haskell Platform\8.6.5\mingw\bin;C:\Program Files\nodejs;C:\ProgramData\chocolatey\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\CMake\bin;C:\Go\bin;C:\Gcc64\bin;C:\Users\IMDes\AppData\Roaming\cabal\bin;C:\Users\IMDes\AppData\Roaming\local\bin;C:\Users\IMDes\.cargo\bin;C:\Users\IMDes\AppData\Local\Microsoft\WindowsApps;C:\Users\IMDes\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\IMDes\AppData\Local\GitHubDesktop\bin;C:\Program Files\ArrayFire\v3\lib;C:\Users\IMDes\AppData\Local\Programs\MiKTeX 2.9\miktex\bin\x64;C:\Program Files\JetBrains\PyCharm 2019.3.1\bin;.;C:\Users\IMDes\AppData\Roaming\npm;C:\Users\IMDes\AppData\Local\Box\Box Edit;C:\Users\IMDes\go\bin
PSMODULEPATH: C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
REQUESTS_CA_BUNDLE: <not set>
SSL_CERT_FILE: <not set>
VBOX_MSI_INSTALL_PATH: C:\Program Files\Oracle\VirtualBox\
conda list
(only if you have conda)(poliastroprereqs-nopresintalled) C:\Users\IMDes>conda list
# packages in environment at C:\Users\IMDes\Anaconda3\envs\poliastroprereqs-nopresintalled:
#
# Name Version Build Channel
appdirs 1.4.3 pypi_0 pypi
asn1crypto 1.3.0 py38_0
astropy 4.0 pypi_0 pypi
astroquery 0.4 pypi_0 pypi
atomicwrites 1.3.0 py_0
attrs 19.3.0 py_0
backcall 0.1.0 py38_0
beautifulsoup4 4.8.2 pypi_0 pypi
blas 1.0 mkl
bleach 3.1.0 py_0
ca-certificates 2020.1.1 0
certifi 2019.11.28 py38_1
cffi 1.14.0 py38h7a1dbc1_0
chardet 3.0.4 py38_1003
colorama 0.4.3 py_0
console_shortcut 0.1.1 4
cryptography 2.8 py38h7a1dbc1_0
cycler 0.10.0 py38_0
czml3 0.5.3 pypi_0 pypi
decorator 4.4.2 py_0
defusedxml 0.6.0 py_0
distlib 0.3.0 pypi_0 pypi
entrypoints 0.3 py38_0
filelock 3.0.12 pypi_0 pypi
freetype 2.9.1 ha9979f8_1
html5lib 1.0.1 pypi_0 pypi
icc_rt 2019.0.0 h0cc432a_1
icu 58.2 ha66f8fd_1
idna 2.9 py_1
importlib_metadata 1.5.0 py38_0
intel-openmp 2020.0 166
ipykernel 5.1.4 py38h39e3cac_0
ipython 7.13.0 py38h5ca1d4c_0
ipython_genutils 0.2.0 py38_0
jedi 0.16.0 py38_0
jinja2 2.11.1 py_0
jpeg 9b hb83a4c4_2
json5 0.9.4 py_0
jsonschema 3.2.0 py38_0
jupyter_client 5.3.4 py38_0
jupyter_core 4.6.1 py38_0
jupyterlab 1.2.6 pyhf63ae98_0
jupyterlab_server 1.1.0 py_0
keyring 21.1.1 pypi_0 pypi
kiwisolver 1.0.1 py38ha925a31_0
libpng 1.6.37 h2a8f88b_0
libsodium 1.0.16 h9d3ae62_0
llvmlite 0.31.0 py38ha925a31_0
m2w64-gcc-libgfortran 5.3.0 6
m2w64-gcc-libs 5.3.0 7
m2w64-gcc-libs-core 5.3.0 7
m2w64-gmp 6.1.0 2
m2w64-libwinpthread-git 5.0.0.4634.697f757 2
markupsafe 1.1.1 py38he774522_0
matplotlib 3.1.3 py38_0
matplotlib-base 3.1.3 py38h64f37c6_0
mistune 0.8.4 py38he774522_1000
mkl 2020.0 166
mkl-service 2.3.0 py38hb782905_0
mkl_fft 1.0.15 py38h14836fe_0
mkl_random 1.1.0 py38hf9181ef_0
more-itertools 8.2.0 py_0
msys2-conda-epoch 20160418 1
nbconvert 5.6.1 py38_0
nbformat 5.0.4 py_0
notebook 6.0.3 py38_0
numba 0.48.0 py38h47e9c7a_0
numpy 1.18.1 pypi_0 pypi
numpy-base 1.18.1 py38hc3f5095_1
openssl 1.1.1f he774522_0
packaging 20.3 py_0
pandas 1.0.1 py38h47e9c7a_0
pandoc 2.2.3.2 0
pandocfilters 1.4.2 py38_1
parso 0.6.1 py_0
pickleshare 0.7.5 py38_1000
pip 20.0.2 py38_1
plotly 4.5.2 py_0
pluggy 0.13.1 py38_0
prometheus_client 0.7.1 py_0
prompt_toolkit 3.0.3 py_0
py 1.8.1 py_0
pycparser 2.20 py_0
pygments 2.5.2 py_0
pyopenssl 19.1.0 py38_0
pyparsing 2.4.6 py_0
pyqt 5.9.2 py38ha925a31_4
pyrsistent 0.15.7 py38he774522_0
pysocks 1.7.1 py38_0
pytest 5.3.5 py38_0
python 3.8.1 h5fd99cc_8_cpython
python-dateutil 2.8.1 py_0
pytz 2019.3 py_0
pywin32 227 py38he774522_1
pywin32-ctypes 0.2.0 pypi_0 pypi
pywinpty 0.5.7 py38_0
pyzmq 18.1.1 py38ha925a31_0
qt 5.9.7 vc14h73c81de_0
qtconsole 4.7.1 py_0
qtpy 1.9.0 py_0
requests 2.23.0 py38_0
retrying 1.3.3 py_2
scipy 1.4.1 py38h9439919_0
send2trash 1.5.0 py38_0
setuptools 46.0.0 py38_0
sip 4.19.13 py38ha925a31_0
six 1.14.0 py38_0
soupsieve 2.0 pypi_0 pypi
sqlite 3.31.1 he774522_0
tbb 2020.0 h74a9793_0
terminado 0.8.3 py38_0
testpath 0.4.4 py_0
toml 0.10.0 pypi_0 pypi
tornado 6.0.4 py38he774522_1
tox 3.14.6 pypi_0 pypi
traitlets 4.3.3 py38_0
urllib3 1.25.8 py38_0
vc 14.1 h0510ff6_4
virtualenv 20.0.14 pypi_0 pypi
vs2015_runtime 14.16.27012 hf0eaf9b_1
w3lib 1.21.0 pypi_0 pypi
wcwidth 0.1.8 py_0
webencodings 0.5.1 py38_1
wheel 0.34.2 py38_0
win_inet_pton 1.1.0 py38_0
wincertstore 0.2 py38_0
winpty 0.4.3 4
zeromq 4.3.1 h33f27b4_3
zipp 2.2.0 py_0
zlib 1.2.11 h62dcd97_3
pip freeze
(poliastroprereqs-nopresintalled) C:\Users\IMDes>pip freeze
appdirs==1.4.3
asn1crypto==1.3.0
astropy==4.0
astroquery==0.4
atomicwrites==1.3.0
attrs==19.3.0
backcall==0.1.0
beautifulsoup4==4.8.2
bleach==3.1.0
certifi==2019.11.28
cffi==1.14.0
chardet==3.0.4
colorama==0.4.3
cryptography==2.8
cycler==0.10.0
czml3==0.5.3
decorator==4.4.2
defusedxml==0.6.0
distlib==0.3.0
entrypoints==0.3
filelock==3.0.12
html5lib==1.0.1
idna==2.9
importlib-metadata==1.5.0
ipykernel==5.1.4
ipython==7.13.0
ipython-genutils==0.2.0
jedi==0.16.0
Jinja2==2.11.1
json5==0.9.4
jsonschema==3.2.0
jupyter-client==5.3.4
jupyter-core==4.6.1
jupyterlab==1.2.6
jupyterlab-server==1.1.0
keyring==21.1.1
kiwisolver==1.0.1
llvmlite==0.31.0
MarkupSafe==1.1.1
matplotlib==3.1.3
mistune==0.8.4
mkl-fft==1.0.15
mkl-random==1.1.0
mkl-service==2.3.0
more-itertools==8.2.0
nbconvert==5.6.1
nbformat==5.0.4
notebook==6.0.3
numba==0.48.0
numpy==1.18.1
packaging==20.3
pandas==1.0.1
pandocfilters==1.4.2
parso==0.6.1
pickleshare==0.7.5
plotly==4.5.2
pluggy==0.13.1
prometheus-client==0.7.1
prompt-toolkit==3.0.3
py==1.8.1
pycparser==2.20
Pygments==2.5.2
pyOpenSSL==19.1.0
pyparsing==2.4.6
pyrsistent==0.15.7
PySocks==1.7.1
pytest==5.3.5
python-dateutil==2.8.1
pytz==2019.3
pywin32==227
pywin32-ctypes==0.2.0
pywinpty==0.5.7
pyzmq==18.1.1
qtconsole==4.7.1
QtPy==1.9.0
requests==2.23.0
retrying==1.3.3
scipy==1.4.1
Send2Trash==1.5.0
sip==4.19.13
six==1.14.0
soupsieve==2.0
terminado==0.8.3
testpath==0.4.4
toml==0.10.0
tornado==6.0.4
tox==3.14.6
traitlets==4.3.3
urllib3==1.25.8
virtualenv==20.0.14
w3lib==1.21.0
wcwidth==0.1.8
webencodings==0.5.1
win-inet-pton==1.1.0
wincertstore==0.2
zipp==2.2.0
Code to reproduce:
from poliastro.examples import molniya, iss
from poliastro.czml.extract_czml import CZMLExtractor
from czml3.widget import CZMLWidget
from czml3.core import Document
start_epoch = iss.epoch
end_epoch = iss.epoch + molniya.period
N = 10
extractor = CZMLExtractor(start_epoch, end_epoch, N)
extractor.add_orbit(molniya, label_text="Molniya")
extractor.add_orbit(iss, label_text="ISS")
with open('play.czml', 'w') as f:
for l in extractor.packets:
f.write(l.__str__())
d = extractor.get_document()
CZMLWidget(d)
Another note:
The missing Earth map in the screenshot is fixed by changing to a different map skin. I think this is due to some subscription access or something. That issue is not related to this issue (as far as I know).
https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/CZML-Structure#intervals
Properties can be
Notice that the rules above apply to sub-properties as well.
This is because the id
of the <div>
is always the same:
Line 7 in 7b8ba68
I need a geo objects base library under my applications and decided to go for https://pypi.org/project/geojson/
czml3 then would be pretty much an output converter for geojson objects similar to dumps()
I wonder if there is any point in leveraging on the geointerface protocol
my current thinking would be to sublcass geojson objects and add a to_czml() method therein.
Making sense? is there a better approach?
For more info: https://github.com/github/renaming
I know this is controversial, and nobody asked for it (yet). Still, I went ahead and unilaterally made the change, to avoid more pain in the future.
This issue is just to notify everyone, please adjust your local environments accordingly:
git branch -m master main
git fetch origin
git branch -u origin/main main
Regardless of whether I like this or not, (1) it's a debate that is not going away, and it will hit every project sooner or later, and (2) I will keep doing things I consider are important and impactful to make the tech industry and the open source universe more welcoming to others, as I've been doing for almost a decade now, and encourage others to do the same.
The open source universe has a diversity, inclusion and representation problem, and we have the moral obligation to fix it. This is just a baby step in that direction. The battle doesn't end here.
When trying to reproduce this example:
I get an error:
>>> from czml3 import Packet
>>> Packet(point=...)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: __init__() got an unexpected keyword argument 'point'
because in #25 we forgot to add point
to the list of expected properties:
Lines 39 to 71 in afe4b83
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.