mongodb中导入地名数据

本文介绍了如何将地名数据从文本文件导入到MySQL中,然后通过脚本加载到MongoDB中,并提供了一个简化步骤。包括创建MySQL表、导入数据以及使用MongoVUE导入数据到MongoDB数据库。此外,还计划完成全国村级、街道级别的数据导入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



需求:将地名数据表(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的其它测试。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值