qwc2 2025.12.2 → 2025.12.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/windows.js +2 -0
- package/components/Icon.js +9 -2
- package/components/IdentifyViewer.js +1 -1
- package/components/map3d/MapControls3D.js +7 -9
- package/components/map3d/style/MapControls3D.css +7 -2
- package/icons/oblique.svg +53 -0
- package/package.json +3 -2
- package/plugins/Cyclomedia.js +2 -1
- package/plugins/MapTip.js +1 -1
- package/plugins/ObliqueView.js +410 -0
- package/plugins/style/Map.css +4 -2
- package/plugins/style/ObliqueView.css +112 -0
- package/scripts/themesConfig.js +2 -0
- package/scripts/themesConfig.py +3 -0
- package/static/translations/bg-BG.json +5 -0
- package/static/translations/ca-ES.json +5 -0
- package/static/translations/cs-CZ.json +5 -0
- package/static/translations/de-CH.json +5 -0
- package/static/translations/de-DE.json +5 -0
- package/static/translations/en-US.json +5 -0
- package/static/translations/es-ES.json +5 -0
- package/static/translations/fi-FI.json +5 -0
- package/static/translations/fr-FR.json +5 -0
- package/static/translations/hu-HU.json +5 -0
- package/static/translations/it-IT.json +5 -0
- package/static/translations/ja-JP.json +5 -0
- package/static/translations/nl-NL.json +5 -0
- package/static/translations/no-NO.json +5 -0
- package/static/translations/pl-PL.json +5 -0
- package/static/translations/pt-BR.json +5 -0
- package/static/translations/pt-PT.json +5 -0
- package/static/translations/ro-RO.json +5 -0
- package/static/translations/ru-RU.json +5 -0
- package/static/translations/sv-SE.json +5 -0
- package/static/translations/tr-TR.json +5 -0
- package/static/translations/tsconfig.json +3 -0
- package/static/translations/uk-UA.json +5 -0
- package/utils/CoordinatesUtils.js +2 -0
- package/utils/EditingInterface.js +11 -2
- package/utils/MiscUtils.js +23 -0
- package/utils/VectorLayerUtils.js +10 -3
package/plugins/style/Map.css
CHANGED
|
@@ -9,8 +9,10 @@ div.map-contents {
|
|
|
9
9
|
/* Move and re-style rotation reset button */
|
|
10
10
|
div.ol-rotate {
|
|
11
11
|
padding: 0;
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
bottom: 2.75em!important;
|
|
13
|
+
left: 0.5em!important;
|
|
14
|
+
right: initial!important;
|
|
15
|
+
top: initial!important;
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
div.ol-rotate button {
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
div.obliqueview-body {
|
|
2
|
+
position: absolute;
|
|
3
|
+
left: 0;
|
|
4
|
+
right: 0;
|
|
5
|
+
top: 0;
|
|
6
|
+
bottom: 0;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
div.obliqueview-empty-overlay {
|
|
10
|
+
position: absolute;
|
|
11
|
+
left: 0;
|
|
12
|
+
right: 0;
|
|
13
|
+
top: 0;
|
|
14
|
+
bottom: 0;
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
background-color: rgba(200, 200, 200);
|
|
19
|
+
z-index: 4;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
div.obliqueview-map {
|
|
23
|
+
height: 100%;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
div.obliqueview-nav-rotate {
|
|
27
|
+
position: absolute;
|
|
28
|
+
right: 1em;
|
|
29
|
+
top: 1em;
|
|
30
|
+
display: flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
flex-wrap: wrap;
|
|
34
|
+
width: 4em;
|
|
35
|
+
height: 4em;
|
|
36
|
+
border-radius: 3em;
|
|
37
|
+
color: var(--map-button-text-color);
|
|
38
|
+
background-color: var(--map-button-bg-color);
|
|
39
|
+
box-shadow: 0px 5px 10px rgba(136, 136, 136, 0.5);
|
|
40
|
+
margin-bottom: 0.5em;
|
|
41
|
+
transition: transform 0.5s;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
div.obliqueview-nav-rotate > span {
|
|
45
|
+
flex: 0 0 1.25em;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
span.obliqueview-nav-dir {
|
|
49
|
+
display: flex;
|
|
50
|
+
align-items: center;
|
|
51
|
+
justify-content: center;
|
|
52
|
+
font-weight: bold;
|
|
53
|
+
cursor: pointer;
|
|
54
|
+
transition: transform 0.5s;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
div.obliqueview-nav-zoom {
|
|
58
|
+
position: absolute;
|
|
59
|
+
right: 0.5em;
|
|
60
|
+
top: 6em;
|
|
61
|
+
width: 2em;
|
|
62
|
+
display: flex;
|
|
63
|
+
align-items: center;
|
|
64
|
+
justify-content: center;
|
|
65
|
+
color: var(--map-button-text-color);
|
|
66
|
+
background-color: var(--map-button-bg-color);
|
|
67
|
+
box-shadow: 0px 5px 10px rgba(136, 136, 136, 0.5);
|
|
68
|
+
border-radius: 4px;
|
|
69
|
+
cursor: pointer;
|
|
70
|
+
transition: background-color 0.5s, color 0.5s;
|
|
71
|
+
flex-direction: column;
|
|
72
|
+
margin: 0 1.5em 0.5em 1em;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
div.obliqueview-nav-zoom > span {
|
|
76
|
+
height: 2em;
|
|
77
|
+
width: 1.5em;
|
|
78
|
+
display: flex;
|
|
79
|
+
align-items: center;
|
|
80
|
+
justify-content: center;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
div.obliqueview-nav-zoom > span:first-child {
|
|
84
|
+
border-bottom: 1px solid var(--map-button-text-color);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
div.obliqueview-bottombar {
|
|
88
|
+
position: absolute;
|
|
89
|
+
left: 0;
|
|
90
|
+
right: 0;
|
|
91
|
+
bottom: 0;
|
|
92
|
+
height: 3em;
|
|
93
|
+
z-index: 100;
|
|
94
|
+
color: var(--panel-text-color);
|
|
95
|
+
background-color: var(--panel-bg-color);
|
|
96
|
+
box-shadow: 0 -2px 4px rgba(136, 136, 136, 0.5);
|
|
97
|
+
backdrop-filter: blur(3px);
|
|
98
|
+
font-size: 75%;
|
|
99
|
+
display: flex;
|
|
100
|
+
align-items: center;
|
|
101
|
+
justify-content: center;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
div.obliqueview-scalechooser {
|
|
105
|
+
width: 10em;
|
|
106
|
+
display: flex;
|
|
107
|
+
align-items: center;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
div.obliqueview-scalechooser > div.input-container {
|
|
111
|
+
flex: 1 1 auto;
|
|
112
|
+
}
|
package/scripts/themesConfig.js
CHANGED
|
@@ -588,6 +588,7 @@ function getTheme(config, configItem, result, resultItem, proxy) {
|
|
|
588
588
|
resultItem.mapTips = configItem.mapTips;
|
|
589
589
|
resultItem.userMap = configItem.userMap;
|
|
590
590
|
resultItem.map3d = configItem.map3d;
|
|
591
|
+
resultItem.obliqueDatasets = configItem.obliqueDatasets;
|
|
591
592
|
resultItem.viewMode = configItem.viewMode;
|
|
592
593
|
resultItem.editConfig = getEditConfig(configItem.editConfig);
|
|
593
594
|
|
|
@@ -640,6 +641,7 @@ function getGroupThemes(config, configGroup, result, resultGroup, proxy, groupCo
|
|
|
640
641
|
var groupEntry = {
|
|
641
642
|
id: 'g' + ++groupCounter,
|
|
642
643
|
title: group.title,
|
|
644
|
+
titleMsgId: group.titleMsgId,
|
|
643
645
|
items: [],
|
|
644
646
|
subdirs: []
|
|
645
647
|
};
|
package/scripts/themesConfig.py
CHANGED
|
@@ -540,6 +540,8 @@ def getTheme(config, configItem, result, resultItem):
|
|
|
540
540
|
|
|
541
541
|
if "map3d" in configItem:
|
|
542
542
|
resultItem["map3d"] = configItem["map3d"]
|
|
543
|
+
if "obliqueDatasets" in configItem:
|
|
544
|
+
resultItem["obliqueDatasets"] = configItem["obliqueDatasets"]
|
|
543
545
|
if "viewMode" in configItem:
|
|
544
546
|
resultItem["viewMode"] = configItem["viewMode"]
|
|
545
547
|
|
|
@@ -588,6 +590,7 @@ def getGroupThemes(config, configGroup, result, resultGroup, groupCounter):
|
|
|
588
590
|
groupEntry = {
|
|
589
591
|
"id": "g%d" % groupCounter,
|
|
590
592
|
"title": group["title"],
|
|
593
|
+
"titleMsgId": group["titleMsgId"],
|
|
591
594
|
"items": [],
|
|
592
595
|
"subdirs": []
|
|
593
596
|
}
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Измерване на линия",
|
|
51
51
|
"MeasurePolygon": "Измерване на полигон",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "Портал",
|
|
55
56
|
"PrintScreen3D": "Експорт на мрежата",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Ширина",
|
|
462
463
|
"windowtitle": "Цифрово въвеждане"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Mesurar una línia",
|
|
51
51
|
"MeasurePolygon": "Mesurar un polígon",
|
|
52
52
|
"NewsPopup": "Notícies",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "Panoramax",
|
|
54
55
|
"Portal": "Portal",
|
|
55
56
|
"PrintScreen3D": "Exportar ràster",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Amplada",
|
|
462
463
|
"windowtitle": "Entrada numèrica"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "No hi ha imatge disponible per a aquesta ubicació.",
|
|
466
471
|
"title": "Visor Panoramax"
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Změřit úsek",
|
|
51
51
|
"MeasurePolygon": "Měřit mnohoúhelník",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "",
|
|
462
463
|
"windowtitle": ""
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Messen Linie",
|
|
51
51
|
"MeasurePolygon": "Messen Polygon",
|
|
52
52
|
"NewsPopup": "Aktuelles",
|
|
53
|
+
"ObliqueView": "Schrägluftbildansicht",
|
|
53
54
|
"Panoramax": "Panoramax",
|
|
54
55
|
"Portal": "Portal",
|
|
55
56
|
"PrintScreen3D": "Raster Export",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Breite",
|
|
462
463
|
"windowtitle": "Numerische Eingabe"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "Keine Schrägluftbilder verfügbar",
|
|
467
|
+
"title": "Schrägluftbildansicht"
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "An diesem Ort ist kein Bild verfügbar.",
|
|
466
471
|
"title": "Panoramax Viewer"
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Messen Linie",
|
|
51
51
|
"MeasurePolygon": "Messen Polygon",
|
|
52
52
|
"NewsPopup": "Aktuelles",
|
|
53
|
+
"ObliqueView": "Schrägluftbildansicht",
|
|
53
54
|
"Panoramax": "Panoramax",
|
|
54
55
|
"Portal": "Portal",
|
|
55
56
|
"PrintScreen3D": "Raster Export",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Breite",
|
|
462
463
|
"windowtitle": "Numerische Eingabe"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "Keine Schrägluftbilder verfügbar",
|
|
467
|
+
"title": "Schrägluftbildansicht"
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "An diesem Ort ist kein Bild verfügbar.",
|
|
466
471
|
"title": "Panoramax Viewer"
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Measure a line",
|
|
51
51
|
"MeasurePolygon": "Measure a polygon",
|
|
52
52
|
"NewsPopup": "News",
|
|
53
|
+
"ObliqueView": "Oblique Aerial View",
|
|
53
54
|
"Panoramax": "Panoramax",
|
|
54
55
|
"Portal": "Portal",
|
|
55
56
|
"PrintScreen3D": "Raster Export",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Width",
|
|
462
463
|
"windowtitle": "Numeric input"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "No oblique imagery available",
|
|
467
|
+
"title": "Oblique Aerial View"
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "There is no image available for this location.",
|
|
466
471
|
"title": "Panoramax Viewer"
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Medir una línea",
|
|
51
51
|
"MeasurePolygon": "Medir un polígono",
|
|
52
52
|
"NewsPopup": "Noticias",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "Panoramax",
|
|
54
55
|
"Portal": "Portal",
|
|
55
56
|
"PrintScreen3D": "Exportar ráster",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Ancho",
|
|
462
463
|
"windowtitle": "Entrada numérica"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "No hay imagen disponible para esta ubicación.",
|
|
466
471
|
"title": "Visor Panoramax"
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Mittaa viiva",
|
|
51
51
|
"MeasurePolygon": "Mittaa monikulmion",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "",
|
|
462
463
|
"windowtitle": ""
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Mesurer une ligne",
|
|
51
51
|
"MeasurePolygon": "Mesurer un polygone",
|
|
52
52
|
"NewsPopup": "Actualités",
|
|
53
|
+
"ObliqueView": "Vue aérienne oblique",
|
|
53
54
|
"Panoramax": "Panoramax",
|
|
54
55
|
"Portal": "Portail",
|
|
55
56
|
"PrintScreen3D": "Export raster",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Largeur",
|
|
462
463
|
"windowtitle": "Entrée numérique"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "Aucune image aérienne oblique disponible",
|
|
467
|
+
"title": "Vue aérienne oblique"
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "Il n'y a pas d'image disponible pour cet emplacement.",
|
|
466
471
|
"title": "Visionneuse Panoramax"
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Mérési vonal",
|
|
51
51
|
"MeasurePolygon": "Mérési sokszög",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "",
|
|
462
463
|
"windowtitle": ""
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Misura una linea",
|
|
51
51
|
"MeasurePolygon": "Misura un poligono",
|
|
52
52
|
"NewsPopup": "Attualità",
|
|
53
|
+
"ObliqueView": "Vista aerea obliqua",
|
|
53
54
|
"Panoramax": "Panoramax",
|
|
54
55
|
"Portal": "Portale",
|
|
55
56
|
"PrintScreen3D": "Esporta raster",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Larghezza",
|
|
462
463
|
"windowtitle": "Formulario numerico"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "Nessuna immagine aerea obliqua disponibile",
|
|
467
|
+
"title": "Vista aerea obliqua"
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "Nessun immagine disponibile per questa posizione",
|
|
466
471
|
"title": "Visualizzatore Panoramax"
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "ラインを測る",
|
|
51
51
|
"MeasurePolygon": "ポリゴンを測る",
|
|
52
52
|
"NewsPopup": "ニュース",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "Panoramax",
|
|
54
55
|
"Portal": "ポータル",
|
|
55
56
|
"PrintScreen3D": "ラスタ・エクスポート",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "幅",
|
|
462
463
|
"windowtitle": "数値入力"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "この場所には表示できる画像がありません。",
|
|
466
471
|
"title": "Panoramax Viewer"
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "lengte meten",
|
|
51
51
|
"MeasurePolygon": "Oppervlakte meten",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "Portal",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Breedte",
|
|
462
463
|
"windowtitle": "Numerieke invoer"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Måle en linje",
|
|
51
51
|
"MeasurePolygon": "Måle en polygon",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "",
|
|
462
463
|
"windowtitle": ""
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Zmierzyć linię",
|
|
51
51
|
"MeasurePolygon": "Zmierzyć wielokąt",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "",
|
|
462
463
|
"windowtitle": ""
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Medir uma linha",
|
|
51
51
|
"MeasurePolygon": "Medir um polígono",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Largura",
|
|
462
463
|
"windowtitle": "Título da janela"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Medir Linha",
|
|
51
51
|
"MeasurePolygon": "Medir Polígono",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Largura",
|
|
462
463
|
"windowtitle": "Entrada Numérica"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Măsoară o linie",
|
|
51
51
|
"MeasurePolygon": "Măsoară un poligon",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Lățimea",
|
|
462
463
|
"windowtitle": "Valori numerice"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "измерить линию",
|
|
51
51
|
"MeasurePolygon": "измерить многоугольник",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "",
|
|
462
463
|
"windowtitle": ""
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Mäta en linje",
|
|
51
51
|
"MeasurePolygon": "Mäta en polygon",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "",
|
|
462
463
|
"windowtitle": ""
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Çizgi Ölç",
|
|
51
51
|
"MeasurePolygon": "Alan Ölç",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "Portal",
|
|
55
56
|
"PrintScreen3D": "Görüntüyü ver",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "Genişlik",
|
|
462
463
|
"windowtitle": "Sayısal giriş"
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"appmenu.items.MeasureLineString",
|
|
46
46
|
"appmenu.items.MeasurePolygon",
|
|
47
47
|
"appmenu.items.NewsPopup",
|
|
48
|
+
"appmenu.items.ObliqueView",
|
|
48
49
|
"appmenu.items.ObjectList",
|
|
49
50
|
"appmenu.items.Panoramax",
|
|
50
51
|
"appmenu.items.Portal",
|
|
@@ -401,6 +402,8 @@
|
|
|
401
402
|
"numericinput.side",
|
|
402
403
|
"numericinput.width",
|
|
403
404
|
"numericinput.windowtitle",
|
|
405
|
+
"obliqueview.nodataset",
|
|
406
|
+
"obliqueview.title",
|
|
404
407
|
"panoramax.notfound",
|
|
405
408
|
"panoramax.title",
|
|
406
409
|
"pickfeature.querying",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"MeasureLineString": "Поміряти відрізок",
|
|
51
51
|
"MeasurePolygon": "Виміряти полігон",
|
|
52
52
|
"NewsPopup": "",
|
|
53
|
+
"ObliqueView": "",
|
|
53
54
|
"Panoramax": "",
|
|
54
55
|
"Portal": "",
|
|
55
56
|
"PrintScreen3D": "",
|
|
@@ -461,6 +462,10 @@
|
|
|
461
462
|
"width": "",
|
|
462
463
|
"windowtitle": ""
|
|
463
464
|
},
|
|
465
|
+
"obliqueview": {
|
|
466
|
+
"nodataset": "",
|
|
467
|
+
"title": ""
|
|
468
|
+
},
|
|
464
469
|
"panoramax": {
|
|
465
470
|
"notfound": "",
|
|
466
471
|
"title": ""
|
|
@@ -167,6 +167,8 @@ var CoordinatesUtils = {
|
|
|
167
167
|
if (commonEsriWktLookup[epsgCode]) {
|
|
168
168
|
return commonEsriWktLookup[epsgCode];
|
|
169
169
|
}
|
|
170
|
+
|
|
171
|
+
/* eslint-disable-next-line */
|
|
170
172
|
console.warn("No ESRI WKT definition found for ".concat(epsgCode, ". Shapefile export may not include projection information. Consider adding an 'esriWkt' property to the projection in config.json."));
|
|
171
173
|
return null;
|
|
172
174
|
},
|
|
@@ -25,6 +25,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
25
25
|
import axios from 'axios';
|
|
26
26
|
import isEmpty from 'lodash.isempty';
|
|
27
27
|
import ConfigUtils from './ConfigUtils';
|
|
28
|
+
import CoordinatesUtils from './CoordinatesUtils';
|
|
28
29
|
import { computeExpressionFields } from './EditingUtils';
|
|
29
30
|
import LocaleUtils from './LocaleUtils';
|
|
30
31
|
var EditingInterface = {
|
|
@@ -86,8 +87,16 @@ var EditingInterface = {
|
|
|
86
87
|
var requestUrl = editServiceUrl + '/' + editConfig.editDataset + '/';
|
|
87
88
|
|
|
88
89
|
// 10px tolerance
|
|
89
|
-
var
|
|
90
|
-
var
|
|
90
|
+
var bbox = null;
|
|
91
|
+
var metersPerPixel = 1 / dpi * 0.0254 * mapScale;
|
|
92
|
+
if (CoordinatesUtils.getUnits(mapCrs) === 'degrees') {
|
|
93
|
+
var tolLat = 10 * metersPerPixel / 111320.0; // meters per degree latitude
|
|
94
|
+
var tolLon = 10 * metersPerPixel / (111320.0 * Math.cos(mapPos[1] * Math.PI / 180));
|
|
95
|
+
bbox = [mapPos[0] - tolLon, mapPos[1] - tolLat, mapPos[0] + tolLon, mapPos[1] + tolLat].join(",");
|
|
96
|
+
} else {
|
|
97
|
+
var tol = 10 * metersPerPixel;
|
|
98
|
+
bbox = mapPos[0] - tol + "," + (mapPos[1] - tol) + "," + (mapPos[0] + tol) + "," + (mapPos[1] + tol);
|
|
99
|
+
}
|
|
91
100
|
var params = {
|
|
92
101
|
bbox: bbox,
|
|
93
102
|
crs: mapCrs,
|