Страница 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 КБ) 14940 просмотров
 
Если исходные данные перепроецировать в 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 КБ) 14940 просмотров
  
			
					
				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