AutoGRAPH.NET Service GetGeoFences — различия между версиями

Материал из TK
Перейти к: навигация, поиск
Строка 9: Строка 9:
 
[[File:AutoGRAPHNET Service GetGeofences.png|RTENOTITLE]]
 
[[File:AutoGRAPHNET Service GetGeofences.png|RTENOTITLE]]
   
  +
== WCF ==
== WCF&nbsp;''<small><span style="background-color:#FFFF00;">протокол устарел и не рекомендуется к использованию. Будет удалён с 01.06.2020</span></small>'' ==
 
   
 
Определение:
 
Определение:

Версия 12:06, 29 мая 2020

Возвращает информацию о геозонах (списки точки для полигонов, радиус точки, название, ....)

JSON

Вызов:

http://localhost/ServiceJSON/GetGeofences?schemaID=b4b68be6-a124-4ca3-ab02-589e7c2ef102&IDs=c39410d2-db39-439f-9110-f59e70daa5a8,63dd6102-dfb2-4fe4-9962-5f05adda0551,312050df-4c41-4d0b-ad33-eb6b83838fae

Результат: скачать файл

RTENOTITLE

WCF

Определение:

Dictionary<Guid, RGeoFence> GetGeofences(string schemaID, Guid[] IDs)
  • если ID принадлежит группе - возвращаются ВСЕ её вложенные геозоны с полной иерархией всех нижевложенных групп, сами группы в результирующий набор не попадает
  • если ID принадлежит элементу - возвращается информация по нему. Допускается смешивание ID элементов разных типов (групп и элементов) в одном запросе.

Результат:

public class RGeoFence
{
   public Guid ID { get; set; }           // ID геозоны
   public Guid? ParentID { get; set; }    // ID родительской группы
   public string Name { get; set; }       // название геозоны
   public string ImageName { get; set; }  // имя файла изображения

   public int Fill { get; set; }          // RGBA цвет заливки
   public int Line { get; set; }          // RGBA цвет линии
   public bool IsPolygon { get; set; }    // true, если полигон; false, если точка
   public double R { get; set; }          // радиус точки в метрах. Для полигонов всегда 0
   public double[] Lat { get; set; }      // массив широт точек
   public double[] Lng { get; set; }      // массив долгот точек

   public RGeoFenceHole[] Holes { get; set; } // вырезы в геозоне. Если NULL - вырезов в геозоне нет.
}

public class RGeoFenceHole
{
    public double[] Lat { get; set; } // массив широт
    public double[] Lng { get; set; } // массив долгот
}

  • количество широт и долгот всегда равно
  • если IsPolygon==true - массив Lat/Lng содержит три или более элементов. Если IsPolygon==false - массив содержит один элемент.
  • Fill и Color хранят RGBA значение цвета