2014-12-05 4 views
0

Я пытаюсь импортировать CSV, используя phpMyAdmin. Это то, что мой CSV выглядит следующим образом:Импорт CSV с данными Polygon в phpMyAdmin

1,1,1,'POLYGON ((879350.00000000012 4542950.0,882236.75134594808 4547950.0,888010.25403784448 4547950.0,890897.00538379245 4542950.0,888010.25403784448 4537950.0,882236.75134594808 4537950.0,879350.00000000012 4542950.0))','POINT (885123.50269189617 4542950.0)' 
2,1,2,'POLYGON ((879350.00000000012 4552950.0,882236.75134594808 4557950.0,888010.25403784448 4557950.0,890897.00538379245 4552950.0,888010.25403784448 4547950.0,882236.75134594808 4547950.0,879350.00000000012 4552950.0))','POINT (885123.50269189617 4552950.0)' 
3,1,3,'POLYGON ((879350.00000000012 4562950.0,882236.75134594808 4567950.0,888010.25403784448 4567950.0,890897.00538379245 4562950.0,888010.25403784448 4557950.0,882236.75134594808 4557950.0,879350.00000000012 4562950.0))','POINT (885123.50269189617 4562950.0)' 

Мои имена столбцов и типов, как не следует:

CellId  int(11), 
Type  int(1), 
Name  varchar(255), 
Geometry polygon, 
Centroid point 

Независимо от того, что я стараюсь я всегда, кажется, получаю ошибку

'Invalid column count in CSV input on line 1' or 'Cannot get geometry object from data you send to the GEOMETRY field' 

Что я могу изменить либо в CSV, либо в настройках импорта в phpMyAdmin, чтобы заставить это работать?

ответ

2

Вы не можете легко импортировать геометрию. Я бы предложил создать временную таблицу

CREATE TABLE IF NOT EXISTS `tmptbl` (
    `a` int(11), 
    `b` int(11), 
    `c` varchar(255), 
    `d` text, 
    `e` text 
) 

Импорт CSV в эту таблицу, а затем преобразовать его в таблицу с помощью

INSERT INTO mytable (CellId,Type,Name,Geometry,Centroid) 
    SELECT a,b,c,GeomFromText(d),PointFromText(e) FROM tmptbl 
+0

работал отлично спасибо! – stuthemoo

+0

очень хорошая идея, Я добавлю еще 1 столбец varchar и импортирую данные [data format = "POINT (10 100)"] в него первым. затем используйте update [имя таблицы] set [point column] = GeomFromText ([varchar column]). –

Смежные вопросы