Страница 1 из 1
Координаты в MapServer
Добавлено: 18 май 2008, 10:00
Elf1k
Всем доброго времени суток
У меня вот такой вопрос (я вот только недавно установил MapServer) и у меня возник такой вопрос по поводу параметра EXTENT я так понял что он отображает карты в различных географических координатах земли, а можно ли отоборажать карты целиком не зная их географические координаты? т.е. выводить их не по географическим координатам а просто выводить целиком?
Re: Координаты в MapServer
Добавлено: 19 май 2008, 17:18
KolesovDmitry
Elf1k писал(а):Всем доброго времени суток
У меня вот такой вопрос (я вот только недавно установил MapServer) и у меня возник такой вопрос по поводу параметра EXTENT я так понял что он отображает карты в различных географических координатах земли, а можно ли отоборажать карты целиком не зная их географические координаты? т.е. выводить их не по географическим координатам а просто выводить целиком?
Признаться, сути вопроса я не очень-то уловил, но, поскольку все молчат, решил ответить.
Итак, параметр EXTENT: содержит координаты углов ограничивающего прямоугольника - minx miny maxx maxy. Какие числа указываются в качестве углов, действительно, зависит от проекции, поскольку эти координаты указываются в единицах проекта (например, в градусах или метрах).
Не очень понятно, что значит "отображать карты целиком, не зная их географические координаты". (Ведь в конце-концов, вам нужна карта определенной территории, а не первого попавшегося участка? Так значит координаты должны быть известны?). Значит ли ваш вопрос, что вы не знаете проекцию или еще что-то?
Пока же могу посоветовать все-таки попытаться как-нибудь установить эти координаты. Можно также попробовать вообще не указывать параметр EXTENT - в документации сказано, что в случае, когда этот параметр не указан, MapServer попытается самостоятельно его определить.
Re: Координаты в MapServer
Добавлено: 20 май 2008, 12:37
Elf1k
Спасибо что хоть кто то откликнулся
KolesovDmitry писал(а):
Не очень понятно, что значит "отображать карты целиком, не зная их географические координаты". (Ведь в конце-концов, вам нужна карта определенной территории, а не первого попавшегося участка? Так значит координаты должны быть известны?). Значит ли ваш вопрос, что вы не знаете проекцию или еще что-то?
Вот именно мне надо выводить изображение не знае его координат т.е. изображение какой то территории должно выводиться полностью не зная её координат
KolesovDmitry писал(а):
Пока же могу посоветовать все-таки попытаться как-нибудь установить эти координаты. Можно также попробовать вообще не указывать параметр EXTENT - в документации сказано, что в случае, когда этот параметр не указан, MapServer попытается самостоятельно его определить.
Пробовал вобще убрать эту строку мне ошибку выдает
Добавлено: 20 май 2008, 13:22
Denis Rykov
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, либо определить экстент, используя любой графический редактор.
Добавлено: 20 май 2008, 17:39
Elf1k
Большок спасибо за помощь начинающему
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 а если ставлю другой мод то не что не выводиться ?
как правильно сделать вывод векторного слоя через сценарий?????
Добавлено: 21 май 2008, 10:10
Denis Rykov
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.
Добавлено: 23 май 2008, 08:04
Elf1k
А если не сложно не могли бы вы выложить ссылки на программу PHP/MapServer и документацию к ней (желательно на русском языке) заранее благодарен.
Добавлено: 23 май 2008, 08:55
Denis Rykov
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 на русском языке отсутствует (или просто не попадалась).
Re: Координаты в MapServer
Добавлено: 20 май 2009, 16:47
Anemona
_DR_ писал(а):1. Утилита ogrinfo находится по адресу C:\ms4w\tools\gdal-ogr\. Рекомендуется перед её использованием добавить в переменную среды PATH значение C:\ms4w\Apache\cgi-bin\ (можно с помощью setenv.bat, расположенной в папке \ms4w\), иначе будет ссылаться на недостающие .dll.
Вопрос: А если PATH в setenv.bat прописан, но всё=равно ссылается на недостающие .dll (командная сторка ogrinfo при этом появляется, но её невозможно сделать активной) то в чём может быть причина?
Есть какой-то выход, или нужно переустанавливать Mapserver?