我有一个可用的坐标参考系统列表,我希望将其表示为枚举,如下所示:
import enum
class CRS(enum.Enum):
WGS84 = '4326'
POP_WEB = '3857'
UTM_33N = '3767'
# etc. etc.
当我们只支持几个坐标系统时,这工作得很好,但是现在我们决定支持大约60个额外的坐标系统,这个列表会变得很大。
是否可以手动输入列表?
您可以从CSV文件或其他任何内容中读取键/值,将它们存储为dict并按如下方式初始化枚举:
>>> d = {"WGS84" : "4326", "POP_WEB" : "3857", "UTM_33N" : "3767" }
>>> e = enum.Enum("CRS", d.items())
现在您可以像往常一样访问枚举值:
>>> e.POP_WEB
<CRS.POP_WEB: '3857'>
>>> e.WGS84
<CRS.WGS84: '4326'>