Страница 1 из 2
MapServer & SHP файл
Добавлено: 10 авг 2010, 15:08
Flex81
Уважаемые Господа, подскажите пожалуйста каким образом можно самостоятельно подготовить набор SHP-файлов и отобразить их с помощью mapserver'а.
Я самостоятельно подготовил shp-файл из tab-файла средствами mapinfo, но mapserver выводит пустое изображение, как еще можно подготовить shp - файлы

Re: MapServer & SHP файл
Добавлено: 10 авг 2010, 16:29
Mavka
UMN MapServer работает с файлами в формате MapInfo точно также как и с Shapеfile, преобразовывать их нет необходимости. Никакой спец. подготовки данные не требуют, в каком виде были в Arcview в таком и используются MapServer'ом.
Самая распространенная ошибка - неправильно указан экстент в map-файле. Ну и другие варианты...
Re: MapServer & SHP файл
Добавлено: 11 авг 2010, 08:18
Flex81
А что такое экстент и как его правильно определить?
Re: MapServer & SHP файл
Добавлено: 11 авг 2010, 09:04
Mavka
Покажите свой файл настроек для MapServer (map-файл)
Re: MapServer & SHP файл
Добавлено: 11 авг 2010, 13:42
Flex81
Мой map файл выглядит следующим образом
MAP
IMAGETYPE PNG
# EXTENT -97.238976 41.619778 -82.122902 49.385620
EXTENT -180 -90 180 90
SIZE 400 300
SHAPEPATH "../data"
IMAGECOLOR 255 255 255
LAYER # States polygon layer begins here
# NAME states
NAME world_region
# DATA states_ugl
DATA world_region
STATUS OFF
TYPE POLYGON
CLASS
NAME "The Upper Great Lakes States"
STYLE
COLOR 232 232 232
OUTLINECOLOR 32 32 32
END
END
END # States polygon layer ends here
END # All map files must come to an end just as all other things must come to...
Я ЭКСПОРТИРОВАЛ КАРТУ (миллионку) В SHPfile и теперь пытаюсь ее отобразить с помощью mapserver. MapServer выводит чистую страницу и никаких сообщений не выдает, где может быть ошибка?
Re: MapServer & SHP файл
Добавлено: 11 авг 2010, 13:53
Mavka
Экстент это он (что такое и в чем измеряется, думаю, и так понятно):
- В какой системе координат ваши данные (в map-файле она не указана)
- Как смотрите результат?
- Вас не смущает "STATUS OFF"?
- Уберите CLASS и STYLE вовсе
P.S. Используйте теги для более комфортного представления данных
[/code]
Re: MapServer & SHP файл
Добавлено: 11 авг 2010, 14:32
Flex81
У меня система координат: Проекция мира Робинсона на WGS84, как ее указать ?
STATUS OFF - стоит по умолчанию в примере, я еще не знаю что он обозначает
Re: MapServer & SHP файл
Добавлено: 11 авг 2010, 16:07
Mavka
Да уж, удивили, что то новенькое (точнее старенькое). Если это
World Robinson (сверьте файл prj с аналогичным в ваших данных), то должно быть так:
Код: Выделить всё
MAP
EXTENT -180 -90 180 90
...
# общая СК, относительно которой задается extent
PROJECTION
"init=epsg:4326"
END
LAYER
NAME world_region
DATA world_region
TYPE POLYGON
PROJECTION # проекция слоя
"init=esri:54030"
END # proj
END
стоит по умолчанию в примере
Вы каким учебником пользуетесь? Рекомендую:
Начало работы с MapServer
Хотя понял, этим -
Обучающее пособие по Mapserver 5.x. В нем далее по тексту объясняется значение STATUS OFF
Re: MapServer & SHP файл
Добавлено: 12 авг 2010, 08:53
Flex81
Этим учебником и пользуюсь, я еще новичок в геодезии и картографии.
У меня получился следующий MAP-файл
Код: Выделить всё
MAP
EXTENT -180 -90 180 90
SIZE 400 300
SHAPEPATH "../data"
IMAGECOLOR 255 255 255
#...
# общая СК, относительно которой задается extent
PROJECTION
"init=epsg:4326"
END # proj
LAYER
NAME world_region
DATA world_region
TYPE POLYGON
PROJECTION # проекция слоя
"init=esri:54030"
END # proj
END # layer
END # map
Однако все равно выводит пустоту и ничего не говорит. А что с чем сравнить я должен сравнить (просто не понял), в файле prj у меня следующий код
Код: Выделить всё
PROJCS["_MI_0",GEOGCS["North_American_Datum_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982139006]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Robinson"],PARAMETER["longitude_of_center",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1]]
Re: MapServer & SHP файл
Добавлено: 12 авг 2010, 09:37
Mavka
Сравнить с
этим. И, как видно, датумы у них различаются. Подходящих проекций я ни в одной базе (epsg, esri, sr-org, proj.4) не вижу, новенький
proj2epsg вообще странные результаты выдает. А вам не проще будет перепроецировать данные в какой-нибудь настольной ГИС?
Карта большая? Можете прислать (приложить к посту)? Просто интересно поработать с такой проекцией.
Еще варианты для проекции слоя (но это уже гадание по лопатке барана):
первый
Код: Выделить всё
PROJECTION
"proj=robin"
"lon_0=0"
"x_0=0"
"у_0=0"
END
второй
Re: MapServer & SHP файл
Добавлено: 12 авг 2010, 10:26
Flex81
Высылаю SHP-файл с картой мира. А как перекодировать в настольную ГИС, я шейпфайл делал из карты MAPINFO, и как с ним работать потом
Re: MapServer & SHP файл
Добавлено: 12 авг 2010, 11:25
Mavka
Во-первых, позвольте извиниться за то, что рекомендовал убрать STYLE. Без него на карте не рисуется вообще ничего. Я привык что в GeoServer и OpenLayers применяется стиль по-умолчанию и хотел максимально упростить файл настроек, чтобы избежать опечаток.

