{ "info": { "author": "Kristian Evers", "author_email": "kristianevers@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: ISC License (ISCL)", "Topic :: Scientific/Engineering :: GIS", "Topic :: Utilities" ], "description": "kvadratnet\n==========\n\nKvadratnet is a set of tools that makes working with the Danish\nKvadratnet easier.\n\n|Build Status| |Coverage Status|\n\nIntroduction\n------------\n\nThe Danish Kvadratnet is a geographical tiling scheme based on UTM\ncoordinates. The tiling scheme is a national standard for dividing\nnation-wide geographical datasets into smaller pieces.\n\nThe Danish Kvadratnet was originally created as a collaboration between\n`Statistics Denmark `__ and the `National Survey and\nCadastre of Denmark `__ as a static administrative\ngeographical subdivision of the country. The reasoning behind this was\nthat usual administrative boundaries, such as municipal boundaries, are\nknown to change from time to time and are therefore not very suitable as\na geographical administrative index.\n\nThe Danish Kvadratnet consist of a several **networks** that covers the\ncountry with square tiles of varying sizes. Supported tile sizes are:\n100m, 250m, 1km, 10km, 50km and 100km. Individual tiles are identified\nby tile size and the coordinates of the lower left corner of a tile. The\ncoordinates are truncated accordinging to the size of the tile i.e.\n1km\\_6452\\_523. Examples of tile identifiers can be seen in the table\nbelow:\n\n+-----------+-----------------------+\n| Network | Tile name example |\n+===========+=======================+\n| 100km | 100km\\_62\\_5 |\n+-----------+-----------------------+\n| 50km | 50km\\_620\\_55 |\n+-----------+-----------------------+\n| 10km | 10km\\_622\\_57 |\n+-----------+-----------------------+\n| 1km | 1km\\_6223\\_576 |\n+-----------+-----------------------+\n| 250m | 250m\\_622375\\_57550 |\n+-----------+-----------------------+\n| 100m | 100m\\_62237\\_5756 |\n+-----------+-----------------------+\n\nUse of the kvadratnet module is not limited to the geographical area of\nDenmark. The tiling scheme can be applied to any region on earth as the\nUTM coordinate system is defined worlwide. Care has to be taken in case\nuse of the tiling scheme spans more than one UTM zone, since coordinates\nare duplicated across zones. This can be solved by keeping all data in\nthe same UTM zone, even though some of it might be placed outside the\nzone. By using robust UTM coordinate transformation libraries, such as\nthe Extended Transverse Mercator implementation in ``proj.4``, data can\nbe kept in the same coordinate system even though it spans several UTM\nzones. This exact procedure is used by the Grenland Survey,\n`Asiaq `__, which organizes data across 10 UTM\nzones.\n\nExample\n-------\n\nExample of using ``kvadratnet``\n\nSuppose you have a range of files organized in the 1km network. We want\nto count how many 1km tiles are present in each parent 10km tile.\n\n.. code:: python\n\n from collections import Counter\n import kvadratnet\n\n files = ['dtm_1km_6121_867.tif', 'dtm_1km_6125_866.tif',\n 'dtm_1km_6125_862.tif', 'dtm_1km_6423_512.tif',\n 'dtm_1km_6253_234.tif', 'dtm_1km_6235_634.tif',\n 'dtm_1km_6424_513.tif', 'dtm_lkm_5223_523.tif',\n 'dtm_1km_6251_236.tif', 'dtm_1km_6424_517.tif']\n\n counter = Counter()\n\n for filename in files:\n try:\n name = kvadratnet.tile_name(filename)\n except:\n counter['bad_name'] += 1\n parent = kvadratnet.parent_tile(name, '10km')\n counter[parent] += 1\n\n print(counter)\n # Counter({'10km_642_51': 4, '10km_612_86': 3, '10km_625_23': 2, '10km_623_63': 1, 'bad_name': 1})\n\nknet - command line interface\n-----------------------------\n\n``kvadratnet`` also has a command line interface called ``knet``. The\n``knet`` command is a front for various tools that make life managing\nfiles with kvadratnet naming a lot easier. For instance renaming many\nfiles:\n\n::\n\n # add a prefix before the cell identifier\n $ knet rename --prefix PUNKTSKY_ \"*.laz\"\n\n # strip anything but the cell identifier\n $ knet rename PUNKTSKY*.laz\n\nWith ``knet`` organizing files in subfolders according to which parent\ntiles they belong to is easy:\n\n::\n\n # divide files into 100km and 10km folders\n $ knet organize \"1km*.tif\" 100km 10km\n\nInstallation\n------------\n\nInstallation can be done either via\n\n::\n\n pip install kvadratnet\n\nor by downloading the source code and running\n\n::\n\n python setup.py install\n\nTesting\n-------\n\n``nose`` is used for testing. The test-suite can be invoked by running\n\n::\n\n nosetests -v\n\n.. |Build Status| image:: https://travis-ci.org/kbevers/kvadratnet.svg?branch=master\n :target: https://travis-ci.org/kbevers/kvadratnet\n.. |Coverage Status| image:: https://coveralls.io/repos/github/kbevers/kvadratnet/badge.svg?branch=master\n :target: https://coveralls.io/github/kbevers/kvadratnet?branch=master", "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/kbevers/kvadratnet", "keywords": "kvadratnet gis tiling", "license": "ISC", "maintainer": null, "maintainer_email": null, "name": "kvadratnet", "package_url": "https://pypi.org/project/kvadratnet/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/kvadratnet/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/kbevers/kvadratnet" }, "release_url": "https://pypi.org/project/kvadratnet/0.3.0/", "requires_dist": null, "requires_python": null, "summary": "Python tools for working with the Danish Kvadratnet tiling scheme.", "version": "0.3.0" }, "last_serial": 2734365, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "4daa099584a806bb73c5048f98a54f7a", "sha256": "084c8c159f13331f273c626239d248fa441ec5a9ed203504b64b02f55c931259" }, "downloads": -1, "filename": "kvadratnet-0.1.tar.gz", "has_sig": false, "md5_digest": "4daa099584a806bb73c5048f98a54f7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2830, "upload_time": "2016-04-06T18:28:29", "url": "https://files.pythonhosted.org/packages/01/e0/e7f5a3f35faecdb7bd5e06a2be8524a815cf08c9fa881bb40d3e854cab40/kvadratnet-0.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "206c422ad5994867c1433aaf48232d00", "sha256": "5bf51e18b1bdd5be7a6bc6fef922663c299d1d647c99869fae9ef86dd9016a28" }, "downloads": -1, "filename": "kvadratnet-0.2.0-py2.7.egg", "has_sig": false, "md5_digest": "206c422ad5994867c1433aaf48232d00", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 10468, "upload_time": "2017-01-07T22:38:11", "url": "https://files.pythonhosted.org/packages/7c/47/de14e1605e70da5685cd0d62739862201831e63106d7a2cf47cb5af0d3f3/kvadratnet-0.2.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "40379f3b8e88ad207579f48eb5ec57ae", "sha256": "93439efaf00740bcd29fb5e950fdfc82b644c6f4070a0662d7aa173aba561b1a" }, "downloads": -1, "filename": "kvadratnet-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "40379f3b8e88ad207579f48eb5ec57ae", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9219, "upload_time": "2017-01-07T22:38:07", "url": "https://files.pythonhosted.org/packages/21/79/f4a06f26789bbdd07f4881f8dc21228d18a94c0c51c0b889fd63863a331d/kvadratnet-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "409698233244aa7a5ce3cec1cb7121ce", "sha256": "27dec695fd87663aca4f5e01f2cb025f37f640d89c14154967af79b83a02a5ba" }, "downloads": -1, "filename": "kvadratnet-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "409698233244aa7a5ce3cec1cb7121ce", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9223, "upload_time": "2017-01-07T22:47:40", "url": "https://files.pythonhosted.org/packages/6e/fd/0d925d61dea00eff32591a8727419d2bfa22361e1e5257393a47044c016b/kvadratnet-0.2.0-py2.py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "f86118138c7e075e75dc292933bbea95", "sha256": "4bfaee00814d1a1cd48686bc8ed8dfec01d07f13c1da20db3c947ae03c42af8a" }, "downloads": -1, "filename": "kvadratnet-0.2.1-py2.7.egg", "has_sig": false, "md5_digest": "f86118138c7e075e75dc292933bbea95", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 10557, "upload_time": "2017-01-07T22:59:53", "url": "https://files.pythonhosted.org/packages/d4/a0/e1ed0340e75b8883d2a1677d2ab131dc997e0a8379a9f12e8acc309f8ca1/kvadratnet-0.2.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "f63bda25b57d7dc82177647a919bde9b", "sha256": "37010de3d900a953bcc54383a02a1810ca2e646731f3c379207232b4db3d106f" }, "downloads": -1, "filename": "kvadratnet-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f63bda25b57d7dc82177647a919bde9b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9403, "upload_time": "2017-01-07T22:59:50", "url": "https://files.pythonhosted.org/packages/1e/ca/7deef65c4a693ccdab9aca016b6f8010dd7d8d42cd50772f4314bded76e7/kvadratnet-0.2.1-py2.py3-none-any.whl" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "d884c3e04d2c9881b53ef6e2776415eb", "sha256": "e81f7f8b25f4f072053b3c195fcc6d91c3a131ee9e7876d5ad769ef0d1c41f50" }, "downloads": -1, "filename": "kvadratnet-0.2.2-py2.7.egg", "has_sig": false, "md5_digest": "d884c3e04d2c9881b53ef6e2776415eb", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 13162, "upload_time": "2017-01-07T23:29:13", "url": "https://files.pythonhosted.org/packages/6e/d6/e42f5cb25d2c5cd5852c2d46e608fa377e0554dd4bc35b09d8294d140dbc/kvadratnet-0.2.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "b4be694ac253d61bdd35372d133b38a2", "sha256": "a314ce6c581b24407a5f6a7378d372e41acdfb498110092e0ba4648ac3691442" }, "downloads": -1, "filename": "kvadratnet-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b4be694ac253d61bdd35372d133b38a2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10602, "upload_time": "2017-01-07T23:29:10", "url": "https://files.pythonhosted.org/packages/91/17/82a555fc12b580557ae361107059c2600b0e80aba9802d50403832eaea84/kvadratnet-0.2.2-py2.py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "1106cff2b70d07e4ba87a7c6006f8d72", "sha256": "025a65137aa34a0943ac3059c45fd466dca03423bbf859cbc3a1711214a2f110" }, "downloads": -1, "filename": "kvadratnet-0.3.0-py2.7.egg", "has_sig": false, "md5_digest": "1106cff2b70d07e4ba87a7c6006f8d72", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 15029, "upload_time": "2017-03-27T19:42:07", "url": "https://files.pythonhosted.org/packages/a1/66/9ae9f04c17ddb5a1ce8d189175ce3e0c1d5a2b5ab3f357e6958d72148dd5/kvadratnet-0.3.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "ba0dffdc707a6d5873e20227f5f0ab68", "sha256": "bbe03107caa70af138a44b0c8ce81773b8f53a5da43a79be317923e6d9459994" }, "downloads": -1, "filename": "kvadratnet-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ba0dffdc707a6d5873e20227f5f0ab68", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11768, "upload_time": "2017-03-27T19:42:05", "url": "https://files.pythonhosted.org/packages/c0/54/678d3124a81c3792d820122e937d3b444de25940535b75697918aa59c2d5/kvadratnet-0.3.0-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1106cff2b70d07e4ba87a7c6006f8d72", "sha256": "025a65137aa34a0943ac3059c45fd466dca03423bbf859cbc3a1711214a2f110" }, "downloads": -1, "filename": "kvadratnet-0.3.0-py2.7.egg", "has_sig": false, "md5_digest": "1106cff2b70d07e4ba87a7c6006f8d72", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 15029, "upload_time": "2017-03-27T19:42:07", "url": "https://files.pythonhosted.org/packages/a1/66/9ae9f04c17ddb5a1ce8d189175ce3e0c1d5a2b5ab3f357e6958d72148dd5/kvadratnet-0.3.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "ba0dffdc707a6d5873e20227f5f0ab68", "sha256": "bbe03107caa70af138a44b0c8ce81773b8f53a5da43a79be317923e6d9459994" }, "downloads": -1, "filename": "kvadratnet-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ba0dffdc707a6d5873e20227f5f0ab68", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11768, "upload_time": "2017-03-27T19:42:05", "url": "https://files.pythonhosted.org/packages/c0/54/678d3124a81c3792d820122e937d3b444de25940535b75697918aa59c2d5/kvadratnet-0.3.0-py2.py3-none-any.whl" } ] }