{
"info": {
"author": "Sean Gillies",
"author_email": "sean.gillies@gmail.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 6 - Mature",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Topic :: Scientific/Engineering :: GIS"
],
"description": "Keytree\n=======\n\nKeytree provides functions for reading and writing KML using the ElementTree\nAPI. \n\nReading KML\n-----------\n\nKML Placemark elements can be adapted to the Python geo interface and then used\nwith packages like Shapely_::\n\n >>> data = \"\"\"\n ... \n ... \n ... \n ... point\n ... Point test\n ... \n ... \n ... -122.364383,37.824664,0\n ... \n ... \n ... \n ... \n ... \n ... \"\"\"\n >>> from xml.etree import ElementTree\n >>> doc = ElementTree.fromstring(data)\n >>> kmlns = doc.tag.split('}')[0][1:]\n >>> placemarks = doc.findall('*/{%s}Placemark' % kmlns)\n >>> p0 = placemarks[0]\n >>> import keytree\n >>> f = keytree.feature(p0)\n >>> print f.id, f.properties.name, f.properties.snippet\n pm_1, point, Point test\n >>> \n >>> from shapely.geometry import shape\n >>> s = shape(f.geometry)\n >>> print s.buffer(1.5).exterior.length\n 9.4209934708642571\n\nWriting KML\n-----------\n\nObjects that provide the Python geo interface can also be converted to\nElementTree API Elements::\n\n >>> f = {\n ... 'id': 'pm_2', \n ... 'geometry': {\n ... 'type': 'Point', \n ... 'coordinates': (-122.364383, 37.824663999999999) },\n ... 'properties': {\n ... 'title': 'Feature 2', \n ... 'description': 'The second feature', }\n\nThe first argument to the keytree.element function is an XML context, the\ncreated element will have the same namespace as that element::\n\n >>> data = \"\"\"\n ... \n ... \n ... \n ... \n ... \"\"\"\n >>> doc = ElementTree.fromstring(data)\n >>> elem = element(doc, f)\n >>> print elem\n \n >>> pprint(list(elem))\n [,\n ,\n ,\n ]\n\nThe created element is not automatically added to the KML context and must be\nappended to its proper Document or Folder::\n\n >>> doc[0].append(elem)\n >>> print etree.tostring(doc)\n \n \n \n Number 2\n Placemark number 2\n \n \n 0.000000,0.000000,0.0\n \n \n \n \n\nKML Helpers\n-----------\n\nThe keytree.kml module contains a few useful utility functions::\n\n >>> from keytree.kml import kml_ns, findall_placemarks\n >>> print kml_ns(doc)\n {http://www.opengis.net/kml/2.2}\n >>> findall_placemarks(doc)\n []\n\n.. _Shapely: http://pypi.python.org/pypi/Shapely\n\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/Toblerity/keytree",
"keywords": "KML etree ElementTree",
"license": "BSD",
"maintainer": "",
"maintainer_email": "",
"name": "keytree",
"package_url": "https://pypi.org/project/keytree/",
"platform": "",
"project_url": "https://pypi.org/project/keytree/",
"project_urls": {
"Homepage": "https://github.com/Toblerity/keytree"
},
"release_url": "https://pypi.org/project/keytree/1.0.0/",
"requires_dist": null,
"requires_python": "",
"summary": "KML utilities for the ElementTree API",
"version": "1.0.0"
},
"last_serial": 5225936,
"releases": {
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "2b75f82071a4dfe6fafc959180947995",
"sha256": "01e754fc5776b226ac2d065ecb5d8721730b13ffd3ca29cb8475ad0856772c76"
},
"downloads": -1,
"filename": "keytree-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "2b75f82071a4dfe6fafc959180947995",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6820,
"upload_time": "2009-04-05T06:32:20",
"url": "https://files.pythonhosted.org/packages/6b/fc/fbf9c2dbe122e6c096e400e47eaed35c2b217faa82b77690375f0aac7e47/keytree-0.2.1.tar.gz"
}
],
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "3f2feaafef3400bd610c0f88163fecab",
"sha256": "27f6fdbe8ebe2b1d8177e89b9f4ad70ea7a176983bded9d42119c3399c61014a"
},
"downloads": -1,
"filename": "keytree-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3f2feaafef3400bd610c0f88163fecab",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8658,
"upload_time": "2019-05-04T15:48:44",
"url": "https://files.pythonhosted.org/packages/7b/ec/04a819dc579441b6dcfe6d38c578da0d138e6c1da5dd7959a4023661bcd1/keytree-1.0.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f1058d59a3e6dbcf8f575e07870c2d13",
"sha256": "6f59d426182d4b59238c3b77cdded8359bc74068fc6cf7b6b7de677b50cf3280"
},
"downloads": -1,
"filename": "keytree-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "f1058d59a3e6dbcf8f575e07870c2d13",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6852,
"upload_time": "2019-05-04T15:48:45",
"url": "https://files.pythonhosted.org/packages/71/de/640534f6c358bb5abcabad4954b522926bb6140a699f795f3fd02fe47e12/keytree-1.0.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "3f2feaafef3400bd610c0f88163fecab",
"sha256": "27f6fdbe8ebe2b1d8177e89b9f4ad70ea7a176983bded9d42119c3399c61014a"
},
"downloads": -1,
"filename": "keytree-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3f2feaafef3400bd610c0f88163fecab",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8658,
"upload_time": "2019-05-04T15:48:44",
"url": "https://files.pythonhosted.org/packages/7b/ec/04a819dc579441b6dcfe6d38c578da0d138e6c1da5dd7959a4023661bcd1/keytree-1.0.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "f1058d59a3e6dbcf8f575e07870c2d13",
"sha256": "6f59d426182d4b59238c3b77cdded8359bc74068fc6cf7b6b7de677b50cf3280"
},
"downloads": -1,
"filename": "keytree-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "f1058d59a3e6dbcf8f575e07870c2d13",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6852,
"upload_time": "2019-05-04T15:48:45",
"url": "https://files.pythonhosted.org/packages/71/de/640534f6c358bb5abcabad4954b522926bb6140a699f795f3fd02fe47e12/keytree-1.0.0.tar.gz"
}
]
}