Единицы измерения карты

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
AntonAD
Участник
Сообщения: 83
Зарегистрирован: 16 июн 2009, 10:38
Репутация: 0

Единицы измерения карты

Сообщение AntonAD »

Недавно возникла задача перепривязать карту формата Mapinfo из неизвестной мне СК в WGS 84 проекция Меркатора (google). Так как решить задачу подббором параметров преобразования я не сумел, пришлось привязывать карту полигонами. Формулу преобразования я нашел и с помощью библиотеки mitab написал программу, которая все координаты объектов в файле меняет на нужные мне.

После этого возникла следующая загвоздка - при просмотре получившегося файла объекты потеряли первоначальный вид и стали несколько "уголоваты". Скорее всего mapinfo пытается выкинуть точки, расстояние между которыми меньше заданного числа. Пробовал координаты умножать на 100 - все стало хорошо. Единицами измерения в карте остались метры, т.к. я не нашел как изменить их.

Данную карты мне надо привязать к mapserver. Мне либо надо изменить ед измерения на градусы, либо с помощью PROJ изменить масштаб карты. Ни то ни другое у меня сделать не получилось, т.к. и в том и в другом я новичок.

Подскажите как мне привязать карту к mapserver, так чтобы координаты остались исходными и при этом не потерялось качество.
AntonAD
Участник
Сообщения: 83
Зарегистрирован: 16 июн 2009, 10:38
Репутация: 0

Re: Единицы измерения карты

Сообщение AntonAD »

Вероятно мне стоит переформулировать вопрос:
Почему Mapinfo может пропускать при отрисовке часть точек, расположенных близко и как этого избежать?

Задать СК в mapinfo я смог (WGS84), но это не помогло.
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Единицы измерения карты

Сообщение Boris »

ПРиведите пример вашей карты. Лучше в MIF
И раз уж речь идет о Mapinfo И MapServer'е.
Давайте определимся, кого вы ходите победить. Если Mapinfo - давайте "перенесемся" в раздел MapInfo, если MapServer - то в раздел "Веб-картография".
Если у вас беда с Mapinfo, то как уже многократно писалось:
MI хранит координаты в виде целого числа представляющего собой 1/2 000 000. Там же в таблице хранит множитель переводящий эти целые числа в координаты проекции.
Раз у вас получилось вывести формулу из неизвестной СК в Меркатора на сфере, то приведите ее нам и расскажите как именно вы получаете таблицу MapInfo, которую просматривает.
AntonAD
Участник
Сообщения: 83
Зарегистрирован: 16 июн 2009, 10:38
Репутация: 0

Re: Единицы измерения карты

Сообщение AntonAD »

Boris писал(а): Если у вас беда с Mapinfo, то как уже многократно писалось:
MI хранит координаты в виде целого числа представляющего собой 1/2 000 000. Там же в таблице хранит множитель переводящий эти целые числа в координаты проекции.
Спасибо - проверил результат с этим предположением, действительно все мои числа округлились до 3 знака после запятой (широта и долгота).

А как же тогда мне поступить в данной ситуации? Как-то доработать базу MI или хранить точки в другой сист координат (например умножить все точки на 100, но как мне тогда привязать такую карту к mapserver?)
Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: Единицы измерения карты

Сообщение Boris »

Вообще-то 3-й знак в проекции метры - это миллиметры. Какой неЗемной точности вы хотите достичь в своем преобразовании координат?
Если у вас есть строго очерченные границы вашего интереса (трудно представить весь мир с миллиметровой точностью), то задавайте границы вашей таблицы с тем, что бы область интереса была покрыта этими границами.
Это делается путем создания таблицы с указанием оператора Bounds

Код: Выделить всё

CoordSys Earth Projection 8, 104, "m", 39, 0, 1, 250000, 0 Bounds (251402.48649234,6114520.64011307) (267750.57977004,6124086.65569217)
AntonAD
Участник
Сообщения: 83
Зарегистрирован: 16 июн 2009, 10:38
Репутация: 0

Re: Единицы измерения карты

Сообщение AntonAD »

Boris писал(а):Вообще-то 3-й знак в проекции метры - это миллиметры. Какой неЗемной точности вы хотите достичь в своем преобразовании координат?
Если у вас есть строго очерченные границы вашего интереса (трудно представить весь мир с миллиметровой точностью), то задавайте границы вашей таблицы с тем, что бы область интереса была покрыта этими границами.
У меня карта в градусах - широта и долгота, и точность нужна не меньше чем 4 знака, лучше 5.

Спасибо за подсказку - я задал нормальные границы и получил все как надо.
Ответить

Вернуться в «Общий - ПО»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость