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

Материал из TK
Перейти к: навигация, поиск
(JSON)
Строка 4: Строка 4:
   
 
Определение:
 
Определение:
  +
<pre>Dictionary<Guid, RGeoFence> GetGeofences(string schemaID, Guid[] IDs)</pre>
   
  +
*если ID принадлежит группе - возвращаются ВСЕ её вложенные геозоны с полной иерархией всех нижевложенных групп, сами группы&nbsp;в результирующий набор не попадает
<pre>Dictionary<Guid, RGeoFence> GetGeofences(string schemaName, Guid[] IDs)</pre>
 
  +
*если ID принадлежит элементу - возвращается информация по нему. Допускается смешивание ID элементов разных типов (групп и элементов) в одном запросе.
 
*если ID принадлежит группе - возвращаются ВСЕ её вложенные геозоны, сама группа в результирующий набор не попадает
 
*если ID принадлежит элементу - возвращается информация по нему. Допускается смешивание ID элементов разных типов в одном запросе.
 
   
 
Результат:
 
Результат:
  +
<pre>public class RGeoFence
 
<pre>
 
public class RGeoFence
 
 
{
 
{
 
public Guid ID { get; set; } // ID геозоны
 
public Guid ID { get; set; } // ID геозоны
  +
public Guid? ParentID { get; set; } // ID родительской группы
 
public string Name { get; set; } // название геозоны
 
public string Name { get; set; } // название геозоны
 
public string ImageName { get; set; } // имя файла изображения
 
public string ImageName { get; set; } // имя файла изображения
   
  +
&nbsp; public int Fill { get; set; } // RGBA цвет заливки
  +
&nbsp; public int Line { get; set; } // RGBA цвет линии
 
public bool IsPolygon { get; set; } // true, если полигон; false, если точка
 
public bool IsPolygon { get; set; } // true, если полигон; false, если точка
 
public double R { get; set; } // радиус точки в метрах. Для полигонов всегда 0
 
public double R { get; set; } // радиус точки в метрах. Для полигонов всегда 0
 
public double[] Lat { get; set; } // массив широт точек
 
public double[] Lat { get; set; } // массив широт точек
 
public double[] Lng { get; set; } // массив долгот точек
 
public double[] Lng { get; set; } // массив долгот точек
  +
  +
public RGeoFenceHole[] Holes { get; set; } // вырезы в геозоне. Если NULL - вырезов в геозоне нет.
 
}
 
}
  +
  +
public class RGeoFenceHole
  +
{
  +
&nbsp; &nbsp; public double[] Lat { get; set; } // массив широт
  +
&nbsp; &nbsp; public double[] Lng { get; set; } // массив долгот
  +
}
  +
 
</pre>
 
</pre>
   
 
*количество широт и долгот всегда равно
 
*количество широт и долгот всегда равно
 
*если IsPolygon==true - массив Lat/Lng содержит три или более элементов. Если IsPolygon==false - массив содержит один элемент.
 
*если IsPolygon==true - массив Lat/Lng содержит три или более элементов. Если IsPolygon==false - массив содержит один элемент.
  +
*Fill и Color хранят RGBA значение цвета
   
 
== JSON ==
 
== JSON ==
  +
Вызов:<pre>http://localhost:8300/GetGeofences?schemaID=Demo&IDs=c39410d2-db39-439f-9110-f59e70daa5a8,63dd6102-dfb2-4fe4-9962-5f05adda0551,312050df-4c41-4d0b-ad33-eb6b83838fae
 
Вызов: <pre>
 
http://localhost:8300/GetGeofences/Demo/c39410d2-db39-439f-9110-f59e70daa5a8,63dd6102-dfb2-4fe4-9962-5f05adda0551,312050df-4c41-4d0b-ad33-eb6b83838fae
 
http://localhost:8300/GetGeofences?schemaID=Demo&IDs=c39410d2-db39-439f-9110-f59e70daa5a8,63dd6102-dfb2-4fe4-9962-5f05adda0551,312050df-4c41-4d0b-ad33-eb6b83838fae
 
 
</pre>
 
</pre>
   
 
Результат: [[Media:GetGeofences-result.json.txt|скачать файл]]
 
Результат: [[Media:GetGeofences-result.json.txt|скачать файл]]
   
[[File:AutoGRAPHNET Service GetGeofences.png]]
+
[[File:AutoGRAPHNET Service GetGeofences.png|RTENOTITLE]]

Версия 19:57, 22 марта 2019

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

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 значение цвета

JSON

Вызов:

http://localhost:8300/GetGeofences?schemaID=Demo&IDs=c39410d2-db39-439f-9110-f59e70daa5a8,63dd6102-dfb2-4fe4-9962-5f05adda0551,312050df-4c41-4d0b-ad33-eb6b83838fae

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

RTENOTITLE