Skip to content

Commit abc08e7

Browse files
committedDec 15, 2020
Updated to use enum constants
1 parent f471043 commit abc08e7

File tree

4 files changed

+39
-24
lines changed

4 files changed

+39
-24
lines changed
 

‎copyLatLonTool.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from qgis.core import Qgis, QgsCoordinateTransform, QgsPointXY, QgsProject, QgsSettings
55
from qgis.gui import QgsMapToolEmitPoint, QgsVertexMarker
66

7-
from .settings import settings
7+
from .settings import settings, CoordOrder
88
from .util import epsg4326, formatDmsString
99
from .utm import latLon2Utm
1010
from . import mgrs
@@ -61,14 +61,14 @@ def formatCoord(self, pt, delimiter):
6161
elif self.settings.wgs84NumberFormat == self.settings.Wgs84TypeGeoJSON: # GeoJSON
6262
msg = '{{"type": "Point","coordinates": [{:.{prec}f},{:.{prec}f}]}}'.format(pt4326.x(), pt4326.y(), prec=self.settings.decimalDigits)
6363
else: # decimal degrees
64-
if self.settings.coordOrder == self.settings.OrderYX:
64+
if self.settings.coordOrder == CoordOrder.OrderYX:
6565
msg = '{:.{prec}f}{}{:.{prec}f}'.format(pt4326.y(), delimiter, pt4326.x(), prec=self.settings.decimalDigits)
6666
else:
6767
msg = '{:.{prec}f}{}{:.{prec}f}'.format(pt4326.x(), delimiter, pt4326.y(), prec=self.settings.decimalDigits)
6868
elif self.settings.captureProjIsProjectCRS():
6969
# Projection in the project CRS
7070
if self.settings.otherNumberFormat == 0: # Numerical
71-
if self.settings.coordOrder == self.settings.OrderYX:
71+
if self.settings.coordOrder == CoordOrder.OrderYX:
7272
msg = '{:.{prec}f}{}{:.{prec}f}'.format(pt.y(), delimiter, pt.x(), prec=self.settings.decimalDigits)
7373
else:
7474
msg = '{:.{prec}f}{}{:.{prec}f}'.format(pt.x(), delimiter, pt.y(), prec=self.settings.decimalDigits)
@@ -81,7 +81,7 @@ def formatCoord(self, pt, delimiter):
8181
transform = QgsCoordinateTransform(canvasCRS, customCRS, QgsProject.instance())
8282
pt = transform.transform(pt.x(), pt.y())
8383
if self.settings.otherNumberFormat == 0: # Numerical
84-
if self.settings.coordOrder == self.settings.OrderYX:
84+
if self.settings.coordOrder == CoordOrder.OrderYX:
8585
msg = '{:.{prec}f}{}{:.{prec}f}'.format(pt.y(), delimiter, pt.x(), prec=self.settings.decimalDigits)
8686
else:
8787
msg = '{:.{prec}f}{}{:.{prec}f}'.format(pt.x(), delimiter, pt.y(), prec=self.settings.decimalDigits)
@@ -182,7 +182,7 @@ def snappoint(self, qpoint):
182182
def coordFormatString(self):
183183
if self.settings.captureProjIsWgs84():
184184
if self.settings.wgs84NumberFormat == self.settings.Wgs84TypeDecimal:
185-
if self.settings.coordOrder == self.settings.OrderYX:
185+
if self.settings.coordOrder == CoordOrder.OrderYX:
186186
s = 'Lat Lon'
187187
else:
188188
s = 'Lon Lat'
@@ -197,7 +197,7 @@ def coordFormatString(self):
197197
elif self.settings.captureProjIsProjectCRS():
198198
crsID = self.canvas.mapSettings().destinationCrs().authid()
199199
if self.settings.otherNumberFormat == 0: # Numerical
200-
if self.settings.coordOrder == self.settings.OrderYX:
200+
if self.settings.coordOrder == CoordOrder.OrderYX:
201201
s = '{} - Y,X'.format(crsID)
202202
else:
203203
s = '{} - X,Y'.format(crsID)
@@ -215,7 +215,7 @@ def coordFormatString(self):
215215
s = 'Maidenhead Grid Locator'
216216
elif self.settings.captureProjIsCustomCRS():
217217
if self.settings.otherNumberFormat == 0: # Numerical
218-
if self.settings.coordOrder == self.settings.OrderYX:
218+
if self.settings.coordOrder == CoordOrder.OrderYX:
219219
s = '{} - Y,X'.format(self.settings.captureCustomCRSID())
220220
else:
221221
s = '{} - X,Y'.format(self.settings.captureCustomCRSID())

