__init__.py
4.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# coding=utf-8
#author: 4N
#createtime: 2021/10/26
#email: nheweijun@sina.com
from sqlalchemy import Column, Integer, String, ForeignKey, Text, DateTime
from sqlalchemy.orm import relationship
from app.models import db
class Service(db.Model):
'''
'''
__tablename__ = 'dmap_service'
guid = Column(String(256), primary_key=True)
name = Column(String(256),unique = True)
title = Column(String(256))
#服务状态
state= Column(Integer)
create_time = Column(DateTime)
update_time = Column(DateTime)
#服务描述
description = Column(Text)
#服务节点
node = Column(Integer)
#服务缩略图
overview = Column(Text)
#服务类型
type = Column(String(256)) #地图服务,影像服务,切片服务
# 目录外键
catalog_guid = Column(String(256), ForeignKey('dmap_service_catalog.guid'))
# 创建者
creator = Column(String(256))
url = Column(String(256))
relate_service_functions = relationship('ServiceFunction', backref='relate_service', lazy='dynamic')
relate_tile_service = relationship('TileService', backref='relate_service', lazy='dynamic')
relate_map_service = relationship('MapService', backref='relate_service', lazy='dynamic')
class ServiceFunction(db.Model):
'''
细分功能
'''
__tablename__ = 'dmap_service_function'
guid = Column(String(256), primary_key=True)
type = Column(String(256)) # 功能类别,WMTS,WMS,WFS,等等等
url = Column(String(1024))
service_guid = Column(String(256), ForeignKey('dmap_service.guid'))
class ServiceCatalog(db.Model):
'''
目录表
'''
__tablename__ = 'dmap_service_catalog'
guid = Column(String(256), primary_key=True)
pguid = Column(String(256))
path = Column(Text)
name = Column(String(256))
sort = Column(Integer)
description = Column(Text)
relate_services = relationship('Service', backref='relate_catalog', lazy='dynamic')
class TileScheme(db.Model):
'''
切片方案表
'''
__tablename__ = 'dmap_tile_scheme'
guid = Column(String(256), primary_key=True)
name = Column(String(256))
alias = Column(String(256))
description = Column(Text)
crs = Column(String(256))
crs_wkt = Column(Text)
extent = Column(Text)
top_left = Column(String(256))
# 创建者
creator = Column(String(256))
levels = Column(Text)
dpi = Column(Integer)
rows = Column(Integer)
cols = Column(Integer)
update_time = Column(DateTime)
parameter = Column(Text)
class TileService(db.Model):
'''
切片元数据
'''
__tablename__ = 'dmap_tile_service'
guid = Column(String(256), primary_key=True)
#基本信息
name = Column(String,unique = True)
tile_type = Column(String(256))
#厂家
vendor = Column(String(256))
create_time = Column(DateTime)
#坐标系
crs = Column(String(256))
#切片路径
datasource = Column(String)
#调用地址
metadata_url = Column(String)
#描述
description = Column(String)
#图层信息
#图层名
layer_name = Column(String(256))
#图层别名
layer_alias = Column(String(256))
#图层title
layer_title = Column(String(256))
#图层样式
layer_style = Column(String(256))
#图片格式
layer_format = Column(String(256))
#图层范围
layer_extent = Column(String)
#图层描述
layer_description = Column(String)
#切片方案,scheme 优先scheme_guid,因为切片方案有可能被删掉了
scheme = Column(Text)
scheme_guid = Column(String,ForeignKey('dmap_tile_scheme.guid'))
service_guid = Column(String,ForeignKey('dmap_service.guid'))
class MapService(db.Model):
'''
MapService元数据
'''
__tablename__ = 'dmap_map_service'
guid = Column(String(256), primary_key=True)
name = Column(String, unique=True)
title = Column(String(256))
type = Column(String(256))
capabilities = Column(Integer)
project = Column(Text)
service_guid = Column(String,ForeignKey('dmap_service.guid'))
class ServiceEngine(db.Model):
'''
服务引擎
'''
__tablename__ = 'dmap_service_engine'
guid = Column(String(256), primary_key=True)
name = Column(String)
url = Column(String(256), unique=True)
out_url = Column(String(256))
type = Column(String(256))
create_time = Column(DateTime)