Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Центр помощи
  • » Как перевести географические координаты в пиксельные (скрипт перевода есть) [RSS Feed]

#1 Окт. 31, 2016 02:15:55

Tenebras
Зарегистрирован: 2016-07-05
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Как перевести географические координаты в пиксельные (скрипт перевода есть)

Мне была дана функция определения координат ближайшего пикселя к указанным координатам:

 #!/usr/bin/python
# coding: utf8
from numpy import *
import scipy
from matplotlib.pyplot import *
#---------------------------------------------------------------------------
# Функция определения координат ближайшего пикселя к указанным координатам
#---------------------------------------------------------------------------
# lon  - географическая долгота, градус
# lat  - географическая широта, градус
# lons - список долгот всех пикселей
# lats - список широт всех пикселей
# x    - координата ближайшего пикселя по оси абсцисс
# y    - координата ближайшего пикселя по оси ординат
def getXY(lon, lat, lons, lats):
    Lmin = 6371200.0
    ii   = 0
    jj   = 0
    # Перебираем все пиксели
    for i in range(lats.shape[0]):
        for j in range(lats.shape[1]):
            try:
                lat1 = lat
                lat2 = lats[i,j]
                lon1 = lon
                lon2 = lons[i,j]
                if abs(lat1-lat2)>0.1 or abs(lon1-lon2)>0.1:
                    continue
                # Рассчитываем расстояние между точками (lat1, lon1) и (lat2, lon2)
                L = 6371200.0*arccos(1.0-0.5*((cos(radians(lat2))*cos(radians(lon2))-cos(radians(lat1))*cos(radians(lon1)))**2+(cos(radians(lat2))*sin(radians(lon2))-cos(radians(lat1))*sin(radians(lon1)))**2+(sin(radians(lat2))-sin(radians(lat1)))**2))
                if (L <= Lmin):
                    Lmin = L
                    y = i
                    x = j
            except:
                continue
    return x, y

А как, собственно, получить этот самый перевод? Мне нужно что бы данные читались из текстового файла и в него же добавлялись. В текстовом файле у меня имеются географические координаты. Программа должна их считать, перевести в пиксельные координаты и потом добавить к географическим. Со считыванием и записыванием я, думаю, справлюсь.
Но не могу понять как выполнить перевод.

Допустим у меня есть координаты

lon = 30.408314
lat = 59.921566

Как их перевести в пиксельные и вывести на терминал print`ом?

Офлайн

#2 Ноя. 1, 2016 21:48:51

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Как перевести географические координаты в пиксельные (скрипт перевода есть)

у тебя же есть список долгот/широт всех пикселей. если из него можно получить долготу пикселя , то можно получить и пиксел долготы

>>> a =[round(23 + 0.1*x,3) for x in xrange(10)]
>>> a
[23.0, 23.1, 23.2, 23.3, 23.4, 23.5, 23.6, 23.7, 23.8, 23.9]
>>> a.index(23.3)
3
>>>

Отредактировано vic57 (Ноя. 1, 2016 22:08:13)

Офлайн

#3 Ноя. 28, 2016 01:03:39

Tenebras
Зарегистрирован: 2016-07-05
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Как перевести географические координаты в пиксельные (скрипт перевода есть)

Был в отъезде. возвращаюсь к вопросу. Я не понял - где у меня этот список с координатами всех пикселей?

Я правильно, понял, что он откуда-то со стороны берётся этот список?

Отредактировано Tenebras (Ноя. 28, 2016 05:12:27)

Офлайн

#4 Ноя. 28, 2016 20:12:08

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Как перевести географические координаты в пиксельные (скрипт перевода есть)

Tenebras
# lons - список долгот всех пикселей
# lats - список широт всех пикселей

Офлайн

#5 Ноя. 29, 2016 04:14:56

Tenebras
Зарегистрирован: 2016-07-05
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Как перевести географические координаты в пиксельные (скрипт перевода есть)

Это я вижу. Но писал не я скрипт. Мне его дали со словами “с помощью него ты сможешь перевести географические координаты в пиксельные”.

И вот, выше, координаты. а не перевести…

lon = 30.408314
lat = 59.921566

Отредактировано Tenebras (Ноя. 29, 2016 04:15:12)

Офлайн

#6 Ноя. 29, 2016 05:06:18

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Как перевести географические координаты в пиксельные (скрипт перевода есть)

раз тебе дали скрипт, то должны были дать и данные - без них ничего работать не будет

Офлайн

#7 Ноя. 29, 2016 06:13:48

Tenebras
Зарегистрирован: 2016-07-05
Сообщения: 97
Репутация: +  0  -
Профиль   Отправить e-mail  

Как перевести географические координаты в пиксельные (скрипт перевода есть)

Написал. Жду ответа. Видимо забыли дать. Не первый раз.

Офлайн

#8 Дек. 2, 2016 20:58:23

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Как перевести географические координаты в пиксельные (скрипт перевода есть)

Tenebras
Это я вижу. Но писал не я скрипт. Мне его дали со словами “с помощью него ты сможешь перевести географические координаты в пиксельные”.
Вам в следующий раз следует запрашивать сразу пиксельные координаты.



Офлайн

  • Начало
  • » Центр помощи
  • » Как перевести географические координаты в пиксельные (скрипт перевода есть)[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version