‎multizoom.py

+5-4
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from .captureCoordinate import CaptureCoordinate
1414
from .util import epsg4326, parseDMSStringSingle, parseDMSString
1515
from .utm import utm2Point
16+
from .settings import CoordOrder
1617
from . import mgrs
1718
from . import olc
1819

@@ -83,7 +84,7 @@ def crsChanged(self):
8384

8485
def initLabel(self):
8586
if self.settings.multiZoomToProjIsWgs84():
86-
if self.settings.multiCoordOrder == self.settings.OrderYX:
87+
if self.settings.multiCoordOrder == CoordOrder.OrderYX:
8788
self.label.setText("Enter coordinate ('lat,lon,...)")
8889
else:
8990
self.label.setText("Enter coordinate ('lon,lat,...)")
@@ -94,7 +95,7 @@ def initLabel(self):
9495
elif self.settings.multiZoomToProjIsUtm():
9596
self.label.setText("Enter coordinate ('Standard UTM,...)")
9697
else:
97-
if self.settings.multiCoordOrder == self.settings.OrderYX:
98+
if self.settings.multiCoordOrder == CoordOrder.OrderYX:
9899
self.label.setText("Enter coordinate ({} Y,X,...)".format(self.settings.multiZoomToCRS().authid()))
99100
else:
100101
self.label.setText("Enter coordinate ({} X,Y,...)".format(self.settings.multiZoomToCRS().authid()))
@@ -340,7 +341,7 @@ def addSingleCoord(self):
340341
return
341342
srcCrs = self.settings.multiZoomToCRS()
342343
transform = QgsCoordinateTransform(srcCrs, epsg4326, QgsProject.instance())
343-
if self.settings.multiCoordOrder == self.settings.OrderYX:
344+
if self.settings.multiCoordOrder == CoordOrder.OrderYX:
344345
lon, lat = transform.transform(float(parts[1]), float(parts[0]))
345346
else:
346347
lon, lat = transform.transform(float(parts[0]), float(parts[1]))
@@ -353,7 +354,7 @@ def addSingleCoord(self):
353354
else:
354355
srcCrs = self.settings.multiZoomToCRS()
355356
transform = QgsCoordinateTransform(srcCrs, epsg4326, QgsProject.instance())
356-
if self.settings.multiCoordOrder == self.settings.OrderYX:
357+
if self.settings.multiCoordOrder == CoordOrder.OrderYX:
357358
lon, lat = transform.transform(float(parts[1]), float(parts[0]))
358359
else:
359360
lon, lat = transform.transform(float(parts[0]), float(parts[1]))

‎settings.py

+25-12
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import os
2+
import enum
23
from . import mapProviders
34

45
from qgis.PyQt.uic import loadUiType
@@ -11,10 +12,24 @@
1112
FORM_CLASS, _ = loadUiType(os.path.join(
1213
os.path.dirname(__file__), 'ui/latLonSettings.ui'))
1314

14-
15-
class Settings():
15+
@enum.unique
16+
class CopyExtent(enum.IntEnum):
17+
WSEN = 0
18+
WESN = 1
19+
SWNE = 2
20+
Poly1 = 3
21+
Poly2 = 4
22+
PolyWkt = 5
23+
MapProxy = 6
24+
GeoServer = 7
25+
26+
@enum.unique
27+
class CoordOrder(enum.IntEnum):
1628
OrderYX = 0
1729
OrderXY = 1
30+
31+
32+
class Settings():
1833
userMapProviders = []
1934

