新部件编码的生成流程

作品版权由小编李晓晖和今日头条共有,若转发请于鲜明处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

1.1区域级别代号

系统中大家将区域级别代号分为:区(district)、街道(street)、社区(community)、单元网格(cell)。

而她们所对应的数字代号分别是:

区:2;

街道:3;

社区:4;

单元网格:5

1.2 tcregion表和vcregion表

tcregion表中涵盖了装有区域的相关新闻。

88bifa必发娱乐 1                       

Vcregion表

此表为依照tcregion表的视图表,创立代码如下:

 88bifa必发娱乐 2

创立后所得表如下。观看此表可以汲取,街道代码、社区代码和网格代码之间的内在联系。

 88bifa必发娱乐 3

2.取得新增部件编码须要的参数

取得新增部件的编码要求八个参数,一个是subTypeID,另一个是cellName。SubTypeID的获得方式是:

 88bifa必发娱乐 4

CellName为网格编码,其取得形式相似是标志定位时得到XY,通过地理服务端或者直接查询数据库所得。如下,便是一个cellName。

 88bifa必发娱乐 5

3.流程图

 88bifa必发娱乐 6

 

4.详解编码组成格式

 88bifa必发娱乐 7

 88bifa必发娱乐 8

QDM:表示由单元网格查出的区代码的末段六位数。

Unicode:表示由subTypeID查出的对应部件的部件编码,取最终四位数。

马克斯Code(+|-)1:表示将该构件图层中的最大编码依据排序规则加或者减1。

 

5.详解编码得到流程

该流程已经用存储进度写出,可查询dlsys.fcGetPhyLayerNewObjCode。那里只是将此存储进度中的流程分步演说。

5.1获取QDM

假设cellName =’41030200100502’。

 88bifa必发娱乐 9

如果没有查到数据,则用cellName的前六位代表,即410302。

 88bifa必发娱乐 10

5.2得到相应的构件统一编码和部件图层名

如果查出的SubTypeID为514。

 88bifa必发娱乐 11

或得到uniqueCode需求取最终四位数,得:

 88bifa必发娱乐 12

5.3获取maxCODE

由4.1和4.2业已得出了QDM和uniqueCode以及phylayerName(燃气井盖)。

则在表dlgis.燃气井盖中查询其中已有些最大编码。查询到后,再和由QDM以及uniqueCode根据规则组合出来的数码比较,获得最大值。

 88bifa必发娱乐 13

此间得到的是:

88bifa必发娱乐, 88bifa必发娱乐 14

5.4赢得编码排序规则

编码可能是雨后春笋规则也恐怕是递减规则。这里经过部署而得其规则:

 88bifa必发娱乐 15

5.5取得新增编码

 88bifa必发娱乐 16

即用maxCode加上或减去1。

相关文章