FlightRadar+SAS

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

FlightRadar+SAS

Сообщение IC7K » 25 фев 2011, 14:46

не совсем разбираюсь в возможностях SAS, поэтому вопрос к разработчику:

возможности работы с картами просто прекрасны в SAS, это то что давно хотелось :P

но вот есть программно-аппаратный комплекс который выдает координаты летящих самолетов в реальном времени,
возможно ли сделать так чтобы SAS принимал данные от программы и отображал объекты согласно данным? (http://www.coaa.co.uk/planeplotter.htm)

типа плагина может или еще как?

спасибо!
IC7K
Новичок
 
Сообщения: 19
Зарегистрирован: 25 фев 2011, 14:35
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: FlightRadar+SAS

Сообщение vdemidov » 25 фев 2011, 15:33

В настоящий момент, никак. Если вас это интересует и вы готовы заняться разработкой плагина, то жду ваших предложений по интерфейсу нового типа плагинов, который бы смог это реализовать.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Re: FlightRadar+SAS

Сообщение IC7K » 25 фев 2011, 15:51

программы подобного типа (отображающие объекты) получают данные через TCP соединение, определенный порт.
затем накладывают на карты, вроде все просто :)

у меня есть исходник программы выдающей данные (программирую в среде delphi 7).

но вот как работает SAS я не знаю

мог бы и заняться, только если есть информация как разрабатывать плагин
сильный поедает вкусного
IC7K
Новичок
 
Сообщения: 19
Зарегистрирован: 25 фев 2011, 14:35
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: FlightRadar+SAS

Сообщение vdemidov » 25 фев 2011, 16:51

Ну на то что SAS будет получать данные по TCP можете не расчитывать. Это должен будет делать плагин. Информацию о плагинах смотрите в этом разделе форума. Что непонятно спрашивайте.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Re: FlightRadar+SAS

Сообщение IC7K » 25 фев 2011, 17:16

понятно дело плагин :)

есть пример кода для отрисовки точки или объекта на карте?

а то чтото куда ни сунусь везде разговор без начала, непонятно что к чему
сильный поедает вкусного
IC7K
Новичок
 
Сообщения: 19
Зарегистрирован: 25 фев 2011, 14:35
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: FlightRadar+SAS

Сообщение vdemidov » 25 фев 2011, 17:39

Нету примеров. Я ж написал, что жду предложений.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Re: FlightRadar+SAS

Сообщение IC7K » 25 фев 2011, 17:47

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

в этом плане к сожалению не силен :roll:

видать придется ждать пока появится...
сильный поедает вкусного
IC7K
Новичок
 
Сообщения: 19
Зарегистрирован: 25 фев 2011, 14:35
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: FlightRadar+SAS

Сообщение IC7K » 25 фев 2011, 18:30

так, я тут почитал, вроде есть мысли, все таки покопаюсь :)

Код: Выделить всё
type
IAdsbPlugin= interface
procedure NewPlane(AA:dword; Course: Real; Lat:Real; Long:Real); //создание нового объекта на карте с меткой AA
procedure DropPlane(AA:dword);    //удаление объекта с карты с меткой AA
procedure ProcessPlane(AA:dword; Course: Real; Lat:Real; Long:Real); //новое положение объекта AA
end;


сначала создаем NewPlane
затем сопровождаем ProcessPlane
после улета удаляем DropPlane
сильный поедает вкусного
IC7K
Новичок
 
Сообщения: 19
Зарегистрирован: 25 фев 2011, 14:35
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: FlightRadar+SAS

Сообщение vdemidov » 25 фев 2011, 20:26

Мы на правильном пути, но есть возражения.
1. Слова Plane в названиях методов и интерфейса точно не будет. А вдруг кто-то начнет делать плагин такого типа для отслеживания автотранспорта? Так что максимум Object
2. При предложенном вами варианте SAS.Планете придется самому поддерживать списки и тд. Сложно.
Лучше сделать что-то такое:
Код: Выделить всё
type
  IShowObject = interface
    function GetLonLat: TDoublePoint;
    function GetBitmapSize: TPoint;
    function GetFixedInBitmap: TPoint;
    function GetPictureBits: PColor32;
    function GetHintText: WideString;
    function GetInfoHTML: WideString;
  end; 
  IObjectSet = interface
    function GetCount: integer;
    function GetItem(AIndex: integer): IShowObject;
  end;
  IObjectTracker = interface
    function GetObjectSet: IObjectSet;
    function GetNotifier: IJclNotifier;
  end;
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Re: FlightRadar+SAS

Сообщение IC7K » 26 фев 2011, 06:55

список объектов поддерживает моя программа как раз, причем по своему алгоритму.

единственно никак не могу понять, кто будет помнить путь объекта? SAS или в плагине должен быть?
ведь не будет же SAS запрашивать при каждом событии все точки траектории всех объектов? или будет?

SAS только отображает пути объектов и объект в виде картиночки или может быть вектора направления.

без списков алгоритм такой тогда:

плагином просто передаются в SAS очередные координаты объекта (контрольную точку) и тип картинки
а SAS отображает объект в текущих координатах и помнит путь этого объекта в виде контрольных точек
(или запрашивает и отрисовывает все точки траектории этого объекта)
сильный поедает вкусного
IC7K
Новичок
 
Сообщения: 19
Зарегистрирован: 25 фев 2011, 14:35
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

След.

Вернуться в Раздел для разработчиков программы SAS.Планета

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

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