2035
def __init__(self):
@@ -52,15 +67,15 @@ def readSettings(self):
5267

5368
### BBOX CAPTURE SETTINGS ###
5469
self.bBoxCrs = int(qset.value('/LatLonTools/BBoxCrs', 0)) # Specifies WGS 84
55-
self.bBoxFormat = int(qset.value('/LatLonTools/BBoxFormat', 0))
70+
self.bBoxFormat = int(qset.value('/LatLonTools/BBoxFormat', CopyExtent.WSEN))
5671
self.bBoxDelimiter = qset.value('/LatLonTools/BBoxDelimiter', ',')
5772
self.bBoxDigits = int(qset.value('/LatLonTools/BBoxDigits', 8))
5873
self.bBoxPrefix = qset.value('/LatLonTools/BBoxPrefix', '')
5974
self.bBoxSuffix = qset.value('/LatLonTools/BBoxSuffix', '')
6075

6176
### COORDINATE CONVERSION SETTINGS ###
6277
self.converterCustomCrsAuthId = qset.value('/LatLonTools/ConverterCustomCrsId', 'EPSG:4326')
63-
self.converterCoordOrder = int(qset.value('/LatLonTools/ConverterCoordOrder', self.OrderYX))
78+
self.converterCoordOrder = int(qset.value('/LatLonTools/ConverterCoordOrder', CoordOrder.OrderYX))
6479
self.converterDDPrec = int(qset.value('/LatLonTools/ConverterDDPrecision', 2))
6580
self.converter4326DDPrec = int(qset.value('/LatLonTools/Converter4326DDPrecision', 8))
6681
self.converterDmsPrec = int(qset.value('/LatLonTools/ConverterDmsPrecision', 0))
@@ -135,8 +150,6 @@ class SettingsWidget(QDialog, FORM_CLASS):
135150
ProjectionTypeUTM = 5
136151
ProjectionTypeGeohash = 6
137152
ProjectionTypeMaidenhead = 7
138-
OrderYX = 0
139-
OrderXY = 1
140153

141154
def __init__(self, lltools, iface, parent):
142155
super(SettingsWidget, self).__init__(parent)
@@ -217,7 +230,7 @@ def restoreDefaults(self):
217230
self.captureProjectionComboBox.setCurrentIndex(self.ProjectionTypeWgs84)
218231
self.wgs84NumberFormatComboBox.setCurrentIndex(0)
219232
self.otherNumberFormatComboBox.setCurrentIndex(0)
220-
self.coordOrderComboBox.setCurrentIndex(self.OrderYX)
233+
self.coordOrderComboBox.setCurrentIndex(CoordOrder.OrderYX)
221234
self.otherTxt.setText("")
222235
self.delimComboBox.setCurrentIndex(1)
223236
self.precisionSpinBox.setValue(0)
@@ -236,7 +249,7 @@ def restoreDefaults(self):
236249

237250
### ZOOM TO SETTINGS ###
238251
self.zoomToProjectionComboBox.setCurrentIndex(self.ProjectionTypeWgs84)
239-
self.zoomToCoordOrderComboBox.setCurrentIndex(self.OrderYX)
252+
self.zoomToCoordOrderComboBox.setCurrentIndex(CoordOrder.OrderYX)
240253
self.persistentMarkerCheckBox.setCheckState(Qt.Checked)
241254
self.zoomToProjectionSelectionWidget.setCrs(epsg4326)
242255

