PHP GD - искажает изображение в проекционном виде Mercator - PullRequest
2 голосов
/ 03 апреля 2011

У меня есть изображение, полученное из данных, которые есть в моей БД. Мне нужно преобразовать это изображение, используя метод Mercator Projection , в искаженное изображение, чтобы, когда я обернул им трехмерную сферу, оно выглядело реалистично.

Кто-нибудь знает, какие формулы мне нужно использовать для создания искаженного изображения?

Я использую PHP с GD.

спасибо.

Ответы [ 2 ]

1 голос
/ 03 апреля 2011

Если вы планируете использовать обычные графические приемы, чтобы обернуть это вокруг сферы, я не думаю, что вы строго хотите использовать проекцию Меркатора, поскольку она не работает на полюсах.текстурное отображение для сфер - это просто растровое изображение с соотношением сторон 2: 1, где ось X отображается непосредственно на [0, 360) градуса долготы, а ось Y на [-90, +90] градуса широты./ long значения из вашей базы данных и масштабировать их линейно в пиксельные координаты, например (при условии [0, 0] вверху слева и [w, h] - размер растрового изображения):

x = (longitude + 180) * w
y = (90 - latitude) * h

РЕДАКТИРОВАТЬ - Я неправильно понял вопрос и не понял, что у вас уже есть изображение.Если AIUI является исходным изображением, которое находится в проекции Меркатора, тогда ваша задача - просто отменить нелинейное масштабирование вертикальной оси этого изображения.Горизонтальная ось может остаться неизменной, поскольку Mercator использует линейный масштаб для долготы.

0 голосов
/ 03 апреля 2011

Если ваше изображение имеет географическую привязку, то, возможно, его следует переместить в https://gis.stackexchange.com/.

Вы можете взглянуть на GDAL, бесплатную библиотеку абстракций геопространственных данных с открытым исходным кодом, для такого рода перепроецирования.Доступна привязка PHP, называемая PHP mapscript.Тем не менее, я думаю, что документации мало.

Чтобы использовать PHP mapscript, вам также нужно настроить UMN mapserver (работающий как cgi-скрипт веб-сервера) и позволить ему выполнитьперепроецирование.Вам необходимо проделать большую работу по настройке и настройке, а затем довести ее до предела в соответствии с вашими потребностями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...