diff --git a/Pipfile b/Pipfile
index 0b1e31d000..c57cc2c70d 100644
--- a/Pipfile
+++ b/Pipfile
@@ -9,16 +9,15 @@ cachetools = "~=5.2"
decorator = "~=5.1"
esrijson = "~=0.4"
gatilegrid = "~=0.2"
-geojson = "~=2.5"
-lark_parser = "~=0.7.8"
+geojson = "~=3.0"
+lark_parser = "~=0.12.0"
networkx = "~=2.8"
-papyrus = "~=2.4"
+papyrus = "==2.5"
SQLAlchemy = "~=1.4.48"
-GeoAlchemy2 = "~=0.13.0"
Pillow = "~=9.2"
polib = "~=1.1"
psycopg2-binary = "~=2.9"
-pyproj = "~=3.4"
+pyproj = "==3.6.1"
pyramid = "~=2.0"
pyramid-mako = "~=1.1"
pyramid-tm = "~=2.5"
@@ -28,15 +27,16 @@ pytz = "~=2022.4"
PyYAML = "~=6.0"
regex = "~=2022.9.13"
requests = "~=2.28"
-Shapely = "~=1.8"
+Shapely = "~=2.0"
+numpy = "==2.0.2"
simplejson = "~=3.17"
unidecode = "~=1.3"
-Akhet = "~=2.0"
logging-utilities = "~=3.1.1"
pyramid-exclog = "~=1.1"
+GeoAlchemy2 = "==0.13.3"
[dev-packages]
-waitress = "~=2.1"
+waitress = "~=3.0"
PyRSS2Gen = "~=1.1"
flake8 = "*"
pep8 = "*"
@@ -51,7 +51,7 @@ Sphinx = "~=5.2"
sphinx-rtd-theme = "~=1.0"
nose2 = "*"
coverage = "~=4.5"
-numpy = "*"
+numpy = "==2.0.2"
requests-mock = "~=1.12.1"
[requires]
diff --git a/Pipfile.lock b/Pipfile.lock
index 2176f28505..3ddc20fb1e 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
- "sha256": "0dc79d8074aa684960519ee120a083e4a2c72cad601d4bd136823ea8ff509920"
+ "sha256": "d00a9f3f9a9b1d310c07da6c628ba0eb2d6c27c88c69b52c982e8b24e677df8a"
},
"pipfile-spec": 6,
"requires": {
@@ -16,12 +16,6 @@
]
},
"default": {
- "akhet": {
- "hashes": [
- "sha256:fd498432e3012264306b044b6291fd90f7a40c90775c684c8684e0b60cbf07cd"
- ],
- "version": "==2.0"
- },
"boto3": {
"hashes": [
"sha256:31ddcdb6f15dace2b68f6a0f11bdb58dd3ae79b8a3ccb174ff811ef0bbf938e0",
@@ -189,7 +183,7 @@
"sha256:929292d34f5872e70396626ef385ec22355a1fae8ad29e1a734c3e43f9fbc216",
"sha256:bd2968309307861edae1458a4f8a4f3598c03be43b97521076aebf5d94c07b05"
],
- "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2'",
"version": "==1.0.0"
},
"gatilegrid": {
@@ -211,11 +205,12 @@
},
"geojson": {
"hashes": [
- "sha256:6e4bb7ace4226a45d9c8c8b1348b3fc43540658359f93c3f7e03efa9f15f658a",
- "sha256:ccbd13368dd728f4e4f13ffe6aaf725b6e802c692ba0dde628be475040c534ba"
+ "sha256:58a7fa40727ea058efc28b0e9ff0099eadf6d0965e04690830208d3ef571adac",
+ "sha256:68a9771827237adb8c0c71f8527509c8f5bef61733aa434cefc9c9d4f0ebe8f3"
],
"index": "pypi",
- "version": "==2.5.0"
+ "markers": "python_version >= '3.7'",
+ "version": "==3.1.0"
},
"greenlet": {
"hashes": [
@@ -293,7 +288,7 @@
"sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79",
"sha256:f6ff3b14f2df4c41660a7dec01045a045653998784bf8cfcb5a525bdffffbc8f"
],
- "markers": "python_version >= '3' and platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32')))))",
+ "markers": "python_version >= '3' and (platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32'))))))",
"version": "==3.1.1"
},
"hupper": {
@@ -322,9 +317,10 @@
},
"lark-parser": {
"hashes": [
- "sha256:26215ebb157e6fb2ee74319aa4445b9f3b7e456e26be215ce19fdaaa901c20a4"
+ "sha256:0eaf30cb5ba787fe404d73a7d6e61df97b21d5a63ac26c5008c78a494373c675",
+ "sha256:15967db1f1214013dca65b1180745047b9be457d73da224fcda3d9dd4e96a138"
],
- "version": "==0.7.8"
+ "version": "==0.12.0"
},
"logging-utilities": {
"hashes": [
@@ -337,11 +333,11 @@
},
"mako": {
"hashes": [
- "sha256:20405b1232e0759f0e7d87b01f6bb94fce0761747f1cb876ecf90bd512d0b639",
- "sha256:d18f990ad57f800ce8e76cbfb0b74afe471c293517e9f5003ace6dad5aa72c36"
+ "sha256:42f48953c7eb91332040ff567eb7eea69b22e7a4affbc5ba8e845e8f730f6627",
+ "sha256:577b97e414580d3e088d47c2dbbe9594aa7a5146ed2875d4dfa9075af2dd3cc8"
],
"markers": "python_version >= '3.8'",
- "version": "==1.3.7"
+ "version": "==1.3.8"
},
"markupsafe": {
"hashes": [
@@ -419,6 +415,58 @@
"markers": "python_version >= '3.8'",
"version": "==2.8.8"
},
+ "numpy": {
+ "hashes": [
+ "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a",
+ "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195",
+ "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951",
+ "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1",
+ "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c",
+ "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc",
+ "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b",
+ "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd",
+ "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4",
+ "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd",
+ "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318",
+ "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448",
+ "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece",
+ "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d",
+ "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5",
+ "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8",
+ "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57",
+ "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78",
+ "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66",
+ "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a",
+ "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e",
+ "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c",
+ "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa",
+ "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d",
+ "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c",
+ "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729",
+ "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97",
+ "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c",
+ "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9",
+ "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669",
+ "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4",
+ "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73",
+ "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385",
+ "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8",
+ "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c",
+ "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b",
+ "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692",
+ "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15",
+ "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131",
+ "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a",
+ "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326",
+ "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b",
+ "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded",
+ "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04",
+ "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd"
+ ],
+ "index": "pypi",
+ "markers": "python_version >= '3.9'",
+ "version": "==2.0.2"
+ },
"packaging": {
"hashes": [
"sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759",
@@ -705,7 +753,7 @@
"sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"
],
"index": "pypi",
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
"version": "==2.9.0.post0"
},
"pytz": {
@@ -897,51 +945,51 @@
},
"shapely": {
"hashes": [
- "sha256:02dd5d7dc6e46515d88874134dc8fcdc65826bca93c3eecee59d1910c42c1b17",
- "sha256:0b4ee3132ee90f07d63db3aea316c4c065ed7a26231458dda0874414a09d6ba3",
- "sha256:0d885cb0cf670c1c834df3f371de8726efdf711f18e2a75da5cfa82843a7ab65",
- "sha256:147066da0be41b147a61f8eb805dea3b13709dbc873a431ccd7306e24d712bc0",
- "sha256:21776184516a16bf82a0c3d6d6a312b3cd15a4cabafc61ee01cf2714a82e8396",
- "sha256:2e0a8c2e55f1be1312b51c92b06462ea89e6bb703fab4b114e7a846d941cfc40",
- "sha256:2fd15397638df291c427a53d641d3e6fd60458128029c8c4f487190473a69a91",
- "sha256:3480657460e939f45a7d359ef0e172a081f249312557fe9aa78c4fd3a362d993",
- "sha256:370b574c78dc5af3a198a6da5d9b3d7c04654bd2ef7e80e80a3a0992dfb2d9cd",
- "sha256:38f0fbbcb8ca20c16451c966c1f527cc43968e121c8a048af19ed3e339a921cd",
- "sha256:4728666fff8cccc65a07448cae72c75a8773fea061c3f4f139c44adc429b18c3",
- "sha256:48dcfffb9e225c0481120f4bdf622131c8c95f342b00b158cdbe220edbbe20b6",
- "sha256:4b47bb6f9369e8bf3e6dbd33e6a25a47ee02b2874792a529fe04a49bf8bc0df6",
- "sha256:532a55ee2a6c52d23d6f7d1567c8f0473635f3b270262c44e1b0c88096827e22",
- "sha256:5d7f85c2d35d39ff53c9216bc76b7641c52326f7e09aaad1789a3611a0f812f2",
- "sha256:65b21243d8f6bcd421210daf1fabb9de84de2c04353c5b026173b88d17c1a581",
- "sha256:66bdac74fbd1d3458fa787191a90fa0ae610f09e2a5ec398c36f968cc0ed743f",
- "sha256:6d388c0c1bd878ed1af4583695690aa52234b02ed35f93a1c8486ff52a555838",
- "sha256:6fe855e7d45685926b6ba00aaeb5eba5862611f7465775dacd527e081a8ced6d",
- "sha256:753ed0e21ab108bd4282405b9b659f2e985e8502b1a72b978eaa51d3496dee19",
- "sha256:783bad5f48e2708a0e2f695a34ed382e4162c795cb2f0368b39528ac1d6db7ed",
- "sha256:78fb9d929b8ee15cfd424b6c10879ce1907f24e05fb83310fc47d2cd27088e40",
- "sha256:84010db15eb364a52b74ea8804ef92a6a930dfc1981d17a369444b6ddec66efd",
- "sha256:89164e7a9776a19e29f01369a98529321994e2e4d852b92b7e01d4d9804c55bf",
- "sha256:8d086591f744be483b34628b391d741e46f2645fe37594319e0a673cc2c26bcf",
- "sha256:8e59817b0fe63d34baedaabba8c393c0090f061917d18fc0bcc2f621937a8f73",
- "sha256:99a2f0da0109e81e0c101a2b4cd8412f73f5f299e7b5b2deaf64cd2a100ac118",
- "sha256:99ab0ddc05e44acabdbe657c599fdb9b2d82e86c5493bdae216c0c4018a82dee",
- "sha256:a23ef3882d6aa203dd3623a3d55d698f59bfbd9f8a3bfed52c2da05a7f0f8640",
- "sha256:a354199219c8d836f280b88f2c5102c81bb044ccea45bd361dc38a79f3873714",
- "sha256:a74631e511153366c6dbe3229fa93f877e3c87ea8369cd00f1d38c76b0ed9ace",
- "sha256:ab38f7b5196ace05725e407cb8cab9ff66edb8e6f7bb36a398e8f73f52a7aaa2",
- "sha256:adcf8a11b98af9375e32bff91de184f33a68dc48b9cb9becad4f132fa25cfa3c",
- "sha256:b65f5d530ba91e49ffc7c589255e878d2506a8b96ffce69d3b7c4500a9a9eaf8",
- "sha256:be9423d5a3577ac2e92c7e758bd8a2b205f5e51a012177a590bc46fc51eb4834",
- "sha256:c2822111ddc5bcfb116e6c663e403579d0fe3f147d2a97426011a191c43a7458",
- "sha256:c6a9a4a31cd6e86d0fbe8473ceed83d4fe760b19d949fb557ef668defafea0f6",
- "sha256:d048f93e42ba578b82758c15d8ae037d08e69d91d9872bca5a1895b118f4e2b0",
- "sha256:d8a2b2a65fa7f97115c1cd989fe9d6f39281ca2a8a014f1d4904c1a6e34d7f25",
- "sha256:e9c30b311de2513555ab02464ebb76115d242842b29c412f5a9aa0cac57be9f6",
- "sha256:ec14ceca36f67cb48b34d02d7f65a9acae15cd72b48e303531893ba4a960f3ea",
- "sha256:ef3be705c3eac282a28058e6c6e5503419b250f482320df2172abcbea642c831"
+ "sha256:0334bd51828f68cd54b87d80b3e7cee93f249d82ae55a0faf3ea21c9be7b323a",
+ "sha256:1bbc783529a21f2bd50c79cef90761f72d41c45622b3e57acf78d984c50a5d13",
+ "sha256:2423f6c0903ebe5df6d32e0066b3d94029aab18425ad4b07bf98c3972a6e25a1",
+ "sha256:28f87cdf5308a514763a5c38de295544cb27429cfa655d50ed8431a4796090c4",
+ "sha256:29a34e068da2d321e926b5073539fd2a1d4429a2c656bd63f0bd4c8f5b236d0b",
+ "sha256:2ad2fae12dca8d2b727fa12b007e46fbc522148a584f5d6546c539f3464dccde",
+ "sha256:2b542d7f1dbb89192d3512c52b679c822ba916f93479fa5d4fc2fe4fa0b3c9e8",
+ "sha256:2c665a0301c645615a107ff7f52adafa2153beab51daf34587170d85e8ba6805",
+ "sha256:2de00c3bfa80d6750832bde1d9487e302a6dd21d90cb2f210515cefdb616e5f5",
+ "sha256:392f66f458a0a2c706254f473290418236e52aa4c9b476a072539d63a2460595",
+ "sha256:3a82d58a1134d5e975f19268710e53bddd9c473743356c90d97ce04b73e101ee",
+ "sha256:3ec3a0eab496b5e04633a39fa3d5eb5454628228201fb24903d38174ee34565e",
+ "sha256:42805ef90783ce689a4dde2b6b2f261e2c52609226a0438d882e3ced40bb3013",
+ "sha256:42fd4cd4834747e4990227e4cbafb02242c0cffe9ce7ef9971f53ac52d80d55f",
+ "sha256:44246d30124a4f1a638a7d5419149959532b99dfa25b54393512e6acc9c211ac",
+ "sha256:537c4b2716d22c92036d00b34aac9d3775e3691f80c7aa517c2c290351f42cd8",
+ "sha256:5aeb0f51a9db176da9a30cb2f4329b6fbd1e26d359012bb0ac3d3c7781667a9e",
+ "sha256:665990c84aece05efb68a21b3523a6b2057e84a1afbef426ad287f0796ef8a48",
+ "sha256:6d2cb146191a47bd0cee8ff5f90b47547b82b6345c0d02dd8b25b88b68af62d7",
+ "sha256:7060566bc4888b0c8ed14b5d57df8a0ead5c28f9b69fb6bed4476df31c51b0af",
+ "sha256:81d9dfe155f371f78c8d895a7b7f323bb241fb148d848a2bf2244f79213123fe",
+ "sha256:837d395fac58aa01aa544495b97940995211e3e25f9aaf87bc3ba5b3a8cd1ac7",
+ "sha256:83b94a44ab04a90e88be69e7ddcc6f332da7c0a0ebb1156e1c4f568bbec983c3",
+ "sha256:8b3b818c4407eaa0b4cb376fd2305e20ff6df757bf1356651589eadc14aab41b",
+ "sha256:98fea108334be345c283ce74bf064fa00cfdd718048a8af7343c59eb40f59726",
+ "sha256:997f6159b1484059ec239cacaa53467fd8b5564dabe186cd84ac2944663b0bf6",
+ "sha256:9a7a78b0d51257a367ee115f4d41ca4d46edbd0dd280f697a8092dd3989867b2",
+ "sha256:b02154b3e9d076a29a8513dffcb80f047a5ea63c897c0cd3d3679f29363cf7e5",
+ "sha256:b3304883bd82d44be1b27a9d17f1167fda8c7f5a02a897958d86c59ec69b705e",
+ "sha256:b3dc9fb0eb56498912025f5eb352b5126f04801ed0e8bdbd867d21bdbfd7cbd0",
+ "sha256:c02eb6bf4cfb9fe6568502e85bb2647921ee49171bcd2d4116c7b3109724ef9b",
+ "sha256:c6d88ade96bf02f6bfd667ddd3626913098e243e419a0325ebef2bbd481d1eb6",
+ "sha256:cec9193519940e9d1b86a3b4f5af9eb6910197d24af02f247afbfb47bcb3fab0",
+ "sha256:d37d070da9e0e0f0a530a621e17c0b8c3c9d04105655132a87cfff8bd77cc4c2",
+ "sha256:d93b7e0e71c9f095e09454bf18dad5ea716fb6ced5df3cb044564a00723f339d",
+ "sha256:e1c84c3f53144febf6af909d6b581bc05e8785d57e27f35ebaa5c1ab9baba13b",
+ "sha256:e3fdef0a1794a8fe70dc1f514440aa34426cc0ae98d9a1027fb299d45741c381",
+ "sha256:eba5bae271d523c938274c61658ebc34de6c4b33fdf43ef7e938b5776388c1be",
+ "sha256:ed5867e598a9e8ac3291da6cc9baa62ca25706eea186117034e8ec0ea4355653",
+ "sha256:f32c23d2f43d54029f986479f7c1f6e09c6b3a19353a3833c2ffb226fb63a855",
+ "sha256:fa7468e4f5b92049c0f36d63c3e309f85f2775752e076378e36c6387245c5462",
+ "sha256:fbb7bf02a7542dba55129062570211cfb0defa05386409b3e306c39612e7fbcc"
],
- "markers": "python_version >= '3.6'",
- "version": "==1.8.5.post1"
+ "markers": "python_version >= '3.7'",
+ "version": "==2.0.6"
},
"simplejson": {
"hashes": [
@@ -1057,7 +1105,7 @@
"sha256:ff7bc1bbdaa3e487c9469128bf39408e91f5573901cb852e03af378d3582c52d"
],
"index": "pypi",
- "markers": "python_version >= '2.5' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "markers": "python_version >= '2.5' and python_version not in '3.0, 3.1, 3.2'",
"version": "==3.19.3"
},
"six": {
@@ -1065,7 +1113,7 @@
"sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274",
"sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"
],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
"version": "==1.17.0"
},
"sqlalchemy": {
@@ -1163,7 +1211,7 @@
"sha256:45e34c58ed0c7e2ecd238ffd34432487ff13d9ad459ddfd77895e67abba7c1f9",
"sha256:ad6078e2edb6766d1334ec3dee072ac6a7f95b1e32ce10def8ff7f0f02d56589"
],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
"version": "==1.8.9"
},
"zope.deprecation": {
@@ -1408,7 +1456,7 @@
"sha256:ff37757e068ae606659c28c3bd0d923f9d29a85de79bf25b2b34b148473b5025"
],
"index": "pypi",
- "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3' and python_version < '4'",
+ "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2' and python_version < '4'",
"version": "==4.5.4"
},
"docutils": {
@@ -1951,28 +1999,28 @@
},
"waitress": {
"hashes": [
- "sha256:7500c9625927c8ec60f54377d590f67b30c8e70ef4b8894214ac6e4cad233d2a",
- "sha256:780a4082c5fbc0fde6a2fcfe5e26e6efc1e8f425730863c04085769781f51eba"
+ "sha256:682aaaf2af0c44ada4abfb70ded36393f0e307f4ab9456a215ce0020baefc31f",
+ "sha256:c56d67fd6e87c2ee598b76abdd4e96cfad1f24cacdea5078d382b1f9d7b5ed2e"
],
"index": "pypi",
- "markers": "python_full_version >= '3.7.0'",
- "version": "==2.1.2"
+ "markers": "python_full_version >= '3.9.0'",
+ "version": "==3.0.2"
},
"webob": {
"hashes": [
"sha256:45e34c58ed0c7e2ecd238ffd34432487ff13d9ad459ddfd77895e67abba7c1f9",
"sha256:ad6078e2edb6766d1334ec3dee072ac6a7f95b1e32ce10def8ff7f0f02d56589"
],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2'",
"version": "==1.8.9"
},
"webtest": {
"hashes": [
- "sha256:493b5c802f8948a65b5e3a1ad5b2524ee5e1ab60cd713d9a3da3b8da082c06fe",
- "sha256:b3bc75d020d0576ee93a5f149666045e58fe2400ea5f0c214d7430d7d213d0d0"
+ "sha256:0b2de681c16f57b31da5cce6e94ff03cdc77bd86c37a57ba0ee27fed8e065ceb",
+ "sha256:799846e169d15e0c1233ab4ab00ee4de59a5d964407d6f2945d89249328dbbdb"
],
"markers": "python_version >= '3.7'",
- "version": "==3.0.1"
+ "version": "==3.0.2"
},
"zipp": {
"hashes": [
diff --git a/README.md b/README.md
index 46808e9b33..50dc5573a1 100644
--- a/README.md
+++ b/README.md
@@ -44,14 +44,14 @@ make setup
Build the Pylons settings files and run the local `waitress` server
```bash
-summon make serve
+summon -p ssm make serve
```
You may want to customize the variables. Copy the file `.env.default` as `.ven.mine`,
change the variables you want and use them with
```bash
-summon make ENV_FILE=.env.mine serve
+summon -p ssm make ENV_FILE=.env.mine serve
```
:book: You need some external ressource to run the service, see [External ressources dependencies](#external-ressources-dependencies)
@@ -71,7 +71,7 @@ You can use the ssh port forwarding feature to have access to `pg-geodata-replic
ssh ssh0a.prod.bgdi.ch -L 5432:pg-geodata-replica.bgdi.ch:5432
```
-Then set the `DBHOST` environment variable to `localhost` (you can do this in your own environment file e.g. `.env.mine` and run the make file as follow: `summon make ENV_FILE=.env.mine serve`)
+Then set the `DBHOST` environment variable to `localhost` (you can do this in your own environment file e.g. `.env.mine` and run the make file as follow: `summon -p ssm make ENV_FILE=.env.mine serve`)
### S3 Vector Bucket Access
@@ -96,7 +96,7 @@ make dockerbuild
### Docker run locally
```bash
-summon make dockerrun
+summon -p ssm make dockerrun
```
:book: You need some external ressource to run the service, see [External ressources dependencies](#external-ressources-dependencies)
@@ -130,19 +130,19 @@ See [External Ressources Dependencies](#external-ressources-dependencies) for mo
To run the tests enter
```bash
-summon make test
+summon -p ssm make test
```
Or if you use your own environment file
```bash
-summon make ENV_FILE=.env.mine test
+summon -p ssm make ENV_FILE=.env.mine test
```
**:warning: If you don't have AWS Access you can disable the S3 tests as follow**
```bash
-summon make S3_TESTS=0 test
+summon -p ssm make S3_TESTS=0 test
```
## Download WMS image legends
diff --git a/apache/wsgi-py3.conf.in b/apache/wsgi-py3.conf.in
index 4c5b174b55..ff82d2fb65 100644
--- a/apache/wsgi-py3.conf.in
+++ b/apache/wsgi-py3.conf.in
@@ -26,6 +26,19 @@ WSGIPassAuthorization On
# Redirect no-slash target to slashed version
RedirectMatch ^${APACHE_ENTRY_PATH}$ ${APACHE_ENTRY_PATH}/
+# Info
+RewriteCond %{HTTP:X-Forwarded-Proto} !https
+RewriteRule ^${APACHE_ENTRY_PATH}/static/info\.json https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
+
+# Info
+RewriteRule ^${APACHE_ENTRY_PATH}/info.json ${APACHE_ENTRY_PATH}/static/info.json [PT]
+
+# Static for cross domain flash/arcgis
+RewriteRule ^${APACHE_ENTRY_PATH}/(crossdomain.xml|clientaccesspolicy.xml) ${APACHE_ENTRY_PATH}/static/$1 [PT]
+
+ Header set Content-type "text/x-cross-domain-policy"
+
+
# New style config url (see mf-geoadmin3 #4687)
RewriteRule ^${APACHE_ENTRY_PATH}/configs/(de|fr|it|rm|en)/layersConfig\.json ${APACHE_ENTRY_PATH}/rest/services/all/MapServer/layersConfig?lang=$1 [PT]
RewriteRule ^${APACHE_ENTRY_PATH}/configs/(de|fr|it|rm|en)/translations\.json ${APACHE_ENTRY_PATH}/rest/services/translations?lang=$1 [PT]
@@ -33,6 +46,12 @@ RewriteRule ^${APACHE_ENTRY_PATH}/configs/(de|fr|it|rm|en)/catalog\.(\w+)\.json
RewriteRule ^${APACHE_ENTRY_PATH}/configs/(de|fr|it|rm|en)/services\.json ${APACHE_ENTRY_PATH}/rest/services [PT]
RewriteRule ^${APACHE_ENTRY_PATH}/configs/services\.json ${APACHE_ENTRY_PATH}/rest/services [PT]
+# Robots static files
+RewriteRule ^${APACHE_ENTRY_PATH}/robots.txt ${APACHE_ENTRY_PATH}/static/${ROBOTS_FILE} [PT]
+
+ Header set Content-type "text/plain"
+
+
############ WSGI #################################3
${LOAD_WSGI_MODULE_DIRECTIVE}
diff --git a/chsdi/__init__.py b/chsdi/__init__.py
index a7eff37a58..ff0d4cdfac 100644
--- a/chsdi/__init__.py
+++ b/chsdi/__init__.py
@@ -47,7 +47,6 @@ def main(global_config, **settings):
request_method = tuple(settings.get('request_method').replace(' ', '').split(','))
config = Configurator(settings=settings, request_factory=WsgiSchemeAdaptedRequest)
config.include('pyramid_mako')
- config.include('akhet.static')
# wrapper around all views
# This is a wrapper function around all views. If OPTIONS is given, an empty string will be returned
@@ -111,12 +110,10 @@ def datetime_adapter(obj, request):
config.add_route('translations', '/rest/services/translations', request_method=request_method)
config.add_route('stationboard', '/stationboard/stops/{id}', request_method=request_method)
- config.add_route('faqlist', '/rest/services/{map}/faqlist', request_method=request_method)
config.add_route('color', '/color/{r},{g},{b}/{image}', request_method=request_method)
# Static route
static_max_age = int(settings['static_max_age']) if settings['static_max_age'] else None
- config.add_static_route('chsdi', 'static', cache_max_age=static_max_age)
# Some views for specific routes
config.add_view(route_name='dev', renderer='chsdi:templates/index.mako')
diff --git a/chsdi/lib/parser.py b/chsdi/lib/parser.py
index c1229aa691..c57178f438 100644
--- a/chsdi/lib/parser.py
+++ b/chsdi/lib/parser.py
@@ -19,7 +19,7 @@
expression: WORD is_not_null
| WORD IS_NOT BOOLEAN
| WORD operators SIGNED_NUMBER
- | WORD operators_likes ESCAPED_QUOTED_STRING
+ | WORD operators_likes ESCAPED_QUOTED_STRING
operators: OPERATORS -> ops
operators_likes: OPERATORS | LIKES
@@ -121,7 +121,7 @@ def operators_likes(self, s):
def BOOLEAN(self, s):
# log.debug(u'boolean: {}'.format(str(s)))
- return "true" == str(s[0]).lower()
+ return "true" if s.lower() == "true" else "false"
def IS_NOT(self, s):
- return str(s[0]).lower()
+ return s.lower()
diff --git a/chsdi/models/vector/dritte.py b/chsdi/models/vector/dritte.py
index 4fb2cc3eb5..69502196f8 100644
--- a/chsdi/models/vector/dritte.py
+++ b/chsdi/models/vector/dritte.py
@@ -145,35 +145,15 @@ class AsylPlanning:
class AsylPlanningAnhoerung(Base, AsylPlanning, Vector):
__tablename__ = 'sachplan_asyl_plmeasures_anhorung'
__bodId__ = 'ch.sem.sachplan-asyl_anhoerung'
- __minscale__ = 20005
- __maxscale__ = 500005
-
-
-class AsylPlanningRasterAnhoerung(Base, AsylPlanning, Vector):
- __tablename__ = 'sachplan_asyl_plmeasures_r_anhorung'
- __bodId__ = 'ch.sem.sachplan-asyl_anhoerung'
- __maxscale__ = 20005
- __minscale__ = 1
class AsylPlanningKraft(Base, AsylPlanning, Vector):
__tablename__ = 'sachplan_asyl_plmeasures_kraft'
__bodId__ = 'ch.sem.sachplan-asyl_kraft'
- __minscale__ = 20005
- __maxscale__ = 500005
-
-
-class AsylPlanningRasterKraft(Base, AsylPlanning, Vector):
- __tablename__ = 'sachplan_asyl_plmeasures_r_kraft'
- __bodId__ = 'ch.sem.sachplan-asyl_kraft'
- __maxscale__ = 20005
- __minscale__ = 1
register('ch.sem.sachplan-asyl_anhoerung', AsylPlanningAnhoerung)
-register('ch.sem.sachplan-asyl_anhoerung', AsylPlanningRasterAnhoerung)
register('ch.sem.sachplan-asyl_kraft', AsylPlanningKraft)
-register('ch.sem.sachplan-asyl_kraft', AsylPlanningRasterKraft)
class ArmasuisseNaturLandschaftArmee(Base, Vector):
diff --git a/chsdi/models/vector/evd.py b/chsdi/models/vector/evd.py
index 3869c9e4a3..3b7ab7860b 100644
--- a/chsdi/models/vector/evd.py
+++ b/chsdi/models/vector/evd.py
@@ -237,7 +237,7 @@ class SachplanCernAnhoerungFac:
__table_args__ = ({'schema': 'sbfi', 'autoload': False})
__bodId__ = 'ch.sbfi.sachplan-cern_anhoerung'
__label__ = 'objname_de'
- id = Column('bgdi_id', Integer, primary_key=True)
+ id = Column('stabil_id', Unicode, primary_key=True)
objname_de = Column('objname_de', Unicode)
objname_fr = Column('objname_fr', Unicode)
objname_it = Column('objname_it', Unicode)
@@ -262,25 +262,23 @@ class SachplanCernAnhoerungFac:
class SachplanCernAnhoerungFacPnt(Base, SachplanCernAnhoerungFac, Vector):
__tablename__ = 'sachplan_cern_anhoerung_fac_pnt'
- __template__ = 'templates/htmlpopup/sbfi_sachplan_cern_anhoerung_pnt.mako'
+ __template__ = 'templates/htmlpopup/sbfi_sachplan_cern_anhoerung_fac_pnt.mako'
register('ch.sbfi.sachplan-cern_anhoerung', SachplanCernAnhoerungFacPnt)
class SachplanCernAnhoerungFacLine(Base, SachplanCernAnhoerungFac, Vector):
__tablename__ = 'sachplan_cern_anhoerung_fac_line'
- __template__ = 'templates/htmlpopup/sbfi_sachplan_cern_anhoerung_line.mako'
+ __template__ = 'templates/htmlpopup/sbfi_sachplan_cern_anhoerung_fac_line.mako'
register('ch.sbfi.sachplan-cern_anhoerung', SachplanCernAnhoerungFacLine)
-class SachplanCernAnhoerungPlmPoly(Base, Vector):
- __tablename__ = 'sachplan_cern_anhoerung_plm_poly'
+class SachplanCernAnhoerungPlm:
__table_args__ = ({'schema': 'sbfi', 'autoload': False})
__bodId__ = 'ch.sbfi.sachplan-cern_anhoerung'
- __template__ = 'templates/htmlpopup/sbfi_sachplan_cern_anhoerung_poly.mako'
__label__ = 'plname_de'
- id = Column('bgdi_id', Integer, primary_key=True)
+ id = Column('stabil_id', Unicode, primary_key=True)
plname_de = Column('plname_de', Unicode)
plname_fr = Column('plname_fr', Unicode)
plname_it = Column('plname_it', Unicode)
@@ -306,6 +304,11 @@ class SachplanCernAnhoerungPlmPoly(Base, Vector):
doc_web_it = Column('doc_web_it', Unicode)
the_geom = Column(Geometry2D)
+
+class SachplanCernAnhoerungPlmPoly(Base, SachplanCernAnhoerungPlm, Vector):
+ __tablename__ = 'sachplan_cern_anhoerung_plm_poly'
+ __template__ = 'templates/htmlpopup/sbfi_sachplan_cern_anhoerung_plm_poly.mako'
+
register('ch.sbfi.sachplan-cern_anhoerung', SachplanCernAnhoerungPlmPoly)
diff --git a/chsdi/models/vector/oereb/uvek.py b/chsdi/models/vector/oereb/uvek.py
index 1405777e02..21a31682c0 100644
--- a/chsdi/models/vector/oereb/uvek.py
+++ b/chsdi/models/vector/oereb/uvek.py
@@ -18,14 +18,6 @@ class OerebBase:
# ASTRA
-class ProjektierungszonenNationalstrassenOereb(Base, OerebBase, Vector):
- __tablename__ = 'projektierungszonen_nationalstrassen_oereb'
- __table_args__ = ({'schema': 'astra', 'autoload': False})
- __bodId__ = 'ch.astra.projektierungszonen-nationalstrassen.oereb'
-
-register_oereb(ProjektierungszonenNationalstrassenOereb.__bodId__, ProjektierungszonenNationalstrassenOereb)
-
-
class ProjektierungszonenNationalstrassenV20Oereb(Base, OerebBase, Vector):
__tablename__ = 'projektierungszonen_nationalstrassen_v2_0_oereb'
__table_args__ = ({'schema': 'astra', 'autoload': False})
@@ -34,14 +26,6 @@ class ProjektierungszonenNationalstrassenV20Oereb(Base, OerebBase, Vector):
register_oereb(ProjektierungszonenNationalstrassenV20Oereb.__bodId__, ProjektierungszonenNationalstrassenV20Oereb)
-class BaulinienNationalstrassenOereb(Base, OerebBase, Vector):
- __tablename__ = 'baulinien_nationalstrassen_oereb'
- __table_args__ = ({'schema': 'astra', 'autoload': False})
- __bodId__ = 'ch.astra.baulinien-nationalstrassen.oereb'
-
-register_oereb(BaulinienNationalstrassenOereb.__bodId__, BaulinienNationalstrassenOereb)
-
-
class BaulinienNationalstrassenV20Oereb(Base, OerebBase, Vector):
__tablename__ = 'baulinien_nationalstrassen_v2_0_oereb'
__table_args__ = ({'schema': 'astra', 'autoload': False})
@@ -75,14 +59,6 @@ class ProjektierungStarkstromV20Oereb(Base, OerebBase, Vector):
# BAV
-class KatasterBelastetenStandorteOevOereb(Base, OerebBase, Vector):
- __tablename__ = 'kataster_belasteter_standorte_oev_oereb'
- __table_args__ = ({'schema': 'bav', 'autoload': False})
- __bodId__ = 'ch.bav.kataster-belasteter-standorte-oev.oereb'
-
-register_oereb(KatasterBelastetenStandorteOevOereb.__bodId__, KatasterBelastetenStandorteOevOereb)
-
-
class KatasterBelastetenStandorteOevV20Oereb(Base, OerebBase, Vector):
__tablename__ = 'kataster_belasteter_standorte_oev_v2_0_oereb'
__table_args__ = ({'schema': 'bav', 'autoload': False})
@@ -91,14 +67,6 @@ class KatasterBelastetenStandorteOevV20Oereb(Base, OerebBase, Vector):
register_oereb(KatasterBelastetenStandorteOevV20Oereb.__bodId__, KatasterBelastetenStandorteOevV20Oereb)
-class ProjektierungszonenEisenbahnanlagenOereb(Base, OerebBase, Vector):
- __tablename__ = 'projektierungszonen_eisenbahnanlagen_oereb'
- __table_args__ = ({'schema': 'bav', 'autoload': False})
- __bodId__ = 'ch.bav.projektierungszonen-eisenbahnanlagen.oereb'
-
-register_oereb(ProjektierungszonenEisenbahnanlagenOereb.__bodId__, ProjektierungszonenEisenbahnanlagenOereb)
-
-
class ProjektierungszonenEisenbahnanlagenV20Oereb(Base, OerebBase, Vector):
__tablename__ = 'projektierungszonen_eisenbahnanlagen_v2_0_oereb'
__table_args__ = ({'schema': 'bav', 'autoload': False})
@@ -107,14 +75,6 @@ class ProjektierungszonenEisenbahnanlagenV20Oereb(Base, OerebBase, Vector):
register_oereb(ProjektierungszonenEisenbahnanlagenV20Oereb.__bodId__, ProjektierungszonenEisenbahnanlagenV20Oereb)
-class BaulinienEisenbahnanlagenOereb(Base, OerebBase, Vector):
- __tablename__ = 'baulinien_eisenbahnanlagen_oereb'
- __table_args__ = ({'schema': 'bav', 'autoload': False})
- __bodId__ = 'ch.bav.baulinien-eisenbahnanlagen.oereb'
-
-register_oereb(BaulinienEisenbahnanlagenOereb.__bodId__, BaulinienEisenbahnanlagenOereb)
-
-
class BaulinienEisenbahnanlagenV20Oereb(Base, OerebBase, Vector):
__tablename__ = 'baulinien_eisenbahnanlagen_v2_0_oereb'
__table_args__ = ({'schema': 'bav', 'autoload': False})
@@ -124,14 +84,6 @@ class BaulinienEisenbahnanlagenV20Oereb(Base, OerebBase, Vector):
# BAZL
-class ProjektierungszonenOereb(Base, OerebBase, Vector):
- __tablename__ = 'projektierungszonen_oereb'
- __table_args__ = ({'schema': 'bazl', 'autoload': False})
- __bodId__ = 'ch.bazl.projektierungszonen-flughafenanlagen.oereb'
-
-register_oereb(ProjektierungszonenOereb.__bodId__, ProjektierungszonenOereb)
-
-
class ProjektierungszonenV20Oereb(Base, OerebBase, Vector):
__tablename__ = 'projektierungszonen_v2_0_oereb'
__table_args__ = ({'schema': 'bazl', 'autoload': False})
@@ -140,14 +92,6 @@ class ProjektierungszonenV20Oereb(Base, OerebBase, Vector):
register_oereb(ProjektierungszonenV20Oereb.__bodId__, ProjektierungszonenV20Oereb)
-class SichereitszonenOereb(Base, OerebBase, Vector):
- __tablename__ = 'sichereitszonen_oereb'
- __table_args__ = ({'schema': 'bazl', 'autoload': False})
- __bodId__ = 'ch.bazl.sicherheitszonenplan.oereb'
-
-register_oereb(SichereitszonenOereb.__bodId__, SichereitszonenOereb)
-
-
class SichereitszonenV20Oereb(Base, OerebBase, Vector):
__tablename__ = 'sichereitszonen_v2_0_oereb'
__table_args__ = ({'schema': 'bazl', 'autoload': False})
@@ -164,14 +108,6 @@ class SichereitszonenV20Oereb(Base, OerebBase, Vector):
# register_oereb(SichereitszonenAenderungV20Oereb.__bodId__, SichereitszonenAenderungV20Oereb)
-class KatasterBelastetenStandorteZivflplOereb(Base, OerebBase, Vector):
- __tablename__ = 'kataster_belasteter_standorte_zivflpl_oereb'
- __table_args__ = ({'schema': 'bazl', 'autoload': False})
- __bodId__ = 'ch.bazl.kataster-belasteter-standorte-zivilflugplaetze.oereb'
-
-register_oereb(KatasterBelastetenStandorteZivflplOereb.__bodId__, KatasterBelastetenStandorteZivflplOereb)
-
-
class KatasterBelastetenStandorteZivflplV20Oereb(Base, OerebBase, Vector):
__tablename__ = 'kataster_belasteter_standorte_zivflpl_v2_0_oereb'
__table_args__ = ({'schema': 'bazl', 'autoload': False})
@@ -180,14 +116,6 @@ class KatasterBelastetenStandorteZivflplV20Oereb(Base, OerebBase, Vector):
register_oereb(KatasterBelastetenStandorteZivflplV20Oereb.__bodId__, KatasterBelastetenStandorteZivflplV20Oereb)
-class BaulinienFlughafenanlagenOereb(Base, OerebBase, Vector):
- __tablename__ = 'baulinien_flughafenanlagen_oereb'
- __table_args__ = ({'schema': 'bazl', 'autoload': False})
- __bodId__ = 'ch.bazl.baulinien-flughafenanlagen.oereb'
-
-register_oereb(BaulinienFlughafenanlagenOereb.__bodId__, BaulinienFlughafenanlagenOereb)
-
-
class BaulinienFlughafenanlagenV20Oereb(Base, OerebBase, Vector):
__tablename__ = 'baulinien_flughafenanlagen_v2_0_oereb'
__table_args__ = ({'schema': 'bazl', 'autoload': False})
diff --git a/chsdi/models/vector/stopo.py b/chsdi/models/vector/stopo.py
index 692d502a7d..2cfac182a1 100644
--- a/chsdi/models/vector/stopo.py
+++ b/chsdi/models/vector/stopo.py
@@ -919,7 +919,8 @@ class GridstandSwisssurface3d(Base, Vector):
__template__ = 'templates/htmlpopup/swisssurface3d.mako'
__label__ = 'id'
id = Column('tilekey', Unicode, primary_key=True)
- temporalkey = Column('temporalkey', Integer)
+ gpstime_min = Column('gpstime_min', Integer)
+ gpstime_max = Column('gpstime_max', Integer)
the_geom = Column(Geometry2D)
register('ch.swisstopo.swisssurface3d.metadata', GridstandSwisssurface3d)
@@ -1218,62 +1219,6 @@ class Gk500LithologieHauptgruppen(Base, Vector):
register('ch.swisstopo.geologie-geotechnik-gk500-lithologie_hauptgruppen', Gk500LithologieHauptgruppen)
-class GeologieGeotechnikSteinbrueche1915(Base, Vector):
- __tablename__ = 'geotechnik_steinbrueche_1915'
- __table_args__ = ({'schema': 'geol', 'autoload': False})
- __template__ = 'templates/htmlpopup/steinbrueche_1915.mako'
- __bodId__ = 'ch.swisstopo.geologie-geotechnik-steinbrueche_1915'
- __label__ = 'gesteinsgr'
- id = Column('id', Integer, primary_key=True)
- gesteinsgr = Column('gesteinsgr', Unicode)
- gestein = Column('gestein', Unicode)
- the_geom = Column(Geometry2D)
-
-register('ch.swisstopo.geologie-geotechnik-steinbrueche_1915', GeologieGeotechnikSteinbrueche1915)
-
-
-class GeologieGeotechnikSteinbrueche1965(Base, Vector):
- __tablename__ = 'geotechnik_steinbrueche_1965'
- __table_args__ = ({'schema': 'geol', 'autoload': False})
- __template__ = 'templates/htmlpopup/steinbrueche_1965.mako'
- __bodId__ = 'ch.swisstopo.geologie-geotechnik-steinbrueche_1965'
- __label__ = 'gesteinsgr'
- id = Column('id', Integer, primary_key=True)
- gesteinsgr = Column('gesteinsgr', Unicode)
- gestein = Column('gestein', Unicode)
- the_geom = Column(Geometry2D)
-
-register('ch.swisstopo.geologie-geotechnik-steinbrueche_1965', GeologieGeotechnikSteinbrueche1965)
-
-
-class GeologieGeotechnikSteinbrueche1980(Base, Vector):
- __tablename__ = 'geotechnik_steinbrueche_1980'
- __table_args__ = ({'schema': 'geol', 'autoload': False})
- __template__ = 'templates/htmlpopup/steinbrueche_1980.mako'
- __bodId__ = 'ch.swisstopo.geologie-geotechnik-steinbrueche_1980'
- __label__ = 'gesteinsgr'
- id = Column('id', Integer, primary_key=True)
- gesteinsgr = Column('gesteinsgr', Unicode)
- gestein = Column('gestein', Unicode)
- the_geom = Column(Geometry2D)
-
-register('ch.swisstopo.geologie-geotechnik-steinbrueche_1980', GeologieGeotechnikSteinbrueche1980)
-
-
-class GeologieGeotechnikSteinbrueche1995(Base, Vector):
- __tablename__ = 'geotechnik_steinbrueche_1995'
- __table_args__ = ({'schema': 'geol', 'autoload': False})
- __template__ = 'templates/htmlpopup/steinbrueche_1995.mako'
- __bodId__ = 'ch.swisstopo.geologie-geotechnik-steinbrueche_1995'
- __label__ = 'gesteinsgr'
- id = Column('id', Integer, primary_key=True)
- gesteinsgr = Column('gesteinsgr', Unicode)
- gestein = Column('gestein', Unicode)
- the_geom = Column(Geometry2D)
-
-register('ch.swisstopo.geologie-geotechnik-steinbrueche_1995', GeologieGeotechnikSteinbrueche1995)
-
-
class GeologieHydroKarteGrundwasservorkommen(Base, Vector):
__tablename__ = 'grundwasservorkommen'
__table_args__ = ({'schema': 'geol', 'autoload': False})
diff --git a/chsdi/models/vector/uvek.py b/chsdi/models/vector/uvek.py
index 2677371189..160895b17f 100644
--- a/chsdi/models/vector/uvek.py
+++ b/chsdi/models/vector/uvek.py
@@ -2499,8 +2499,6 @@ class SisPlanningA(Base, Vector):
doc_web = Column('doc_web', Unicode)
doc_title = Column('doc_title', Unicode)
bgdi_created = Column('bgdi_created', Unicode)
- __minscale__ = 20005
- __maxscale__ = 500005
the_geom = Column(Geometry2D)
register('ch.bav.sachplan-infrastruktur-schiene_anhorung', SisPlanningA)
@@ -2531,44 +2529,6 @@ class SisAngaben(Base, Vector):
register('ch.bav.sachplan-infrastruktur-schiene_ausgangslage', SisAngaben)
-class SisPlanningRasterA(Base, Vector):
- __tablename__ = 'sis_pl_r_anhorung'
- __table_args__ = ({'schema': 'bav', 'autoload': False})
- __template__ = 'templates/htmlpopup/sis_planning.mako'
- __bodId__ = 'ch.bav.sachplan-infrastruktur-schiene_anhorung'
- # Translatable labels in fr, it
- __label__ = 'facname_de'
- id = Column('stabil_id', Unicode, primary_key=True)
- facname_de = Column('facname_de', Unicode)
- facname_fr = Column('facname_fr', Unicode)
- facname_it = Column('facname_it', Unicode)
- plname_de = Column('plname_de', Unicode)
- plname_fr = Column('plname_fr', Unicode)
- plname_it = Column('plname_it', Unicode)
- meastype_text_de = Column('meastype_text_de', Unicode)
- meastype_text_fr = Column('meastype_text_fr', Unicode)
- meastype_text_it = Column('meastype_text_it', Unicode)
- coordlevel_text_de = Column('coordlevel_text_de', Unicode)
- coordlevel_text_fr = Column('coordlevel_text_fr', Unicode)
- coordlevel_text_it = Column('coordlevel_text_it', Unicode)
- plstatus_text_de = Column('plstatus_text_de', Unicode)
- plstatus_text_fr = Column('plstatus_text_fr', Unicode)
- plstatus_text_it = Column('plstatus_text_it', Unicode)
- validfrom = Column('validfrom', Unicode)
- validuntil = Column('validuntil', Unicode)
- description_de = Column('description_de', Unicode)
- description_fr = Column('description_fr', Unicode)
- description_it = Column('description_it', Unicode)
- doc_web = Column('doc_web', Unicode)
- doc_title = Column('doc_title', Unicode)
- bgdi_created = Column('bgdi_created', Unicode)
- __maxscale__ = 20005
- __minscale__ = 1
- the_geom = Column(Geometry2D)
-
-register('ch.bav.sachplan-infrastruktur-schiene_anhorung', SisPlanningRasterA)
-
-
class SisFacilitiesK(Base, Vector):
__tablename__ = 'sis_fac_kraft'
__table_args__ = ({'schema': 'bav', 'autoload': False})
@@ -2631,51 +2591,11 @@ class SisPlanningK(Base, Vector):
doc_web = Column('doc_web', Unicode)
doc_title = Column('doc_title', Unicode)
bgdi_created = Column('bgdi_created', Unicode)
- __minscale__ = 20005
- __maxscale__ = 500005
the_geom = Column(Geometry2D)
register('ch.bav.sachplan-infrastruktur-schiene_kraft', SisPlanningK)
-class SisPlanningRasterK(Base, Vector):
- __tablename__ = 'sis_pl_r_kraft'
- __table_args__ = ({'schema': 'bav', 'autoload': False})
- __template__ = 'templates/htmlpopup/sis_planning.mako'
- __bodId__ = 'ch.bav.sachplan-infrastruktur-schiene_kraft'
- # Translatable labels in fr, it
- __label__ = 'facname_de'
- id = Column('stabil_id', Unicode, primary_key=True)
- facname_de = Column('facname_de', Unicode)
- facname_fr = Column('facname_fr', Unicode)
- facname_it = Column('facname_it', Unicode)
- plname_de = Column('plname_de', Unicode)
- plname_fr = Column('plname_fr', Unicode)
- plname_it = Column('plname_it', Unicode)
- meastype_text_de = Column('meastype_text_de', Unicode)
- meastype_text_fr = Column('meastype_text_fr', Unicode)
- meastype_text_it = Column('meastype_text_it', Unicode)
- coordlevel_text_de = Column('coordlevel_text_de', Unicode)
- coordlevel_text_fr = Column('coordlevel_text_fr', Unicode)
- coordlevel_text_it = Column('coordlevel_text_it', Unicode)
- plstatus_text_de = Column('plstatus_text_de', Unicode)
- plstatus_text_fr = Column('plstatus_text_fr', Unicode)
- plstatus_text_it = Column('plstatus_text_it', Unicode)
- validfrom = Column('validfrom', Unicode)
- validuntil = Column('validuntil', Unicode)
- description_de = Column('description_de', Unicode)
- description_fr = Column('description_fr', Unicode)
- description_it = Column('description_it', Unicode)
- doc_web = Column('doc_web', Unicode)
- doc_title = Column('doc_title', Unicode)
- bgdi_created = Column('bgdi_created', Unicode)
- __maxscale__ = 20005
- __minscale__ = 1
- the_geom = Column(Geometry2D)
-
-register('ch.bav.sachplan-infrastruktur-schiene_kraft', SisPlanningRasterK)
-
-
class SugBaseClass:
__table_args__ = ({'schema': 'bav', 'autoload': False})
__label__ = 'facname_de'
diff --git a/chsdi/response_callbacks.py b/chsdi/response_callbacks.py
index 7695409b89..bdd03e7fcc 100644
--- a/chsdi/response_callbacks.py
+++ b/chsdi/response_callbacks.py
@@ -24,9 +24,3 @@ def add_cors_header(request, response):
response.headers['Access-Control-Allow-Origin'] = "*"
response.headers['Access-Control-Allow-Methods'] = request.registry.settings['request_method']
response.headers['Access-Control-Allow-Headers'] = "*"
-
-
-def add_cross_domain_policy(request, response):
- # Check if the request is a cross domain policy request
- if request.path in ['/crossdomain.xml', '/clientaccesspolicy.xml']:
- response.headers['Content-Type'] = 'text/x-cross-domain-policy'
diff --git a/chsdi/static/doc/source/api/faq/index.rst b/chsdi/static/doc/source/api/faq/index.rst
index 1909b6301b..279d28ff10 100755
--- a/chsdi/static/doc/source/api/faq/index.rst
+++ b/chsdi/static/doc/source/api/faq/index.rst
@@ -77,34 +77,60 @@ The following list contains all the free accessible layers:
.. raw:: html
-
+
-
-
+
+
.. _querybale_layers:
diff --git a/chsdi/static/doc/source/releasenotes/index.rst b/chsdi/static/doc/source/releasenotes/index.rst
index 09e122a830..bceb012b9e 100644
--- a/chsdi/static/doc/source/releasenotes/index.rst
+++ b/chsdi/static/doc/source/releasenotes/index.rst
@@ -14,6 +14,101 @@ Release Notes
+
+.. _releasenotes_20241218:
+
+Release 20241218 - Wednesday, December 18th 2024
+------------------------------------------------
+
+API & applications
+******************
+
+`API /api3.geo.admin.ch>`__
+'''''''''''''''''''''''''''''
+
+- Bug fixes
+- Announcements:
+ - the object ID values of the layer *ch.vbs.schiessanzeigen* will change for all objects due to geometrical changes in the source data with one of the next releases in 2025. Existing permalinks to objects may not work anymore and will have to be replaced by the new object id’s (chsdi fields featureId and id). In addition there will be a new attribute bezeichnung_ort on the dataset. The other existing attributes will stay
+ - decommission of various vectortile styles and datasets by January 2025. Details `read here `__
+ - the layer *ch.bakom.notruf-112_satellit* will be decommissioned with the release of February 5th 2025
+ - the fuzzy search behaviour of swisssearch will be changed. the new quorum operator will be used for the fuzzy search. this operator adds an additional fuzziness on the whole search string. the fuzzy search will therefore return more results than before when searching for multiple keywords.
+
+
+- `Full changelog `__
+
+Geodata
+*******
+
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| New | `Residential areas according to AuLaV /map.geo.admin.ch/?layers=ch.bazl.wohngebiete-aulav>`__ (ch.bazl.wohngebiete-aulav) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Municipal boundaries /map.geo.admin.ch/?layers=ch.swisstopo.swissboundaries3d-gemeinde-flaeche.fill>`__ (ch.swisstopo.swissboundaries3d-gemeinde-flaeche.fill) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `District boundaries /map.geo.admin.ch/?layers=ch.swisstopo.swissboundaries3d-bezirk-flaeche.fill>`__ (ch.swisstopo.swissboundaries3d-bezirk-flaeche.fill) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Cantonal boundaries /map.geo.admin.ch/?layers=ch.swisstopo.swissboundaries3d-kanton-flaeche.fill>`__ (ch.swisstopo.swissboundaries3d-kanton-flaeche.fill) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `National boundaries /map.geo.admin.ch/?layers=ch.swisstopo.swissboundaries3d-land-flaeche.fill>`__ (ch.swisstopo.swissboundaries3d-land-flaeche.fill) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `SIL consultation /map.geo.admin.ch/?layers=ch.bazl.sachplan-infrastruktur-luftfahrt_anhorung>`__ (ch.bazl.sachplan-infrastruktur-luftfahrt_anhorung) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `SP Aviation infrastructure /map.geo.admin.ch/?layers=ch.bazl.sachplan-infrastruktur-luftfahrt_kraft>`__ (ch.bazl.sachplan-infrastruktur-luftfahrt_kraft) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Wells > 500m /map.geo.admin.ch/?layers=ch.swisstopo.geologie-bohrungen_tiefer_500>`__ (ch.swisstopo.geologie-bohrungen_tiefer_500) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Emergency calls by comune /map.geo.admin.ch/?layers=ch.bakom.notruf>`__ (ch.bakom.notruf) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `112 Fixed network /map.geo.admin.ch/?layers=ch.bakom.notruf-112_festnetz>`__ (ch.bakom.notruf-112_festnetz) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `112 Mobile network /map.geo.admin.ch/?layers=ch.bakom.notruf-112_mobilnetz>`__ (ch.bakom.notruf-112_mobilnetz) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `112 Satellite network /map.geo.admin.ch/?layers=ch.bakom.notruf-112_satellit>`__ (ch.bakom.notruf-112_satellit) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `118 Fixed network /map.geo.admin.ch/?layers=ch.bakom.notruf-118_festnetz>`__ (ch.bakom.notruf-118_festnetz) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `118 Mobile network /map.geo.admin.ch/?layers=ch.bakom.notruf-118_mobilnetz>`__ (ch.bakom.notruf-118_mobilnetz) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Spitallandeplätze /map.geo.admin.ch?layers=ch.bazl.spitallandeplaetze>`__ (ch.bazl.spitallandeplaetze) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Groundwater level/spring discharge /map.geo.admin.ch/?layers=ch.bafu.hydroweb-messstationen_grundwasserzustand>`__ (ch.bafu.hydroweb-messstationen_grundwasserzustand) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Sectoral plan CERN consultation /map.geo.admin.ch/?layers=ch.sbfi.sachplan-cern_anhoerung>`__ (ch.sbfi.sachplan-cern_anhoerung) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Habitat Map /map.geo.admin.ch/?layers=ch.bafu.lebensraumkarte-schweiz>`__ (ch.bafu.lebensraumkarte-schweiz) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Cableways/skilifts winter /map.geo.admin.ch/?layers=ch.swisstopo.bahnen-winter>`__ (ch.swisstopo.bahnen-winter) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Accommodations winter /map.geo.admin.ch/?layers=ch.swisstopo.unterkuenfte-winter>`__ (ch.swisstopo.unterkuenfte-winter) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Ski routes /map.geo.admin.ch/?layers=ch.swisstopo-karto.skitouren>`__ (ch.swisstopo-karto.skitouren) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Snowshoe routes /map.geo.admin.ch/?layers=ch.swisstopo-karto.schneeschuhrouten>`__ (ch.swisstopo-schneeschuhrouten) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Swiss Parks (Zones) /map.geo.admin.ch/?layers=ch.bafu.schutzgebiete-paerke_nationaler_bedeutung>`__ (ch.bafu.schutzgebiete-paerke_nationaler_bedeutung) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Swiss Parks (Perimeter) /map.geo.admin.ch/?layers=ch.bafu.schutzgebiete-paerke_nationaler_bedeutung_perimeter>`__ (ch.bafu.schutzgebiete-paerke_nationaler_bedeutung_perimeter) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Wildlife reserves /map.geo.admin.ch/?layers=ch.bafu.wrz-jagdbanngebiete_select>`__ (ch.bafu.wrz-jagdbanngebiete_select) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Designated wildlife areas /map.geo.admin.ch/?layers=ch.bafu.wrz-wildruhezonen_portal>`__ (ch.bafu.wrz-wildruhezonen_portal) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Noise exp. 1st night hour /map.geo.admin.ch/?layers=ch.bazl.laermbelastungskataster-zivilflugplaetze_erste-nachtstunde>`__ (ch.bazl.laermbelastungskataster-zivilflugplaetze_erste-nachtstunde) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Noise exp. helicopters Lmax /map.geo.admin.ch/?layers=ch.bazl.laermbelastungskataster-zivilflugplaetze_helikopter-maximalpegel>`__ (ch.bazl.laermbelastungskataster-zivilflugplaetze_helikopter-maximalpegel) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Noise exp. helicopters Lr /map.geo.admin.ch/?layers=ch.bazl.laermbelastungskataster-zivilflugplaetze_helikopter>`__ (ch.bazl.laermbelastungskataster-zivilflugplaetze_helikopter) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Noise exp. light / large airecrafts /map.geo.admin.ch/?layers=ch.bazl.laermbelastungskataster-zivilflugplaetze_klein-grossflugzeuge>`__ (ch.bazl.laermbelastungskataster-zivilflugplaetze_klein-grossflugzeuge)|
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Noise exp. ligt aircrafts /map.geo.admin.ch/?layers=ch.bazl.laermbelastungskataster-zivilflugplaetze_kleinluftfahrzeuge>`__ (ch.bazl.laermbelastungskataster-zivilflugplaetze_kleinluftfahrzeuge) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Noise exp. last night hour /map.geo.admin.ch/?layers=ch.bazl.laermbelastungskataster-zivilflugplaetze_letzte-nachtstunde>`__ (ch.bazl.laermbelastungskataster-zivilflugplaetze_letzte-nachtstunde) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Noise exp. milit. aerodr. (tot.) /map.geo.admin.ch/?layers=ch.bazl.laermbelastungskataster-zivilflugplaetze_militaer-gesamt>`__ (ch.bazl.laermbelastungskataster-zivilflugplaetze_militaer-gesamt) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Update | `Noise exp. 2nd night hour /map.geo.admin.ch/?layers=ch.bazl.laermbelastungskataster-zivilflugplaetze_zweite-nachtstunde>`__ (ch.bazl.laermbelastungskataster-zivilflugplaetze_zweite-nachtstunde) |
++--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
.. _releasenotes_20241113:
Release 20241113 - Wednesday, November 13th 2024
diff --git a/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_de.png b/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_de.png
index d9c491f98a..07fb4558b5 100644
Binary files a/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_de.png and b/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_de.png differ
diff --git a/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_en.png b/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_en.png
index 797bb1345b..47a0d6a14e 100644
Binary files a/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_en.png and b/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_en.png differ
diff --git a/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_fr.png b/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_fr.png
index 83686f39bc..9b21dd2156 100644
Binary files a/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_fr.png and b/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_fr.png differ
diff --git a/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_it.png b/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_it.png
index 0c86760ab2..be10737124 100644
Binary files a/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_it.png and b/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_it.png differ
diff --git a/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_rm.png b/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_rm.png
index d9c491f98a..07fb4558b5 100644
Binary files a/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_rm.png and b/chsdi/static/images/legends/ch.bafu.hydroweb-messstationen_grundwasserzustand_rm.png differ
diff --git a/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_de.png b/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_de.png
index 32bedec077..dd91e687a0 100644
Binary files a/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_de.png and b/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_de.png differ
diff --git a/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_en.png b/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_en.png
index 32bedec077..dd91e687a0 100644
Binary files a/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_en.png and b/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_en.png differ
diff --git a/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_fr.png b/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_fr.png
index db6a947e04..6575bbadca 100644
Binary files a/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_fr.png and b/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_fr.png differ
diff --git a/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_it.png b/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_it.png
index 37e6d7b4a8..9008d8f9a0 100644
Binary files a/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_it.png and b/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_it.png differ
diff --git a/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_rm.png b/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_rm.png
index 32bedec077..dd91e687a0 100644
Binary files a/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_rm.png and b/chsdi/static/images/legends/ch.bafu.lebensraumkarte-schweiz_rm.png differ
diff --git a/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_de.png b/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_de.png
new file mode 100644
index 0000000000..faa1abec8a
Binary files /dev/null and b/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_de.png differ
diff --git a/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_en.png b/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_en.png
new file mode 100644
index 0000000000..e85ee65b8c
Binary files /dev/null and b/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_en.png differ
diff --git a/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_fr.png b/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_fr.png
new file mode 100644
index 0000000000..407ae55191
Binary files /dev/null and b/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_fr.png differ
diff --git a/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_it.png b/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_it.png
new file mode 100644
index 0000000000..6d8b011862
Binary files /dev/null and b/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_it.png differ
diff --git a/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_rm.png b/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_rm.png
new file mode 100644
index 0000000000..faa1abec8a
Binary files /dev/null and b/chsdi/static/images/legends/ch.bazl.wohngebiete-aulav_rm.png differ
diff --git a/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_de.png b/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_de.png
index 9f3f07747e..31f7c96d84 100644
Binary files a/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_de.png and b/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_de.png differ
diff --git a/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_en.png b/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_en.png
index 9f3f07747e..31f7c96d84 100644
Binary files a/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_en.png and b/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_en.png differ
diff --git a/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_fr.png b/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_fr.png
index 145e4f23f7..2ee614583f 100644
Binary files a/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_fr.png and b/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_fr.png differ
diff --git a/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_it.png b/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_it.png
index e2cdb5ee18..a322697f85 100644
Binary files a/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_it.png and b/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_it.png differ
diff --git a/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_rm.png b/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_rm.png
index 9f3f07747e..31f7c96d84 100644
Binary files a/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_rm.png and b/chsdi/static/images/legends/ch.sbfi.sachplan-cern_anhoerung_rm.png differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_de.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_de.png
deleted file mode 100755
index 4fe7abb909..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_de.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_en.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_en.png
deleted file mode 100755
index c4618a9ac4..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_en.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_fr.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_fr.png
deleted file mode 100755
index cde5621f93..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_fr.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_it.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_it.png
deleted file mode 100755
index a3e152a448..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_it.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_rm.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_rm.png
deleted file mode 100755
index 4fe7abb909..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1915_rm.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_de.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_de.png
deleted file mode 100755
index a454c4dfc2..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_de.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_en.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_en.png
deleted file mode 100755
index 63ba092900..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_en.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_fr.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_fr.png
deleted file mode 100755
index c9bd48c7ba..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_fr.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_it.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_it.png
deleted file mode 100755
index bb1f808a75..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_it.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_rm.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_rm.png
deleted file mode 100755
index a454c4dfc2..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1965_rm.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_de.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_de.png
deleted file mode 100755
index 8f2561ec1b..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_de.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_en.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_en.png
deleted file mode 100755
index 3f8d4a35f6..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_en.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_fr.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_fr.png
deleted file mode 100755
index 23e6ac1be9..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_fr.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_it.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_it.png
deleted file mode 100755
index 4d09f0e533..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_it.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_rm.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_rm.png
deleted file mode 100755
index 8f2561ec1b..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1980_rm.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_de.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_de.png
deleted file mode 100755
index bb571e7af2..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_de.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_en.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_en.png
deleted file mode 100755
index 6c037802d0..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_en.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_fr.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_fr.png
deleted file mode 100755
index 86b98a0be3..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_fr.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_it.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_it.png
deleted file mode 100755
index 917b54dd54..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_it.png and /dev/null differ
diff --git a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_rm.png b/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_rm.png
deleted file mode 100755
index bb571e7af2..0000000000
Binary files a/chsdi/static/images/legends/ch.swisstopo.geologie-geotechnik-steinbrueche_1995_rm.png and /dev/null differ
diff --git a/chsdi/subscribers.py b/chsdi/subscribers.py
index e5cbbea18e..7561f79fe6 100644
--- a/chsdi/subscribers.py
+++ b/chsdi/subscribers.py
@@ -11,7 +11,6 @@
from chsdi.models.bod import get_translations
from chsdi.response_callbacks import add_default_cache_control
from chsdi.response_callbacks import add_cors_header
-from chsdi.response_callbacks import add_cross_domain_policy
import logging
@@ -85,7 +84,6 @@ def log_request(event):
def setup_response_callbacks(event):
event.request.add_response_callback(add_default_cache_control)
event.request.add_response_callback(add_cors_header)
- event.request.add_response_callback(add_cross_domain_policy)
@subscriber(NewResponse)
diff --git a/chsdi/templates/htmlpopup/bafu_lebensraumkarte_schweiz.mako b/chsdi/templates/htmlpopup/bafu_lebensraumkarte_schweiz.mako
index 331e7b74ef..198c74b27b 100644
--- a/chsdi/templates/htmlpopup/bafu_lebensraumkarte_schweiz.mako
+++ b/chsdi/templates/htmlpopup/bafu_lebensraumkarte_schweiz.mako
@@ -20,8 +20,8 @@
${_('ch.bafu.lebensraumkarte-schweiz.cover')} |
- % if c['attributes']['cover']:
- ${round(c['attributes']['cover'], 5)} |
+ % if c['attributes']['cover'] and c['attributes']['cover'] < 9999:
+ ${c['attributes']['cover']} |
% else:
- |
% endif
diff --git a/chsdi/templates/htmlpopup/geologie_reflexionsseismik_line.mako b/chsdi/templates/htmlpopup/geologie_reflexionsseismik_line.mako
index 6fb30b42e2..1c530590cb 100644
--- a/chsdi/templates/htmlpopup/geologie_reflexionsseismik_line.mako
+++ b/chsdi/templates/htmlpopup/geologie_reflexionsseismik_line.mako
@@ -80,19 +80,27 @@
${_('ch.swisstopo.geologie-reflexionsseismik.link')}
- % if c['attributes']['link'] in [None, "-"]:
- | ${'-'} |
+ % if c['attributes']['link'] and c['attributes']['link'].startswith('http'):
+ ${_('link')} |
% else:
- ${_('link')} |
+ - |
% endif
${_('ch.swisstopo.geologie-reflexionsseismik.download')}
- | ${c['attributes']['download'] or '-'} |
+ % if c['attributes']['download'] and c['attributes']['download'].startswith('http'):
+ ${_('link')} |
+ % else:
+ - |
+ % endif
${_('ch.swisstopo.geologie-reflexionsseismik.swissgeol')}
- | ${c['attributes']['swissgeol'] or '-'} |
+ % if c['attributes']['swissgeol'] and c['attributes']['swissgeol'].startswith('http'):
+ ${_('link')} |
+ % else:
+ - |
+ % endif
%def>
diff --git a/chsdi/templates/htmlpopup/geologie_reflexionsseismik_poly.mako b/chsdi/templates/htmlpopup/geologie_reflexionsseismik_poly.mako
index e701de0801..b635c8aab7 100644
--- a/chsdi/templates/htmlpopup/geologie_reflexionsseismik_poly.mako
+++ b/chsdi/templates/htmlpopup/geologie_reflexionsseismik_poly.mako
@@ -80,19 +80,27 @@
${_('ch.swisstopo.geologie-reflexionsseismik.link')}
- % if c['attributes']['link'] in [None, "-"]:
- | ${'-'} |
+ % if c['attributes']['link'] and c['attributes']['link'].startswith('http'):
+ ${_('link')} |
% else:
- ${_('link')} |
+ - |
% endif
${_('ch.swisstopo.geologie-reflexionsseismik.download')}
- | ${c['attributes']['download'] or '-'} |
+ % if c['attributes']['download'] and c['attributes']['download'].startswith('http'):
+ ${_('link')} |
+ % else:
+ - |
+ % endif
${_('ch.swisstopo.geologie-reflexionsseismik.swissgeol')}
- | ${c['attributes']['swissgeol'] or '-'} |
+ % if c['attributes']['swissgeol'] and c['attributes']['swissgeol'].startswith('http'):
+ ${_('link')} |
+ % else:
+ - |
+ % endif
%def>
diff --git a/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_line.mako b/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_fac_line.mako
similarity index 82%
rename from chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_line.mako
rename to chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_fac_line.mako
index 67a5825119..d82ee54133 100644
--- a/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_line.mako
+++ b/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_fac_line.mako
@@ -32,8 +32,12 @@
${_('ch.sbfi.sachplan-cern_anhoerung.web')} |
- % if c['attributes'][doc_web_text].startswith('http'):
- ${c['attributes'][title_text]} |
+ % if c['attributes'][doc_web_text]:
+ % if c['attributes'][doc_web_text].startswith('http'):
+ ${c['attributes'][title_text]} |
+ % else:
+ - |
+ % endif
% else:
- |
% endif
diff --git a/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_pnt.mako b/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_fac_pnt.mako
similarity index 82%
rename from chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_pnt.mako
rename to chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_fac_pnt.mako
index 67a5825119..d82ee54133 100644
--- a/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_pnt.mako
+++ b/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_fac_pnt.mako
@@ -32,8 +32,12 @@
${_('ch.sbfi.sachplan-cern_anhoerung.web')} |
- % if c['attributes'][doc_web_text].startswith('http'):
- ${c['attributes'][title_text]} |
+ % if c['attributes'][doc_web_text]:
+ % if c['attributes'][doc_web_text].startswith('http'):
+ ${c['attributes'][title_text]} |
+ % else:
+ - |
+ % endif
% else:
- |
% endif
diff --git a/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_poly.mako b/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_plm_poly.mako
similarity index 85%
rename from chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_poly.mako
rename to chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_plm_poly.mako
index b1309783e2..861c964146 100644
--- a/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_poly.mako
+++ b/chsdi/templates/htmlpopup/sbfi_sachplan_cern_anhoerung_plm_poly.mako
@@ -41,8 +41,12 @@
${_('ch.sbfi.sachplan-cern_anhoerung.web')} |
- % if c['attributes'][doc_web_text].startswith('http'):
- ${c['attributes'][title_text]} |
+ % if c['attributes'][doc_web_text]:
+ % if c['attributes'][doc_web_text].startswith('http'):
+ ${c['attributes'][title_text]} |
+ % else:
+ - |
+ % endif
% else:
- |
% endif
diff --git a/chsdi/templates/htmlpopup/steinbrueche_1915.mako b/chsdi/templates/htmlpopup/steinbrueche_1915.mako
deleted file mode 100644
index 862ec3cb77..0000000000
--- a/chsdi/templates/htmlpopup/steinbrueche_1915.mako
+++ /dev/null
@@ -1,6 +0,0 @@
-<%inherit file="base.mako"/>
-
-<%def name="table_body(c,lang)">
-
${_('gesteinsgr')} | ${c['attributes']['gesteinsgr'] or '-'} |
- ${_('gestein')} | ${c['attributes']['gestein'] or '-'} |
-%def>
diff --git a/chsdi/templates/htmlpopup/steinbrueche_1965.mako b/chsdi/templates/htmlpopup/steinbrueche_1965.mako
deleted file mode 100644
index 862ec3cb77..0000000000
--- a/chsdi/templates/htmlpopup/steinbrueche_1965.mako
+++ /dev/null
@@ -1,6 +0,0 @@
-<%inherit file="base.mako"/>
-
-<%def name="table_body(c,lang)">
- ${_('gesteinsgr')} | ${c['attributes']['gesteinsgr'] or '-'} |
- ${_('gestein')} | ${c['attributes']['gestein'] or '-'} |
-%def>
diff --git a/chsdi/templates/htmlpopup/steinbrueche_1980.mako b/chsdi/templates/htmlpopup/steinbrueche_1980.mako
deleted file mode 100644
index 3bd84e139b..0000000000
--- a/chsdi/templates/htmlpopup/steinbrueche_1980.mako
+++ /dev/null
@@ -1,6 +0,0 @@
-<%inherit file="base.mako"/>
-
-<%def name="table_body(c,lang)">
- ${_('gesteinsgr')} | ${c['attributes']['gesteinsgr'] or '-'} |
- ${_('gestein')} | ${c['attributes']['gestein'] or '-'} |
-%def>
diff --git a/chsdi/templates/htmlpopup/steinbrueche_1995.mako b/chsdi/templates/htmlpopup/steinbrueche_1995.mako
deleted file mode 100644
index 862ec3cb77..0000000000
--- a/chsdi/templates/htmlpopup/steinbrueche_1995.mako
+++ /dev/null
@@ -1,6 +0,0 @@
-<%inherit file="base.mako"/>
-
-<%def name="table_body(c,lang)">
- ${_('gesteinsgr')} | ${c['attributes']['gesteinsgr'] or '-'} |
- ${_('gestein')} | ${c['attributes']['gestein'] or '-'} |
-%def>
diff --git a/chsdi/templates/htmlpopup/swisssurface3d.mako b/chsdi/templates/htmlpopup/swisssurface3d.mako
index f786578674..791555ae2e 100644
--- a/chsdi/templates/htmlpopup/swisssurface3d.mako
+++ b/chsdi/templates/htmlpopup/swisssurface3d.mako
@@ -2,5 +2,6 @@
<%def name="table_body(c, lang)">
${_('ch.swisstopo.swisssurface3d.metadata.tilekey')} | ${c['id'] or '-'} |
- ${_('ch.swisstopo.swisssurface3d.metadata.temporalkey')} | ${c['attributes']['temporalkey'] or '-'} |
+ ${_('ch.swisstopo.swisssurface3d.metadata.gpstime_min')} | ${c['attributes']['gpstime_min'] or '-'} |
+ ${_('ch.swisstopo.swisssurface3d.metadata.gpstime_max')} | ${c['attributes']['gpstime_max'] or '-'} |
%def>
diff --git a/chsdi/templates/index.mako b/chsdi/templates/index.mako
index 400891607b..38b6d6c480 100644
--- a/chsdi/templates/index.mako
+++ b/chsdi/templates/index.mako
@@ -51,7 +51,7 @@ version = python_version()
Identify on mutiple queryable attributes
Identify - example with callback
Identify - without geometry
- Identify - geometryFormat=interlis on Oereb layers
+ Identify - geometryFormat=interlis on Oereb layers
Indentify: with query
Query 'ch.bazl.luftfahrthindernis' for 'Antenna' with a bbox
Get some values for attribute 'obstacletype'
diff --git a/chsdi/views/layers.py b/chsdi/views/layers.py
index 7ce6443810..0c8808142a 100644
--- a/chsdi/views/layers.py
+++ b/chsdi/views/layers.py
@@ -147,51 +147,6 @@ def insert_value_at(field, attrName, value):
return {'id': layerId, 'name': params.translate(layerId), 'fields': fields}
-@view_config(route_name='faqlist', renderer='jsonp')
-def faqlist(request):
- params = BaseLayersValidation(request)
- params.geodataStaging = 'prod'
- translations = {}
-
- # That there is a tooltip
- tooltipLayers = []
- # That you can search in layer search
- searchableLayers = []
- # That you need to pay for
- chargeableLayers = []
- # Free layers
- notChargeableLayers = []
- # queryable layer (filtering with where and layerDefs)
- queryableLayers = []
-
- query = params.request.db.query(LayersConfig)
- for layer in get_layers_config_for_params(params, query, LayersConfig):
- k = list(layer.keys()).pop()
- lyr = list(layer.values()).pop()
- if 'parentLayerId' not in lyr and not k.endswith('_3d'):
- if k not in translations:
- translations[k] = request.translate(k)
- if 'tooltip' in lyr and lyr['tooltip'] and 'type' in lyr and lyr['type'] not in ('geojson',):
- tooltipLayers.append(k)
- if 'queryableAttributes' in lyr and lyr['queryableAttributes']:
- queryableLayers.append(k)
- if 'searchable' in lyr and lyr['searchable']:
- searchableLayers.append(k)
- if 'chargeable' in lyr and lyr['chargeable']:
- chargeableLayers.append(k)
- if 'chargeable' in lyr and not lyr['chargeable']:
- notChargeableLayers.append(k)
-
- return {
- 'translations': translations,
- 'tooltipLayers': sorted(tooltipLayers),
- 'searchableLayers': sorted(searchableLayers),
- 'chargeableLayers': sorted(chargeableLayers),
- 'notChargeableLayers': sorted(notChargeableLayers),
- 'queryableLayers': sorted(queryableLayers)
- }
-
-
def _has_legend(layerId, lang):
legendsDir = os.path.join(os.path.dirname(__file__), '../static/images/legends')
image = "%s_%s.png" % (layerId, lang)
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
index e37b5c7a3c..7050b18de3 100755
--- a/docker-entrypoint.sh
+++ b/docker-entrypoint.sh
@@ -20,8 +20,6 @@ envsubst < apache/ports.conf.in > /etc/apache2/ports.conf
envsubst < apache/wsgi-py3.conf.in > apache/wsgi.conf
-cd chsdi/static/ && ln -sf "${ROBOTS_FILE}" robots.txt && cd - || echo "FAILED TO CREATE ROBOTS LINK"
-
if [ -n "${LOGS_DIR}" ]; then
install -d -o "${USER}" -g "${GROUP}" -m 0777 "${LOGS_DIR}"
fi
diff --git a/secrets.yml b/secrets.yml
index c1e6739c83..5462e4813d 100644
--- a/secrets.yml
+++ b/secrets.yml
@@ -1,3 +1,3 @@
-OPENTRANS_API_KEY: !var infra-gopass-bgdi/mf-chsdi3/OPENTRANS_API_KEY password
-PGUSER: !var infra-gopass-bgdi/mf-chsdi3/PG PGUSER
-PGPASSWORD: !var infra-gopass-bgdi/mf-chsdi3/PG PGPASSWORD
\ No newline at end of file
+PGUSER: !var /amazon-rds/geodata-master/www-data/user --profile swisstopo-bgdi
+PGPASSWORD: !var /amazon-rds/geodata-master/www-data/password --profile swisstopo-bgdi
+OPENTRANS_API_KEY: !var /opentransportdata.swiss/swisstopo/tokens/departure_board --profile swisstopo-bgdi
diff --git a/tests/integration/test_identify_service.py b/tests/integration/test_identify_service.py
index bb7790ab6d..6f5096fa52 100644
--- a/tests/integration/test_identify_service.py
+++ b/tests/integration/test_identify_service.py
@@ -749,7 +749,7 @@ def test_identify_oereb_several_layers(self):
params = {'geometry': '618953,170093',
'geometryType': 'esriGeometryPoint',
'imageDisplay': '1920,576,96',
- 'layers': 'all:ch.bav.kataster-belasteter-standorte-oev.oereb,ch.bazl.sicherheitszonenplan.oereb',
+ 'layers': 'all:ch.bav.kataster-belasteter-standorte-oev_v2_0.oereb,ch.bazl.sicherheitszonenplan_v2_0.oereb',
'mapExtent': '671164.31244,253770,690364.31244,259530',
'tolerance': '5',
'geometryFormat': 'interlis'}
diff --git a/tests/integration/test_layers_service.py b/tests/integration/test_layers_service.py
index 543ecc787c..ad4c782767 100644
--- a/tests/integration/test_layers_service.py
+++ b/tests/integration/test_layers_service.py
@@ -86,32 +86,6 @@ def test_metadata_chargeable_false(self):
resp = self.testapp.get('/rest/services/blw/MapServer', params={'chargeable': 'false'}, status=200)
self.assertEqual(resp.content_type, 'application/json')
- def test_faqlist(self):
- resp = self.testapp.get('/rest/services/api/faqlist', status=200)
- self.assertEqual(resp.content_type, 'application/json')
- self.assertIn('ch.astra.ivs-nat', resp.json['searchableLayers'])
- self.assertIn('ch.bafu.bundesinventare-bln', resp.json['tooltipLayers'])
- self.assertIn('ch.swisstopo-karto.hangneigung', resp.json['chargeableLayers'])
- self.assertIn('ch.are.alpenkonvention', resp.json['notChargeableLayers'])
- self.assertGreater(len(resp.json['searchableLayers']), 20)
- self.assertGreater(len(resp.json['tooltipLayers']), 20)
- self.assertGreater(len(resp.json['chargeableLayers']), 20)
- self.assertGreater(len(resp.json['notChargeableLayers']), 20)
- self.assertGreater(len(resp.json['translations']), 20)
-
- def test_faqlist_topic_all(self):
- resp = self.testapp.get('/rest/services/all/faqlist', status=200)
- self.assertEqual(resp.content_type, 'application/json')
- self.assertIn('ch.astra.ivs-nat', resp.json['searchableLayers'])
- self.assertIn('ch.bafu.bundesinventare-bln', resp.json['tooltipLayers'])
- self.assertIn('ch.swisstopo-karto.hangneigung', resp.json['chargeableLayers'])
- self.assertIn('ch.are.alpenkonvention', resp.json['notChargeableLayers'])
- self.assertGreater(len(resp.json['searchableLayers']), 20)
- self.assertGreater(len(resp.json['tooltipLayers']), 20)
- self.assertGreater(len(resp.json['chargeableLayers']), 20)
- self.assertGreater(len(resp.json['notChargeableLayers']), 20)
- self.assertGreater(len(resp.json['translations']), 20)
-
def test_legend_valid(self):
resp = self.testapp.get('/rest/services/ech/MapServer/ch.bafu.bundesinventare-bln/legend', status=200)
self.assertEqual(resp.content_type, 'text/html')