需求:将地名数据表(Placename.txt,放置于具体数据库的目录下,内含树形组织结构)导入到mongodb中做数据服务,表格式为:
"PlaceID","Level","Latitude","Longitude","Altitude","PlaceName","ParentID"
8718776,1,31.831390,117.244034,0.000000,合肥市,87698232
8749288,2,30.527189,117.051781,0.000000,安庆市,8718776
8750320,3,30.155870,116.117050,0.000000,宿松县,8749288
8751352,3,30.599720,117.001228,0.000000,宜秀区,8749288
8738240,3,30.504271,117.043991,0.000000,迎江区,8749288
8739144,3,30.518970,117.030853,0.000000,大观区,8749288
8740312,3,31.054529,116.945686,0.000000,桐城市,8749288
8741376,3,30.428699,116.270332,0.000000,太湖县,8749288
8742536,3,30.099409,117.022041,0.000000,东至县,8749288
8743568,3,30.696920,117.203613,0.000000,枞阳县,8749288
8928696,3,30.720989,116.826172,0.000000,怀宁县,8749288
8929888,3,30.128500,116.683212,0.000000,望江县,8749288
8930888,3,30.633020,116.570961,0.000000,潜山县,8749288
8931952,3,30.852011,116.354782,0.000000,岳西县,8749288
8933056,2,30.662069,117.485390,0.000000,池州市,8718776
8934120,3,30.647539,117.476379,0.000000,贵池区,8933056
8935152,3,30.212959,117.481323,0.000000,石台县,8933056
8936296,2,31.760269,116.499443,0.000000,六安市,8718776
………………………………………………………………………
步骤:
1: 将数据首先导入到mysql中。由于数据以文本格式存储,UltraEdit编辑后呈现逗号分割。
2:Mysql表创建及数据导入命令文件编写:MySqlGeoLabelImport.sql,放置于mysql的bin目录下。
/* NOTE: Be sure that you have a database created to import into
and all the map files are located in the databases data directory
for example - c:/mysql/data/db_name
To load the map data, just copy and paste the following in to
the MySql command line.
*/
select 'Creating Destination Tables' as '';
-- Create Tables
CREATE TABLE Placename (
PlaceID int NOT NULL ,
Level smallint NOT NULL ,
Latitude double NOT NULL ,
Longitude double NOT NULL ,
Altitude double NOT NULL ,
PlaceName varchar (100) NULL ,
ParentID int NOT NULL ,
PRIMARY KEY(PlaceID)
);
select 'Loading Data Files Please Wait ...' as '';
-- Load Data From Flat Files
LOAD DATA INFILE 'placename_records.txt' INTO TABLE Placename
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n' IGNORE 1 LINES;
注意:由于需要支持中文:将Mysql的my.in文件进行编码修改(错误:Incorrect string value……):
#default-character-set=utf8
default-character-set=gbk
#character-set-server=utf8
character-set-server=gbk
3 Mysql命令下:键入source MySqlGeoLabelImport.sql
4 MongoVUE下,创建数据库,然后import from Mysql,选择响应表即可。
5 后续工作,完成全国村级、街道界别的数据导入(由全国的poi数据生成,数据已经备齐,做kmeans统计即可)。
数据量应该在千万级别,可进行mongo的其它测试。