Координаты в MapServer
-
- Интересующийся
- Сообщения: 23
- Зарегистрирован: 01 май 2008, 15:17
- Репутация: 0
Координаты в MapServer
Всем доброго времени суток
У меня вот такой вопрос (я вот только недавно установил MapServer) и у меня возник такой вопрос по поводу параметра EXTENT я так понял что он отображает карты в различных географических координатах земли, а можно ли отоборажать карты целиком не зная их географические координаты? т.е. выводить их не по географическим координатам а просто выводить целиком?
У меня вот такой вопрос (я вот только недавно установил MapServer) и у меня возник такой вопрос по поводу параметра EXTENT я так понял что он отображает карты в различных географических координатах земли, а можно ли отоборажать карты целиком не зная их географические координаты? т.е. выводить их не по географическим координатам а просто выводить целиком?
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Координаты в MapServer
Признаться, сути вопроса я не очень-то уловил, но, поскольку все молчат, решил ответить.Elf1k писал(а):Всем доброго времени суток
У меня вот такой вопрос (я вот только недавно установил MapServer) и у меня возник такой вопрос по поводу параметра EXTENT я так понял что он отображает карты в различных географических координатах земли, а можно ли отоборажать карты целиком не зная их географические координаты? т.е. выводить их не по географическим координатам а просто выводить целиком?
Итак, параметр EXTENT: содержит координаты углов ограничивающего прямоугольника - minx miny maxx maxy. Какие числа указываются в качестве углов, действительно, зависит от проекции, поскольку эти координаты указываются в единицах проекта (например, в градусах или метрах).
Не очень понятно, что значит "отображать карты целиком, не зная их географические координаты". (Ведь в конце-концов, вам нужна карта определенной территории, а не первого попавшегося участка? Так значит координаты должны быть известны?). Значит ли ваш вопрос, что вы не знаете проекцию или еще что-то?
Пока же могу посоветовать все-таки попытаться как-нибудь установить эти координаты. Можно также попробовать вообще не указывать параметр EXTENT - в документации сказано, что в случае, когда этот параметр не указан, MapServer попытается самостоятельно его определить.
-
- Интересующийся
- Сообщения: 23
- Зарегистрирован: 01 май 2008, 15:17
- Репутация: 0
Re: Координаты в MapServer
Спасибо что хоть кто то откликнулся
Вот именно мне надо выводить изображение не знае его координат т.е. изображение какой то территории должно выводиться полностью не зная её координатKolesovDmitry писал(а): Не очень понятно, что значит "отображать карты целиком, не зная их географические координаты". (Ведь в конце-концов, вам нужна карта определенной территории, а не первого попавшегося участка? Так значит координаты должны быть известны?). Значит ли ваш вопрос, что вы не знаете проекцию или еще что-то?
Пробовал вобще убрать эту строку мне ошибку выдаетKolesovDmitry писал(а): Пока же могу посоветовать все-таки попытаться как-нибудь установить эти координаты. Можно также попробовать вообще не указывать параметр EXTENT - в документации сказано, что в случае, когда этот параметр не указан, MapServer попытается самостоятельно его определить.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
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, либо определить экстент, используя любой графический редактор.
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, либо определить экстент, используя любой графический редактор.
-
- Интересующийся
- Сообщения: 23
- Зарегистрирован: 01 май 2008, 15:17
- Репутация: 0
Большок спасибо за помощь начинающему
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 а если ставлю другой мод то не что не выводиться ?
как правильно сделать вывод векторного слоя через сценарий?????
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
- Контактная информация:
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.
2. В таком случае, как ты пытаешься сделать работать и не должно, поскольку ты пишешь в адресной строке localhost/cgi-bin/mapserv.exe..., то есть необходимые переменные будут переданы CGI-программе mapserv.exe, а она в свою очередь ничего не знает о php, поэтому, если ты посмотришь Source Code страницы в окне браузера, то увидишь php-команды. Поэтому для работы в режиме browse и используются HTML-шаблоны. Для работы с php существует PHP/Mapscript, позволяющий работать не через cgi-программу, а с помощью PHP.
-
- Интересующийся
- Сообщения: 23
- Зарегистрирован: 01 май 2008, 15:17
- Репутация: 0
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
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 на русском языке отсутствует (или просто не попадалась).
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 на русском языке отсутствует (или просто не попадалась).
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 20 май 2009, 16:41
- Репутация: 0
Re: Координаты в MapServer
Вопрос: А если PATH в setenv.bat прописан, но всё=равно ссылается на недостающие .dll (командная сторка ogrinfo при этом появляется, но её невозможно сделать активной) то в чём может быть причина?_DR_ писал(а):1. Утилита ogrinfo находится по адресу C:\ms4w\tools\gdal-ogr\. Рекомендуется перед её использованием добавить в переменную среды PATH значение C:\ms4w\Apache\cgi-bin\ (можно с помощью setenv.bat, расположенной в папке \ms4w\), иначе будет ссылаться на недостающие .dll.
Есть какой-то выход, или нужно переустанавливать Mapserver?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей