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.python.org/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)]
############
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.python.org/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
Release history Release notifications | RSS feed
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 hashes)