У меня есть файл формы, и я хочу показать его в Интернете с помощью листовки (http://leaflet.cloudmade.com/). Поскольку листовка поддерживает только geoJSON, я должен изменить файл shp на geoJSON. Это легко, так как я могу использовать функцию «сохранить как» в Quantum-GIS.
Хотя я могу использовать geojson в качестве базы данных (читая, редактируя и записывая файл программно), я думаю, что лучше использовать «настоящую» базу данных. My-SQL — самый популярный, и он поддерживает пространственные данные, поэтому я решил использовать MySQL.
Сценарий:
- Измените shp на MySQL (я использую ogr2ogr и просто запускаю эту команду: ogr2ogr -f "MySQL" MySQL:"geo,user=root,host=localhost,password=toor" -lco engine=MYISAM airports.shp< /эм>)
- Загрузить базу данных MySQL в geojson ‹ — вот проблема
- Использование ajax для получения geojson и изменения макета ‹ - это должно быть легко, я хорошо разбираюсь в JQuery
В таблице My MySQL есть столбец типа "GEOMETRY". Посмотрите определение таблицы ниже:
CREATE TABLE IF NOT EXISTS `airports` (
`OGR_FID` int(11) NOT NULL AUTO_INCREMENT,
`SHAPE` geometry NOT NULL,
`cat` decimal(10,0) DEFAULT NULL,
`na3` varchar(80) DEFAULT NULL,
`elev` double(32,3) DEFAULT NULL,
`f_code` varchar(80) DEFAULT NULL,
`iko` varchar(80) DEFAULT NULL,
`name` varchar(80) DEFAULT NULL,
`use` varchar(80) DEFAULT NULL,
UNIQUE KEY `OGR_FID` (`OGR_FID`),
SPATIAL KEY `SHAPE` (`SHAPE`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=77 ;
Есть ли способ преобразовать такую таблицу в формат geojson? (Я предпочитаю простой способ, но если нет, просто измените столбец на массив, как это приемлемо)
EDIT: я использую geophp, написанный phayes. https://github.com/phayes/geoPHP/wiki/Example-format-converter а>. Это решает основную проблему. Только нужно немного запутаться с добавлением функции и т. Д. Есть ли более простое решение?