{ "info": { "author": "Paul Woods", "author_email": "paul@skytruth.org", "bugtrack_url": null, "classifiers": [], "description": "Vector Tile Tools\n=================\nA set of classes for managing tiles of geospatial vector data\n\n![Build Status](https://travis-ci.org/SkyTruth/vectortile.svg)\n\n\nInstallation and Unittests\n--------------------------\nInstall via pip:\n\n pip install vectortile\n\nSource:\n \n $ git clone https://github.com/SkyTruth/vectortile.git\n $ cd vectortile\n $ pip install -r requirements.txt\n $ nosetests\n $ python setup.py install\n\n\nTypedMatrix\n-----------\nTypedMatrix is a binary coded format optimized for delivering large amounts of\ntabular data from a web server to a javascript client without the need for\nparsing in javascript on the client side.\n\nThe vectortile.TypedMatrix module provides functions to read and write\ntyped-matrix formatted strings.\n\n\n### Format Details ###\nA TypedMatrix is a packed 2 dimensional array of typed values suitable for\ntypecasting to a set of javascript arrays. Currently two fundamental data\ntypes are supported:\n\n- Int32\n- Float32\n\nSpecial handling is provided for converting datetime values to Float32. The\nformat includes a header containing a json object, which can contain arbitrary\ncontent. The header must contain at least:\n\n- length: indicated the number of rows in the data section\n- cols: an array of column definitions. The length of this array indicates the number of columns in each row\n\nFor example, a TypedMatrix with 2 rows and 3 columns:\n\n {\n 'length': 2,\n 'cols': [\n {\n 'type': 'Float32',\n 'name': 'float'\n },\n {\n 'type': 'Int32',\n 'name': 'int'\n },\n {\n 'type': 'Float32',\n 'name': 'timestamp'\n }\n ]\n }\n\n\n### Usage Examples ###\n\n >>> from vectortile import TypedMatrix\n >>> from datetime import datetime\n >>> from pprint import pprint\n\n # Create two rows of 3 columns each: int, float and datetime\n >>> data = [{'int':1, 'float':1.0, 'timestamp': datetime(2014,1,1)}]\n >>> data.append ({'int':2, 'float':2.0, 'timestamp':datetime(2014,1,2)})\n >>> t_str = TypedMatrix.pack(data)\n\n # Typedmatrix is now coded as a binary string, packed row-wise\n >>> t_str\n 'tmtx\\x01\\x00\\x00\\x00r\\x89\\x00\\x00\\x00{\"length\": 2, \"cols\": [{\"type\": \"Float32\", \"name\": \"float\"}, {\"type\": \"Int32\", \"name\": \"int\"}, {\"type\": \"Float32\", \"name\": \"timestamp\"}]}\\x00\\x00\\x80?\\x01\\x00\\x00\\x00\\x8d\\xa5\\xa1S\\x00\\x00\\x00@\\x02\\x00\\x00\\x00 \\xa8\\xa1S'\n \n >>> header, data = TypedMatrix.unpack(t_str)\n >>> pprint(header)\n {\n 'cols': [\n {\n 'name': 'float',\n 'type': 'Float32'\n },\n {\n 'name': 'int',\n 'type': 'Int32'\n },\n {\n 'name': 'timestamp',\n 'type': 'Float32'\n }\n ],\n 'length': 2\n }\n \n >>> pprint(data)\n [\n {\n 'float': 1.0,\n 'int': 1,\n 'timestamp': 1388534431744.0\n },\n {\n 'float': 2.0,\n 'int': 2,\n 'timestamp': 1388620808192.0\n }\n ]\n\n # Pack data column-wise\n >>> TypedMatrix.pack(data,orientation='columnwise')\n 'tmtx\\x01\\x00\\x00\\x00c\\x89\\x00\\x00\\x00{\"length\": 2, \"cols\": [{\"type\": \"Float32\", \"name\": \"float\"}, {\"type\": \"Int32\", \"name\": \"int\"}, {\"type\": \"Float32\", \"name\": \"timestamp\"}]}\\x00\\x00\\x80?\\x00\\x00\\x00@\\x01\\x00\\x00\\x00\\x02\\x00\\x00\\x00\\x8d\\xa5\\xa1S \\xa8\\xa1S'\n \n >>> header, data = TypedMatrix.unpack(t_str)\n >>> pprint(header)\n {\n 'cols': [\n {\n 'name': 'float',\n 'type': 'Float32'\n },\n {\n 'name': 'int',\n 'type': 'Int32'\n },\n {\n 'name': 'timestamp',\n 'type': 'Float32'\n }\n ],\n 'length': 2\n }\n \n >>> pprint(data)\n [\n {\n 'float': 1.0,\n 'int': 1,\n 'timestamp': 1388534431744.0\n },\n {\n 'float': 2.0,\n 'int': 2,\n 'timestamp': 1388620808192.0\n }\n ]\n\n\n### Javascript Example ###\nSee [data-visualization-tools](https://github.com/SkyTruth/data-visualization-tools)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SkyTruth/vectortile", "keywords": null, "license": "The MIT License (MIT)\n\nCopyright (c) 2014 SkyTruth\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.", "maintainer": null, "maintainer_email": null, "name": "vectortile", "package_url": "https://pypi.org/project/vectortile/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/vectortile/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/SkyTruth/vectortile" }, "release_url": "https://pypi.org/project/vectortile/1.3.3/", "requires_dist": null, "requires_python": null, "summary": "A set of classes for managing tiles of geospatial vector data", "version": "1.3.3" }, "last_serial": 1535211, "releases": { "1.2.2": [ { "comment_text": "", "digests": { "md5": "c88aecf3243110520744e73782ee3532", "sha256": "ffbb2a06f9e3994520cbba6afe01b8b82e584639f32fc606ee3d6630841dddb1" }, "downloads": -1, "filename": "vectortile-1.2.2.tar.gz", "has_sig": false, "md5_digest": "c88aecf3243110520744e73782ee3532", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6799, "upload_time": "2014-08-27T11:24:52", "url": "https://files.pythonhosted.org/packages/5a/cd/4441ecab928db486c558c38521bf45a46e429d535b39da53b24b3441ff0e/vectortile-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "137357c07cfc5dc66c9578d348fda32b", "sha256": "b80596d6848200803fd871dd588a50e0227e60bab5fe594b11da8f41f28fe07c" }, "downloads": -1, "filename": "vectortile-1.2.3.tar.gz", "has_sig": false, "md5_digest": "137357c07cfc5dc66c9578d348fda32b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6803, "upload_time": "2014-08-27T11:54:07", "url": "https://files.pythonhosted.org/packages/b5/2e/f8e7c21e9c9ca487c86e94e678994b583188fb00c90256217ff3efa58cec/vectortile-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "ff099b12b1e608bd87a7d982e864ccb2", "sha256": "73fb326a939ca7f965b65043bf88688bea69e782547846c919bcdfca785cccc9" }, "downloads": -1, "filename": "vectortile-1.2.4.tar.gz", "has_sig": false, "md5_digest": "ff099b12b1e608bd87a7d982e864ccb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6772, "upload_time": "2014-08-29T15:40:03", "url": "https://files.pythonhosted.org/packages/9d/16/773385e6f2615e21306a23103ff13116502235472bb99b653e414bd8bbc9/vectortile-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "43b871a5c2a7ff8d80d1bb4f655ef92a", "sha256": "6843872c20f8b28700187a0267d749f29cb209d117333b5d69562148a693bd29" }, "downloads": -1, "filename": "vectortile-1.2.5.tar.gz", "has_sig": false, "md5_digest": "43b871a5c2a7ff8d80d1bb4f655ef92a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9309, "upload_time": "2014-09-10T09:41:40", "url": "https://files.pythonhosted.org/packages/49/46/c38bd9bd06e07517e7f39df29523f9fdad0438c4a9919422398f739f1c40/vectortile-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "9156e7d7c9012b38c37e9aae181cd894", "sha256": "fb8538f511a3070b48c74970425bb9de7444181e150b9dfb5d2fa97d5a494253" }, "downloads": -1, "filename": "vectortile-1.2.6.tar.gz", "has_sig": false, "md5_digest": "9156e7d7c9012b38c37e9aae181cd894", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9324, "upload_time": "2014-09-10T09:44:49", "url": "https://files.pythonhosted.org/packages/86/4a/2af7ce79b35d07bfb65f36c5c1c3f67a4e65a0e65a40daf13738d96609c0/vectortile-1.2.6.tar.gz" } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "8e02f7ad1541ac2db7cda11608ff8b2c", "sha256": "72dc0339c6139a2d631520baca479f06328597459c0e4fe62d6d49c862516a72" }, "downloads": -1, "filename": "vectortile-1.2.8.tar.gz", "has_sig": false, "md5_digest": "8e02f7ad1541ac2db7cda11608ff8b2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9316, "upload_time": "2014-09-10T09:54:23", "url": "https://files.pythonhosted.org/packages/e6/21/e1136a5c0809922a7b33b498c2ef96fb9256b750ccb0669ea59320250ccc/vectortile-1.2.8.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "8b9edceacae12d0ba97957dc3a7d7d0d", "sha256": "ba24f03b925bcc19bb49510074aebbac2676fe85d26d85e886a6150e4d0d8297" }, "downloads": -1, "filename": "vectortile-1.3.0.tar.gz", "has_sig": false, "md5_digest": "8b9edceacae12d0ba97957dc3a7d7d0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9486, "upload_time": "2014-10-22T11:10:00", "url": "https://files.pythonhosted.org/packages/07/46/3955c7fca5593abc9ddf415778af1a62f635d34a3e3c4b4567477aa46a45/vectortile-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "efcca7cd67081a16c45a1d4afe7376ef", "sha256": "c98693df178bf918b52bbe563c4abb755b192b24fed89e42a99972d052bcfe94" }, "downloads": -1, "filename": "vectortile-1.3.1.tar.gz", "has_sig": false, "md5_digest": "efcca7cd67081a16c45a1d4afe7376ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9286, "upload_time": "2014-12-11T12:59:39", "url": "https://files.pythonhosted.org/packages/83/06/05b8a01707b05aaa06323903af618e51f0895509d270774ebcc3976035d4/vectortile-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "1343acc937b387948f7c89c1dacb8893", "sha256": "0931617c1e6d52b8705362e75b9f04b78d377ebe2b723ee86554c0636680cec8" }, "downloads": -1, "filename": "vectortile-1.3.2.tar.gz", "has_sig": false, "md5_digest": "1343acc937b387948f7c89c1dacb8893", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9425, "upload_time": "2014-12-16T09:38:10", "url": "https://files.pythonhosted.org/packages/93/23/2cf480944c01a66fbb26fd0749ae57f8310a6c5de1a3e1a75f500848b7a9/vectortile-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "dd873d6b0d862b5a79121211b0a5a1c8", "sha256": "4bf53797013183df04dcbea2f6d255dc3db2f6a03ff998f1a30feafe8bbc55c9" }, "downloads": -1, "filename": "vectortile-1.3.3.tar.gz", "has_sig": false, "md5_digest": "dd873d6b0d862b5a79121211b0a5a1c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9419, "upload_time": "2015-05-06T08:13:08", "url": "https://files.pythonhosted.org/packages/69/8a/f4e8eac2d64c48f1b308a387054883894074d925c6869361d84912f6d38e/vectortile-1.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dd873d6b0d862b5a79121211b0a5a1c8", "sha256": "4bf53797013183df04dcbea2f6d255dc3db2f6a03ff998f1a30feafe8bbc55c9" }, "downloads": -1, "filename": "vectortile-1.3.3.tar.gz", "has_sig": false, "md5_digest": "dd873d6b0d862b5a79121211b0a5a1c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9419, "upload_time": "2015-05-06T08:13:08", "url": "https://files.pythonhosted.org/packages/69/8a/f4e8eac2d64c48f1b308a387054883894074d925c6869361d84912f6d38e/vectortile-1.3.3.tar.gz" } ] }