2011-07-21 6 views
2

データが次のように表示されるサーバー上にCSVファイルがあります。MYSQL CSVインポート - GEOMETRYフィールドに送信したデータからジオメトリオブジェクトを取得できません。

16777216,17039359,"APNIC Debogon Project" 
17367040,17432575,"Tmnet, Telekom Malaysia Bhd." 
17435136,17435391,"APNIC Debogon Project" 
17498112,17563647,"CJ-HELLOVISION" 
17563648,17825791,"Beijing Founder Broadband Network Technology Co.,L" 
17825792,18087935,"Allocated to KRNIC Member." 
18153984,18154239,"Double Cast" 
18157056,18163711,"FAMILY NET JAPAN INCORPORATED" 

私はこれを次のように構成されたテーブルに挿入しようとしています。

ipoid INTEGER 11 NOT NULL PRIMARY KEY 
beginip INTEGER 14 NOT NULL UNSIGNED 
endip INTEGER 14 NOT NULL UNSIGNED 
org  VARCHAR 255 
ip_poly POLYGON 

はまた、私は私をしようとするとき、私は

LOAD DATA INFILE "/home/GeoIPOrg.csv" 
INTO TABLE crm_geo_org 
FIELDS 
TERMINATED BY "," 
ENCLOSED BY "\"" 
LINES 
TERMINATED BY "\n" 
(@beginIp,@endIp,@org) 
SET 
ipoid  := NULL, 
beginip := @beginIp, 
endip := @endIp, 
ip_poly := GEOMFROMWKB(POLYGON(LINESTRING(
/* clockwise, 4 points and back to 0 */ 
POINT(@beginIp, -1), /* 0, top left */ 
POINT(@endIp, -1), /* 1, top right */ 
POINT(@endIp, 1), /* 2, bottom right */ 
POINT(@beginIp, 1), /* 3, bottom left */ 
POINT(@beginIp, -1) /* 0, back to start */ 
))), 
org:= @org; 

ただし、次のコードでCSVデータを挿入しようとしている

ip_polyフィールド上で作成された空間インデックスを持っていますこのエラーが発生する

ERROR 1416(22003):GEOMETRYフィールドに送信するデータからジオメトリオブジェクトを取得できない

アイデア?

答えて

1

MySQL以降のバージョンでは、ジオメトリオブジェクトを構築するためにWKB/WKTの変換を行う必要はありません。

また、Polygonはここでは過剰です。MBRは、LineStringから1つだけ作成することもできます。

変更あなたのip_polyiprange LINESTRING NOT NULLに、これを使用します。

LOAD DATA INFILE "/home/GeoIPOrg.csv" 
INTO TABLE 
     crm_geo_org 
FIELDS 
     TERMINATED BY 
       "," 
     ENCLOSED BY 
       "\"" 
LINES 
     TERMINATED BY "\n" 
     (@beginIp, @endIp, @org) 
SET  ipoid := NULL, 
     beginip := @beginIp, 
     endip := @endIp, 
     iprange := GeomFromWKB(
         LineString(
           Point(@beginIp, -1), 
           Point(@endIp, 1) 
           ) 
         ), 
     org  := @org; 
+0

おかげで、私はまだiprange –

+0

@Michael上の空間インデックス必要です:あなたはもちろんの。 – Quassnoi

+0

私はこれらの指示に従っており、同じエラーが発生しています –

関連する問題