Координаты в MapServer

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Elf1k
Интересующийся
Сообщения: 23
Зарегистрирован: 01 май 2008, 15:17
Репутация: 0

Координаты в MapServer

Сообщение Elf1k » 18 май 2008, 10:00

Всем доброго времени суток
У меня вот такой вопрос (я вот только недавно установил MapServer) и у меня возник такой вопрос по поводу параметра EXTENT я так понял что он отображает карты в различных географических координатах земли, а можно ли отоборажать карты целиком не зная их географические координаты? т.е. выводить их не по географическим координатам а просто выводить целиком?

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: Координаты в MapServer

Сообщение KolesovDmitry » 19 май 2008, 17:18

Elf1k писал(а):Всем доброго времени суток
У меня вот такой вопрос (я вот только недавно установил MapServer) и у меня возник такой вопрос по поводу параметра EXTENT я так понял что он отображает карты в различных географических координатах земли, а можно ли отоборажать карты целиком не зная их географические координаты? т.е. выводить их не по географическим координатам а просто выводить целиком?
Признаться, сути вопроса я не очень-то уловил, но, поскольку все молчат, решил ответить.
Итак, параметр EXTENT: содержит координаты углов ограничивающего прямоугольника - minx miny maxx maxy. Какие числа указываются в качестве углов, действительно, зависит от проекции, поскольку эти координаты указываются в единицах проекта (например, в градусах или метрах).

Не очень понятно, что значит "отображать карты целиком, не зная их географические координаты". (Ведь в конце-концов, вам нужна карта определенной территории, а не первого попавшегося участка? Так значит координаты должны быть известны?). Значит ли ваш вопрос, что вы не знаете проекцию или еще что-то?

Пока же могу посоветовать все-таки попытаться как-нибудь установить эти координаты. Можно также попробовать вообще не указывать параметр EXTENT - в документации сказано, что в случае, когда этот параметр не указан, MapServer попытается самостоятельно его определить.

Elf1k
Интересующийся
Сообщения: 23
Зарегистрирован: 01 май 2008, 15:17
Репутация: 0

Re: Координаты в MapServer

Сообщение Elf1k » 20 май 2008, 12:37

Спасибо что хоть кто то откликнулся
KolesovDmitry писал(а): Не очень понятно, что значит "отображать карты целиком, не зная их географические координаты". (Ведь в конце-концов, вам нужна карта определенной территории, а не первого попавшегося участка? Так значит координаты должны быть известны?). Значит ли ваш вопрос, что вы не знаете проекцию или еще что-то?
Вот именно мне надо выводить изображение не знае его координат т.е. изображение какой то территории должно выводиться полностью не зная её координат
KolesovDmitry писал(а): Пока же могу посоветовать все-таки попытаться как-нибудь установить эти координаты. Можно также попробовать вообще не указывать параметр EXTENT - в документации сказано, что в случае, когда этот параметр не указан, MapServer попытается самостоятельно его определить.
Пробовал вобще убрать эту строку мне ошибку выдает

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Сообщение Denis Rykov » 20 май 2008, 13:22

1. Для векторного изображения экстент можно определить воспользовавшись утилитой ogrinfo из библиотеки GDAL/OGR. Делается это следующим образом. Например, нам нужно определить экстент файла districts.shp, для этого в командной строке набираем:

ogrinfo -al -so districts.shp

После чего ogrinfo выдаёт полную информацию о файле, в том числе и экстент:

Extent: (77.890369, 50.682530) - (87.150925, 54.418100)

2. В случае, когда нужно определить экстент растрового файла, можно воспользоваться утилитой listgeo. Например, нам нужно определить экстент geotiff-файла wgs84.tif. Для этого в командной строке набираем:

listgeo wgs84.tif

После чего listgeo выдает информацио о файле, в том числе и об его экстенте:

Corner Coordinates:
Upper Left ( 77d25'31.41"E, 54d29'13.16"N)
Lower Left ( 77d25'31.41"E, 50d14'42.83"N)
Upper Right ( 87d56'47.81"E, 54d29'13.16"N)
Lower Right ( 87d56'47.81"E, 50d14'42.83"N)
Center ( 82d41' 9.61"E, 52d21'58.00"N)


3. Если же растровый файл не привязан, то можно либо привязать его и воспользоваться утилитой listgeo, либо определить экстент, используя любой графический редактор.

Elf1k
Интересующийся
Сообщения: 23
Зарегистрирован: 01 май 2008, 15:17
Репутация: 0

Сообщение Elf1k » 20 май 2008, 17:39

Большок спасибо за помощь начинающему

1) только вот не как не могу найти утилиту ogrinfo в mapserver где она находиться подскажите пожалуста?

2) и еще что то у меня не как не получается одновременно вывести в IE так чтобы и (php сценарий выполнялся и чтобы векторную карту вывелась на изменение т.е. c mode=browse ) пытался в .map файле прописывать путь к сценарию
вот так
TEMPLATE './templates/index.php'

и в адресной строке набирать
http://localhost/cgi-bin/mapserv.exe?ma ... de=browser
выполняется вывод только изображения а сценарий не работает,

а когда просто обращаюсь к этому сценарию то все прекрасно работает и даже в теге img выводит векторное изображение но только с mode=map а если ставлю другой мод то не что не выводиться ?
как правильно сделать вывод векторного слоя через сценарий?????

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Сообщение Denis Rykov » 21 май 2008, 10:10

1. Утилита ogrinfo находится по адресу C:\ms4w\tools\gdal-ogr\. Рекомендуется перед её использованием добавить в переменную среды PATH значение C:\ms4w\Apache\cgi-bin\ (можно с помощью setenv.bat, расположенной в папке \ms4w\), иначе будет ссылаться на недостающие .dll.

2. В таком случае, как ты пытаешься сделать работать и не должно, поскольку ты пишешь в адресной строке localhost/cgi-bin/mapserv.exe..., то есть необходимые переменные будут переданы CGI-программе mapserv.exe, а она в свою очередь ничего не знает о php, поэтому, если ты посмотришь Source Code страницы в окне браузера, то увидишь php-команды. Поэтому для работы в режиме browse и используются HTML-шаблоны. Для работы с php существует PHP/Mapscript, позволяющий работать не через cgi-программу, а с помощью PHP.

Elf1k
Интересующийся
Сообщения: 23
Зарегистрирован: 01 май 2008, 15:17
Репутация: 0

Сообщение Elf1k » 23 май 2008, 08:04

А если не сложно не могли бы вы выложить ссылки на программу PHP/MapServer и документацию к ней (желательно на русском языке) заранее благодарен.

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Сообщение Denis Rykov » 23 май 2008, 08:55

PHP/Mapscipt - это php-модуль, делающий доступным функции и классы Mapserver из php-окружения.
1. http://www.maptools.org/php_mapscript/ - здесь можно скачать PHP/Mapscript
2. http://mapserver.gis.umn.edu/docs/refer ... ript-class - описание классов, свойств и методов
3. http://mapserver.gis.umn.edu/cgi-bin/wi ... PMapScript - дополнительная информация

В Win установка заключается в простом копировании файла php4_mapscript.dll в папку с установленным PHP. Более подробная информация о различных вариантах установки тут.

К сожалению, документация по PHP/Mapscript на русском языке отсутствует (или просто не попадалась).

Anemona
Новоприбывший
Сообщения: 2
Зарегистрирован: 20 май 2009, 16:41
Репутация: 0

Re: Координаты в MapServer

Сообщение Anemona » 20 май 2009, 16:47

_DR_ писал(а):1. Утилита ogrinfo находится по адресу C:\ms4w\tools\gdal-ogr\. Рекомендуется перед её использованием добавить в переменную среды PATH значение C:\ms4w\Apache\cgi-bin\ (можно с помощью setenv.bat, расположенной в папке \ms4w\), иначе будет ссылаться на недостающие .dll.
Вопрос: А если PATH в setenv.bat прописан, но всё=равно ссылается на недостающие .dll (командная сторка ogrinfo при этом появляется, но её невозможно сделать активной) то в чём может быть причина?
Есть какой-то выход, или нужно переустанавливать Mapserver?

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей