四:具体实现原理。
把成都市内每一定面积(例如100*100平方米)规定为一个坐标点,地图上最左下角为坐标原点(0,0),向上为y轴,向右为x轴,(x>=0,y>=0)向上向左每100米为一个单位,这样成都市将被划分成若干单元格。每一个注册商店都会有其相应的代号。具体代号将在命名规则中讲述。
我们要求客户输入自己的方位,初级阶段采用选择方式,这样减少了对于词法分析的要求,在后续正式版中要加入词法分析,通过分析客户输入的地址,来产生地址代码。地址代码产生完后,按照这个地址为中心做一个正方形,正方形的边长逐渐扩大,当遇到第一个注册商店时半径停止增长,程序返回此商店地址代码若同时有多个则同时返回,另一个程序按照此地址代码在数据库中查找相关信息,返回给用户。
五:命名规则
数据库要有严格的命名规则。初步打算由六位十六进制数构成例如123456。1为商店类型段,目前只有15种商店能进入查询,此位为0则代表客户地址。2345为地址代码段,23为横坐标,45为纵坐标。横纵坐标各有00~FF个单位共256个。最后一位6为此坐标点附近的商店内部代码,此坐标点临近的商店个数为max(6p)。