整理行政区划数据的几个操作步骤

作者:lizongbo 发表于:1:58 上午. 星期六, 5月 31st, 2008
版权声明:可以任意转载,转载时请务必以超链接形式标明文章和作者信息及本版权声明

1.数据来源:
中华人民共和国统计局官方网站:

最新县及县以上行政区划代码(截止2007年12月31日)
http://www.stats.gov.cn/tjbz/xzqhdm/t20080215_402462675.htm

2.保存为文本文件。
3.使用EditPlus进行排序,再删除冗余信息
4.替换掉星号去掉 (*)和 (**)

5.替换空格,规整成javascript数组的形式.
需要替换的有” 县” ,空格个数从多到少的进行替换.

6.进行名称补全。
xxyyzz的,前面补上 xx0000和xxyy00的名字
然后xxyy00的,前面再补上xx0000的名字
这样每个行政区划代码对应的名称都是完整的了。

7.使用js进行控制,以生成各种想要的数据格式。

JavaScript代码在:

http://618119.com/docs/--escaped_anchor:e0dd5e818f3e8b2ef8dfd677654a4540--/xzqh.html

整理好的数据文本在:

http://618119.com/docs/--escaped_anchor:e0dd5e818f3e8b2ef8dfd677654a4540--/xzqh.txt

代码片段:

[code]

function getName(code){
var name=xzqh[code];
//如果不是00结尾的,则补上市名称,659000例外 429000,469000
if(code%100 != 0 && (code-code%100)!=659000 && (code-code%100)!=429000 && (code-code%100)!=469000){
var cityName=xzqh[(code-code%100)];
if(cityName.length>1){//过滤掉只有一个字的“县”
name=cityName+name;
}
}
//如果不是0000结尾的,再补上省名称
if(code%10000 != 0){
name=xzqh[(code-code%10000)]+name;
}
return name;
}

[/code]

数据节选:

110000|北京市
110100|北京市市辖区
110101|北京市市辖区东城区
110102|北京市市辖区西城区
110103|北京市市辖区崇文区
110104|北京市市辖区宣武区
110105|北京市市辖区朝阳区
110106|北京市市辖区丰台区
110107|北京市市辖区石景山区
110108|北京市市辖区海淀区
110109|北京市市辖区门头沟区
110111|北京市市辖区房山区
110112|北京市市辖区通州区
110113|北京市市辖区顺义区
110114|北京市市辖区昌平区
110115|北京市市辖区大兴区
110116|北京市市辖区怀柔区
110117|北京市市辖区平谷区
110200|北京市县
110228|北京市密云县
110229|北京市延庆县
120000|天津市
120100|天津市市辖区
120101|天津市市辖区和平区
120102|天津市市辖区河东区
120103|天津市市辖区河西区
120104|天津市市辖区南开区
120105|天津市市辖区河北区
120106|天津市市辖区红桥区
120107|天津市市辖区塘沽区
120108|天津市市辖区汉沽区
120109|天津市市辖区大港区
120110|天津市市辖区东丽区
120111|天津市市辖区西青区
120112|天津市市辖区津南区
120113|天津市市辖区北辰区
120114|天津市市辖区武清区
120115|天津市市辖区宝坻区
120200|天津市县
120221|天津市宁河县
120223|天津市静海县
120225|天津市蓟县

Tags: gis, javascript, 行政区划

Related posts

Tags: , ,

recent related 9 searches :

This entry was posted on 星期六, 5月 31st, 2008 at 1:58 上午 and is filed under JavaScript. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

Leave a Reply