步驟如下:
一、到國家統計局**,找到縣及縣以上行政區劃頁面。
我找到的是這個:
然後將頁面上的**直接複製貼上到記事本,儲存為 e:\temp\region.txt。
(注意複製時,可能是受記憶體限制,不一定能一次性複製完全所有內容,注意確認一下。)
複製貼上的結果,讓我傻眼了:
二、硬著頭皮用sql server management studio導進去。
匯入的時候注意一點,就是要在目標表裡設定乙個標識列。如圖:
三、生成區域表
在這裡導進去的目標表,只是乙個臨時用的中間表:region_tmp,我真正要的,是表region。
中間表region_tmp的結構:
region_tmp
********************==
id int identity(1,1)
cn varchar(50)
導進去以後,資料如下:
而我想要的區域表region
region
*************************
id int identity(1,1)
code char(6)
name nvarchar(50)
parentid int
所以現在需要將資料再從region_tmp ==> region。
insert into [dbo].[region]
([code]
,[name]
,[parentid])
select a.cn,b.cn,0
from region_tmp a,region_tmp b
where b.id=a.id+1
and (a.id % 2) = 1
四、修改區域表現在要修改欄位region.parentid。就是每個地名記錄要有乙個父id,在使用的時候好排序。比如廣州的父id是廣東省,天河區的父id是廣州。
--設定市級地名的父id
update [dbo].[region]
set parentid=b.id
from [region],[region] b
where left([region].code,2)=left(b.code,2)
and right([region].code,4)<>'0000' and right([region].code,2)='00'
and right(b.code,4)='0000';
--設定縣級地名的父id
update [dbo].[region]
set parentid=b.id
from [region],[region] b
where left([region].code,4)=left(b.code,4)
and right([region].code,2)!='00'
and right(b.code,2)='00';
有些記錄不符合使用習慣,修改後刪掉
update [dbo].[region] set parentid=c.id
from [dbo].[region],[dbo].[region] b,[dbo].[region] c
where [dbo].[region].parentid=b.id and b.parentid=c.id
and b.name in('市轄區','縣') ;
delete from [dbo].[region] where name in('市轄區','縣') ;
根據Excel匯入樹形部門行政區域
根據excel提供的內容進行行政區域的匯入 通過excel工具類獲取workbook workbook workbook excelutil.load file sheet sheet workbook.getsheetat 0 int lastrownum sheet.getlastrownum ...
中國5級行政區域mysql庫
爬取國家統計局官網的行政區域資料,包括省市縣鎮村5個層級 港澳地區的資料只有3級 台灣地區4級 cnarea20191031.7z是爬取2019年的資料,截止2019年10月31日.全部共783562條 港澳台資料共78812條,其中 改動 create table cnarea 2018 id m...
根據經緯度座標點返回所在行政區域實現
public result getposition double longitude,double latitude string address null for center center centers if stringutils.isempty address break return n...