Страница 1 из 1

Проблема с данными в EPSG:4326

Добавлено: 04 мар 2009, 14:00
Giuseppe
Имеется материал в формате mif (house_4326.mif)
Геопривязан, EPSG:4326
МапИнфо видет его прекрасно.
Изображение

Но когда я открываю его в QGIS или гружу в GeoServer изображение плющит по вертикали.
Изображение

В posgresql гружу так(для геосервера):
ogr2ogr.exe -overwrite -f "PostgreSQL" "PG:user=test password=test
dbname=test" -nln house house_4326.mif

Потом решил сконвертить в шейп, вот так:
ogr2ogr.exe -f "ESRI Shapefile" -overwrite "C:/House_4326.shp"
"C:/House_4326.MIF" -sql "SELECT * FROM House_4326"

но результат тот же.
Почему Мапифно показывает все нормально, а в других программах плющит?

Re: Проблема с данными в EPSG:4326

Добавлено: 04 мар 2009, 15:12
KolesovDmitry
Скорее всего в MapInfo для окна карты выставлена какая-то проекция отличная от широты/долготы (прямоугольная система координат), и вектор автоматически пересчитывается под нее. Второй вариант - у вас используется растровая подложка, и вектор вытягивается по ней.

Re: Проблема с данными в EPSG:4326

Добавлено: 04 мар 2009, 15:27
Giuseppe
KolesovDmitry писал(а):Скорее всего в MapInfo для окна карты выставлена какая-то проекция отличная от широты/долготы (прямоугольная система координат), и вектор автоматически пересчитывается под нее. Второй вариант - у вас используется растровая подложка, и вектор вытягивается по ней.
Растровой подолжки нет, я просто импортирую mif либо открываю tab.

по поводу окна карты:

Map->Options->Projection
Курсор стоит на
Longitude / Latitude (WGS 84) (EPSG: 4326)

Так же дела обстоят с диалоговым окном Save copy as -> projection

Пробовал пересохранить в гауса-крюгера 7 зоны, все становится ровно во всех программах, но мне-то нужно wgs84 :((

у меня картматериал от 2х независящих друг от друга источников и результат одинаковый, сплющенное изображение.
Я скачал tiger_roads.shp, пример для геосервера. Побаловался с ним во всех программах и форматах - все ровно, в какую бы проекцию не сохранял - везде нормально грузится. Я просто не пойму где копать, и почему в мапфинфо всегда все отображается ровно:)?

Re: Проблема с данными в EPSG:4326

Добавлено: 04 мар 2009, 16:01
Анна
Дмитрий правильно все говорит
Если данные находятся в географической системе координат (десятичных градусах), то они будут выглядеть сплющенными по вертикали. Это нормальное явление, такая вот проекция (EPSG:4326). EPSG:4326 - это географич.система координат, на датуме WGS84 и сфероиде WGS84. Поэтому истинный вид таких данных - "сплющенный".
Если вы хотите, чтобы геосервер такие данные показывал несплющенными, а так как например показывает мэпинфо, вам придется их спроектировать до (!) загрузки в БД. Совершенно не обязательно проектировать в Гаусса-Крюгера, на датуме Пулково и сфероиде Красовского, вы можете их спроектировать в UTM на датуме WGS84 и сфероиде WGS84 - если вам необходимо придерживаться WGS84. Можете вообще соорудить свою проекцию на WGS-овском датуме и сфероиде.
Еще раз подчеркну, что если данные находятся в географической СК, то они должны выглядеть сплющенными - это нормально.
И еще проверьте в руководствах к геосерверу - может ли он проектировать данные на лету. Если может, то вам нужно будет задать переход для такого перепроектирования и не надо (!) проектировать данные (альтернативный вариант).

Re: Проблема с данными в EPSG:4326

Добавлено: 04 мар 2009, 16:08
Анна
И да - загляните вот сюда

Re: Проблема с данными в EPSG:4326

Добавлено: 04 мар 2009, 16:34
Giuseppe
Анна писал(а):И да - загляните вот сюда
спасибо! фак и ваш ответ пролили довольно яркий свет на проблему)) по-крайней мере теперь понятно что картматериал правильный.
Я изучил Геосервер и там ничего не сказано про проектирование на лету, по сему я думаю что нужно спроектировать до загрузки в базу ("спроектировать в UTM на датуме WGS84 и сфероиде WGS84")
Скажите как это правильно сделать?

Вот шэйпы tiger_roads http://slil.ru/27021286
Скажите они уже спроектированы? и как это узнать? ибо они нормально вгружаются.

P.S. я больше программист чем картограф, поэтому базовых знаний очень мало.

вдогонку:
если учесть что у меня данные под всю Россию(например дороги), я так понимаю там одной зоной не обойтись?

Re: Проблема с данными в EPSG:4326

Добавлено: 04 мар 2009, 17:15
Boris
Отвечу за MapInfo - это от большого ума. В нее изначально какой-то гений заложил, что "глобус" на плоскости не показывают. Поэтому для любой карты в системе координат долгота-широта она сама подбирает проекционную систему координат. Даже если в установках карты говорит, что система координат градусы-минуты. Использует она какую-то проекцию Меркатора, параметры проекции для окна подбирает - сама. Как раз единственное исключение было бы в случае растра в той же проекции. В этом случае - растр был бы прямоугольным, а вместе с ним и вектора имели правильную форму.
-----
Теперь про проекцию. Как-то странно в одном топике смешать и дома и карту все России.
В любом случае в MapInfo в списке проекций есть два раздела ""--- Проекции мира ---"" и ""--- Проекции полушарий ---"" там и найдете себе проекцию по душе. Если для вас принципиально наличие кода ESPG для такой проекции, то ищите проекцию, у которой в конце названия будет [ESPG:XXXX]
-----
Теперь про дороги, сам SPH представлены в проекции WGS84, но там же лежат 2 файла с расширение .fix и .qix, которых в стандартном комплекте SHP'а - не бывает, может именно они и задают способ отображения этого файла?

Re: Проблема с данными в EPSG:4326

Добавлено: 04 мар 2009, 18:23
Giuseppe
собственно проблема сводится к тому что мне поступают данные в Longitude / Latitude (WGS 84) (EPSG: 4326)
а мне надо их загрузить в геосервер чтобы небыло сплющенно и чтобы координаты были в градусах (как в гуглмапс)

Re: Проблема с данными в EPSG:4326

Добавлено: 04 мар 2009, 20:41
Boris
Giuseppe писал(а):собственно проблема сводится к тому что мне поступают данные в Longitude / Latitude (WGS 84) (EPSG: 4326)
а мне надо их загрузить в геосервер чтобы не было сплющено и чтобы координаты были в градусах (как в гуглмапс)
Попробуйте именно так сформулировав задачу разместить ее в ветках "Веб-картография" и "Свободные ГИС", а то может те, кто силен именно в этих пакетах пропустили ваш вопрос.

Re: Проблема с данными в EPSG:4326

Добавлено: 04 мар 2009, 20:52
Анна
По порядку:
данные которые по ссылке находятся в географ.системе координат на датуме WGS84 (ложатся правильно)

Теперь как быть с перепроектированием:
1) если у вас есть какой-то гис-пакет то перепроектировать данные можно в нем, если пакета нет, то можно использовать открытую библиотеку GDAL (вот тут почитать как в ней работать)
2) чтобы определить проекцию (а точнее говоря зону в которую нужно спроектировать данные) поступаете следующим образом:
2.1. загружаете файл разграфки на зоны ГК и UTM отсюда
2.2. загружаете в любой гис-пакет вместе с теми данными, которые нужно спроектировать
2.3. в том месте где обнаружаться ваши данные кликаете по разграфке - в аттрибутивной таблицы высветится зона
2.4. записываете номер зоны и затем используете при проектировании
Прим: для тех данных что в присланном файле зона UTM будет 18
3) если вы хотите проектировать данные на всю планету сразу, то естественно проекции с зонами вам не подойдут и надо думать уже о том, что вам больше подходит из существующих проекций на мир
4) если хотите проектировать например только Россию, то можете посмотреть те проекции, которые основаны на Равноплощадной Конической проекции Альберса с различными центральными параллелями и истингом. Конкретные параметры можно узнав скачав вот этот файл и посмотрев ту, которая Сибирь (она позволяет красиво показать всю Россию). НО(!) можно и другую подобрать проекцию - зависит от конкретной задачи.

-------
про координаты в градусах.
это вам придется отдельно разбираться с тем, как быть так, чтобы несмотря на то, что данные спроектированы (а их спроектировать если не хотите сплющенности - придется по-любому), при наведение курсора показывались градусы. Думаю, что в геосервере эта задача уже была кем-то решена, лучше как правильно сказал Борис, спросить в форуме Web-картография. Могу одно сказать, что и в мэпсервере, и в аркимсе это отдельная задача, под которую приходилось дописывать свою функцию. С геосервером не работала, поэтому рекомендую еще в другой ветке поспрашивать

Re: Проблема с данными в EPSG:4326

Добавлено: 04 мар 2009, 21:00
Анна
да, только когда будете в другой ветке писать вопрос, сразу правильно формулируйте, вам нужно не данные в дес.градусах, а чтобы пользователь при наведении курсора на вашу веб-карту видел градусы, а не метры.
И поуточняйте на тему того, как геосервер работает с данными в дес.град. и со спроектированными данными

Re: Проблема с данными в EPSG:4326

Добавлено: 05 мар 2009, 14:53
Каминский Вадим
Добавлю свои 5 копеек в обсуждение, может что-то разъяснится :D . Я неоднократно уже писал, что во многих ГИС-пакетах по умолчанию для отображения данных хранящихся в географических координатах используется нормальная равнопромежуточная (квадратная) цилиндрическая проекция, отсюда и сплюстнутость изображения, причем чем ближе к полюсам тем больше, Меркатор тут непричем в нем как раз все наоборот.
По поводу нахождения номера зоны совершенно не обязательно добавлять разграфку, это простейшая математика, считается в уме. Нам на входе необходимо только знать долготу наших данных. Расчет номера зоны может быть следующим:
Гаусс-Крюгер:
а) Если Долгота/6=N , где N - целое число,
то данные лежат на границе зон N и N+1,
например, долгота 54, 54/6=9, данные лежат на границе 9 и 10 зоны
б) Если Долгота/6=R, где R - дробное число,
то номер зоны считается N=FIX(Долгота/6)+1,
например, долгота 88, N=FIX(88/6)+1=14+1=15

Для UTM все тоже самое только добавляем к полученным результатам 30.

Re: Проблема с данными в EPSG:4326

Добавлено: 05 мар 2009, 15:06
Giuseppe
viewtopic.php?f=1&t=2350&p=7053&hilit=geoserver#p7053
тут видимо та же самая проблема.