Skip to main content

Read and write CZML in Python

Project description

Introduction
############

This is an open source python library to read and write CZML_ files for Cesium_, the WebGL Earth modeling engine.

.. _CZML: https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/CZML-Guide
.. _Cesium: http://cesiumjs.org/

Requirements
------------

* pygeoif: https://github.com/cleder/pygeoif
* pytz: https://pypi-hypernode.com/pypi/pytz

Tests
-----

To run the tests (in the czml directory)::

> python setup.py test

czml is continually tested with *Travis CI*

.. image:: https://api.travis-ci.org/cleder/czml.png
:target: https://travis-ci.org/cleder/czml

.. image:: https://coveralls.io/repos/cleder/czml/badge.png?branch=master
:target: https://coveralls.io/r/cleder/czml?branch=master

Usage and Examples
------------------

**Reading CZML**

Reading a CZML file into a mutable document object can be done by initializing a CZML document and then reading the file's contents into the `loads()` method on the document, like so::

# Import the library
from czml import czml

# Read an existing CZML file
filename = 'example.czml'
with open(filename, 'r') as example:
doc = czml.CZML()
doc.loads(example.read())

**Writing CZML**

The general approach to writing CZML with this python library is to define a document object, define packets and append them to the document, and then write the document to a file using the `write()` method::

# Import the library
from czml import czml

# Initialize a document
doc = czml.CZML()

# Create and append the document packet
packet1 = czml.CZMLPacket(id='document',version='1.0')
doc.packets.append(packet1)

# Create and append a billboard packet
packet2 = czml.CZMLPacket(id='billboard')
bb = czml.Billboard(scale=0.7, show=True)
bb.image = 'http://localhost/img.png'
bb.color = {'rgba': [0, 255, 127, 55]}
packet2.billboard = bb
doc.packets.append(packet2)

# Write the CZML document to a file
filename = "example.czml"
doc.write(filename)

Supported CZML Components
-------------------------

The components in this library are developed to follow the `CZML Content documentation`_. Supported components and subcomponents are listed in `docs/COMPONENTS.md`_.

.. _CZML Content documentation: https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/Packet
.. _docs/COMPONENTS.md: https://github.com/cleder/czml/blob/master/docs/COMPONENTS.md

v 0.3.3 (2016-11-30)
-------------------

- Added support for outlineWidth on polygons and ellipses [Christopher Clark (Frencil)]
- Allow passing references [Tim O'Shea (osh)]
- Allow passing kwargs to dumps [Tim O'Shea (osh)]

v 0.3.2 (2015/03/23)
--------------------

- Added czml.write() method
- Updated broken write example in README to use write() method
- Added read example to README
- Cleaned up some of the framework (load/data/init) methods for CZMLPacket and others

v 0.3.1 (2015/03/19)
--------------------

- Added usage example to README
- Added docs/COMPONENTS.md
- Minor cleanup from 0.3 release

v 0.3 (2015/03/09)
------------------

- Replace VertexPositions with Positions [Christopher Clark (Frencil)]
- Rebuild two-dimensional object classes and tests for current CZML [Christopher Clark (Frencil)]
- Add/update all documented material subclasses (Grid, Image, Stripe, SolidColor, PolylineGlow, PolylineOutline) [Christopher Clark (Frencil)]
- Add document object support (including version and Clock) [Christopher Clark (Frencil)]
- Restrict support to Python 2.7 and 3.3+ [Christopher Clark (Frencil)]


v 0.2 (unreleased)
------------------
- Fixed bug in the Number class [Carl Fischer (Carl4)]
- Add Radii, Orientation, Path, Ellipsoid, Cone, Ellipse [Carl Fischer (Carl4)]


v 0.1 (2013/04/05)
------------------

- Initial release [Christian Lederman (cleder)]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

czml-0.3.3.tar.gz (31.0 kB view details)

Uploaded Source

File details

Details for the file czml-0.3.3.tar.gz.

File metadata

  • Download URL: czml-0.3.3.tar.gz
  • Upload date:
  • Size: 31.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for czml-0.3.3.tar.gz
Algorithm Hash digest
SHA256 ed14e24852082c71a19ec8e8ebe35cf838ab54df4886d4f68294f609b126347a
MD5 555778c6f014fee06c9851207e04d53d
BLAKE2b-256 d986910f69a4b9dd4421c4ce0b9ee1f95380b88517202b63ba201af74f227515

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page