Рабочий вариант:
Код: Выделить всё
MAP
EXTENT -180 -90 180 90
SIZE 400 300
SHAPEPATH "d:/work/tmp/robinson/data/"
IMAGECOLOR 255 255 255
PROJECTION
"init=epsg:4326"
END # proj
# На случай если захотите увидеть сообщения об ошибках
#CONFIG "MS_ERRORFILE" "d:\work\tmp\robinson\dbg.log"
#DEBUG 5
LAYER
NAME world_region
DATA world_region
TYPE POLYGON
PROJECTION
"proj=robin"
"lon_0=0"
"x_0=0"
"у_0=0"
"ellps=clrk66"
"datum=NAD27"
"units=m"
END
CLASS
STYLE
COLOR 232 232 232
OUTLINECOLOR 32 32 32
END
END
END # layer
END # map
При включенной отладке говорит "some points failed to reproject, doing internal sampling"

На выходе получаем немного покореженную карту в районе антарктики:

- Карта в WGS84
- robinson.gif (4.1 КБ) 14579 просмотров
Если исходные данные перепроецировать в WGS84
и, соответственно, изменить описание слоя:
Код: Выделить всё
LAYER
NAME world_region
DATA world_wgs84
TYPE POLYGON
PROJECTION
"init=epsg:4326"
END
CLASS
STYLE
COLOR 232 232 232
OUTLINECOLOR 32 32 32
END
END
END # layer
получим более корректный результат:

- Карта в WGS84
- wgs84.gif (4.23 КБ) 14579 просмотров
Re: MapServer & SHP файл
Добавлено: 12 авг 2010, 13:47
Flex81
Все получилось
Re: MapServer & SHP файл
Добавлено: 13 авг 2010, 09:36
Flex81
Mavka, как бы получить описание тегов из Вашего MAP-файла
Re: MapServer & SHP файл
Добавлено: 13 авг 2010, 10:02
Mavka