AutoGRAPH.NET Service GetGeoFences — различия между версиями
Admin (обсуждение | вклад) (→JSON) |
Admin (обсуждение | вклад) |
||
Строка 4: | Строка 4: | ||
Определение: |
Определение: |
||
+ | <pre>Dictionary<Guid, RGeoFence> GetGeofences(string schemaID, Guid[] IDs)</pre> |
||
+ | *если ID принадлежит группе - возвращаются ВСЕ её вложенные геозоны с полной иерархией всех нижевложенных групп, сами группы в результирующий набор не попадает |
||
− | <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; } // имя файла изображения |
||
+ | public int Fill { get; set; } // RGBA цвет заливки |
||
+ | 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 |
||
+ | { |
||
+ | public double[] Lat { get; set; } // массив широт |
||
+ | 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
Результат: скачать файл