@@ -250,7 +263,7 @@ def restoreDefaults(self):
250263
### Multi-zoom Settings ###
251264
self.multiZoomToProjectionComboBox.setCurrentIndex(0) # WGS 84
252265
self.multiZoomToProjectionSelectionWidget.setCrs(epsg4326)
253-
self.multiCoordOrderComboBox.setCurrentIndex(self.OrderYX)
266+
self.multiCoordOrderComboBox.setCurrentIndex(CoordOrder.OrderYX)
254267
self.qmlLineEdit.setText('')
255268
self.markerStyleComboBox.setCurrentIndex(0)
256269
self.extraDataSpinBox.setValue(0)
@@ -292,7 +305,7 @@ def readSettings(self):
292305
self.captureProjection = int(qset.value('/LatLonTools/CaptureProjection', self.ProjectionTypeWgs84))
293306
self.delimiter = qset.value('/LatLonTools/Delimiter', ', ')
294307
self.dmsPrecision = int(qset.value('/LatLonTools/DMSPrecision', 0))
295-
self.coordOrder = int(qset.value('/LatLonTools/CoordOrder', self.OrderYX))
308+
self.coordOrder = int(qset.value('/LatLonTools/CoordOrder', CoordOrder.OrderYX))
296309
self.wgs84NumberFormat = int(qset.value('/LatLonTools/WGS84NumberFormat', 0))
297310
self.otherNumberFormat = int(qset.value('/LatLonTools/OtherNumberFormat', 0))
298311
self.plusCodesLength = int(qset.value('/LatLonTools/PlusCodesLength', 10))
@@ -301,15 +314,15 @@ def readSettings(self):
301314
self.captureSuffix = qset.value('/LatLonTools/CaptureSuffix', '')
302315

303316
### ZOOM TO SETTINGS ###
304-
self.zoomToCoordOrder = int(qset.value('/LatLonTools/ZoomToCoordOrder', self.OrderYX))
317+
self.zoomToCoordOrder = int(qset.value('/LatLonTools/ZoomToCoordOrder', CoordOrder.OrderYX))
305318
self.zoomToProjection = int(qset.value('/LatLonTools/ZoomToCoordType', 0))
306319
self.persistentMarker = int(qset.value('/LatLonTools/PersistentMarker', Qt.Checked))
307320
self.zoomToCustomCrsAuthId = qset.value('/LatLonTools/ZoomToCustomCrsId', 'EPSG:4326')
308321
self.zoomToProjectionSelectionWidget.setCrs(QgsCoordinateReferenceSystem(self.zoomToCustomCrsAuthId))
309322

310323
### MULTI-ZOOM CUSTOM QML STYLE ###
311324
self.multiZoomToProjection = int(qset.value('/LatLonTools/MultiZoomToProjection', 0))
312-
self.multiCoordOrder = int(qset.value('/LatLonTools/MultiCoordOrder', self.OrderYX))
325+
self.multiCoordOrder = int(qset.value('/LatLonTools/MultiCoordOrder', CoordOrder.OrderYX))
313326
self.multiZoomNumCol = int(qset.value('/LatLonTools/MultiZoomExtraData', 0))
314327
self.multiZoomStyleID = int(qset.value('/LatLonTools/MultiZoomStyleID', 0))
315328
self.qmlStyle = qset.value('/LatLonTools/QmlStyle', '')

‎zoomToLatLon.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from qgis.gui import QgsVertexMarker
99
from qgis.core import Qgis, QgsJsonUtils, QgsWkbTypes
1010
from .util import epsg4326, parseDMSString
11+
from .settings import CoordOrder
1112
from .utm import isUtm, utm2Point
1213
# import traceback
1314

@@ -186,7 +187,7 @@ def convertCoordinate(self, text):
186187
coords = re.split(r'[\s,;:]+', text, 1)
187188
if len(coords) < 2:
188189
raise ValueError('Invalid Coordinates')
189-
if self.settings.zoomToCoordOrder == self.settings.OrderYX:
190+
if self.settings.zoomToCoordOrder == CoordOrder.OrderYX:
190191
lat = float(coords[0])
191192
lon = float(coords[1])
192193
else:

0 commit comments

Comments
 (0)
Please sign in to comment.