PHP + MapInfo (GIS): как подружить?

  • Автор темы sergbond
  • Дата начала

sergbond

Guest
PHP + MapInfo (GIS): как подружить?

  • Есть MapInfo данные в формате TAB (*.dat, *.id, *.map, *.tab)
  • Нужно открыть с помощью PHP эти данные (по всей видимости - на файловом уровне) и вернуть (например с помощью GD) отрисованый JPEG или PNG (т.е., я передаю в скрипт координаты и масштаб, в ответ получаю картинку, навигация и прочие рюшечки не нужны)
  • Желательно обойтись без навороченых third-party решений (aka MapServer) и клиентских аплетов (Java, ActiveX, Flash и т.д.), т.к. схема будет трехуровневой: браузер-аппликейшн-движок


Покопался в инете, много инфы по OGR/PHP и GDAL, но при этом нет внятного туториала применительно к PHP
OGR на рабочей станции (WinXP / Apache 1.3 / PHP4 / MySQL) я поставил и он работает (во всяком случае не ругается при вызове функций), скомпиленый под Win386 GDAL нашел и выкачал, но установить не удалось (ругается на вызов gdal-овских функций)

С идеологией GIS в общих чертах знаком (ну разве что без применения БД), PHP и MySQL уровень заметно выше среднего (правда за последние пол-года практики маловато было).

Помогите, плз, не хочется помирать молодым и красивым.
 

sergbond

Guest
К сожалению, работает только с ESRI E00 форматом (буду счастлив, если ошибаюсь)


Работает только с MapInfo MIF форматом (мне нужен TAB, а конвертить никто не даст - файлы постоянно изменяются)
 

slach

Новичок
"файлы постоянно изменяются", не верю что GIS данные изменяются ЧАЩЕ чем раз в сутки =) и что в Интернете требуется такая оперативность изменений

-~{}~ 28.10.06 12:21:

извиняюсь что реанимирую топик, но информация вдруг стала резко акутальна для меня

итак
есть MapServer и куча софта по визуализации карт к нему

есть
ArcVIEW, MapInfo и прочие файлы от коммерческих GIS

есть проекты различные которые конвертят из коммерческих форматов в открытые, но большинство из них нуждается в ArcVIEW или ArcGIS уже установленных на машине

яркий пример
http://sourceforge.net/search/?type_of_search=soft&words=arcview+mapserver

как это подружить не имея ArcView\ArcGIS ?

-~{}~ 28.10.06 12:40:

просто не хочется тянуть

а надо именно взять TAB, ID, MAP файлы и выложить как то их на веб в удобном виде
 

SaNeK

Новичок
Не буду заводить новый топик.

Возникла необходимость работы с MapServer из-под PHP. Уперся в косяк и не могу понять, что такое...

Слои в мап-файле идут в порядке, который определяет их расположение на карте. Это понятно. Но, если я рисую, например, точку на каком-либо из слоев, то почему точка оказывается на самом верху? Например, слой INLINE (type=POINT). Код:
PHP:
$layer = $map->getLayerByName('INLINE');
$pt = ms_newPointObj();
$pt->setXY($x, $y);
$pt->draw($map, $layer, $img, 0 ,'');
Сам слой расположен под рельефом. А точки оказываются сверху. Что не так?
 

slach

Новичок
http://www.google.com/search?hl=ru&client=opera&rls=ru&hs=bQj&q=ms_newPointObj+mapserver+draw&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=

судя по всему не ты первый с такой проблемой

погляди списки рассылки в гугле по запросу который я привел
может и нароешь чего

-~{}~ 03.09.07 11:09:

http://lists.gis.umn.edu/pipermail/mapserver-users/2003-February/001574.html

вот тут например
 

SaNeK

Новичок
Спасибо, посмотрю. Кстати, хочу поблагодарить за презентацию - мне в некоторых моментах помогла.
 

slach

Новичок
да не вопрос
на русском языке действительно по этой теме мало материалов
 

SaNeK

Новичок
Это точно. А в официальной доке, как мне показалось, слишком мало реального кода, чтобы в чем-то разобраться. Вот и приходится методом научного тыка...
 

Sendero

Новичок
У меня похожая ситуация!

Есть MapInfo данные в формате TAB (*.dat, *.id, *.map, *.tab)
Требуется перевести эти данные в MySQL вместе с координатами объектов!!!
К примеру поле longtext содержит информацию объекта (x1 y1 x2 y2 x3 y3...)
Подскажите плиззз
 

SaNeK

Новичок
Трабл решен. Насколько я понял, все, что наносится (точки, линии по этим точкам) надо потом преобразовывать в shape и методом addFeature цеплять к слою. В этом случае сохраняется оверлейность.
 
Сверху