Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Добавить отображение зданий, сооружений и магистральных объектов #272

Closed
jamm1985 opened this issue Nov 4, 2018 · 13 comments
Labels
layout HTML and CSS changes new feature Feature proposal Objects analysis users
Milestone

Comments

@jamm1985
Copy link
Member

jamm1985 commented Nov 4, 2018

После авторизации по методам API доступна информация о зданиях, сооружения и магистральных объектах которые закреплены за данным пользователем. Существуют справочные методы, по которым можно посмотреть какие объекты вообще есть. И, самое главное, методы, которые показывают что случилось со зданиями и сооружениями после наступления землетрясения. По тикету ниже маркирую соответсвенно справочные и землетрясеные методы.

Для справочных методов после авторизации нужно добавить кнопку на карте на главной странице Показать мои объекты.

Для оценки объектов после землетрясений показываем объекты на вкладке события: пример - https://eqalert.ru/#/events/QgpAn7OW/buildings (две раздельные вкладки для зданий и магистральных объектов).

Методы API

(методы будет немного модифицированы в течение 10 дней /cc @DoctorLines ) (завершено, подробная информация в комментарии)

Дизайна особо нет, примеры, как это может быть:

Магистральные объекты:
2016-10-10 10 48 38

Здания и сооружения:
2016-10-16 23 00 29

Дополнительные комментарии:

в справочных методах всё просто - рисуем и всё. Можно использовать простые зелёные маркеры. Если в выдаче для объекта стоит флаг destroyed=1, то рисуем красным этот объект, это значит, что он был разрушен каким то землетрясением.

для методов оценки объектов от землетрясений:

  • damage_level = 0 - не рисуем
  • damage_level = 1 - зеленый
  • damage_level = 2 - желтый
  • damage_level = 3 и выше - красный

Необходимо предусмотреть группировку объектов.

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

@jamm1985 jamm1985 added layout HTML and CSS changes new feature Feature proposal users labels Nov 4, 2018
@jamm1985 jamm1985 added this to the 2.1 milestone Nov 4, 2018
@jamm1985
Copy link
Member Author

jamm1985 commented Nov 26, 2018

Уточнения по методам и тестированию объектов:

Методы API для отображения зданий и сооружений:

  • 8.4 All building objects list (список всех объектов, включая ЛО)
  • 8.5 Get building object data (подробная информация по объекту)
  • 7.3 Get damaged buildings (получить список объектов на которые оказало влияние конкретное землетрясение)

Методы API для отображения линейных объектов (ЛО)

  • 8.1 Get long distance objects (список всех ЛО)
  • 8.2 Get LDO parts (подробная информация по частям ЛО)
  • 7.4 Get damaged LDO (получить список ЛО на которые оказало влияние конкретное землетрясение)

Что бы протестировать отображение повреждённых землетрясением объектов мы завели ТРЕНИРОВОЧНОЕ событие с ID - oBJOQ4Zm.

Примеры запросов (должны быть подписаны токеном):

@jamm1985
Copy link
Member Author

ТЗ обновил

@jamm1985
Copy link
Member Author

jamm1985 commented Dec 3, 2018

@armd-pro при нажатии на объект должен высвечиваться popup с информацией как на стриншоте. Мы раньше переводили поля. Сейчас предлагаю, что бы не мучится с переводом, вставлять в popup поля которые не пустые и не NULL. Просто ПАРАМЕТР : ЗНАЧЕНИЕ, например:

building_type: дом
flats: 5
...

не нужно помещать в попап все булевские поля и lat,lon,soil_type,max_pga,deterioration, destroyed

@jamm1985
Copy link
Member Author

jamm1985 commented Dec 3, 2018

@armd-pro поле is_primary - это флаг-маркер особо ответственного объекта. Это школы, сады, больницы и так далее. Нужно как то эти объекты выделять на карте. На ваш выбор. Может быть другие значки для них использовать. Цвета при повреждениях должны быть те же.

@jamm1985
Copy link
Member Author

jamm1985 commented Dec 3, 2018

@armd-pro поле destroyed - это повреждённый объект. Это значение сохраняется в таблице с описанием объекта. При отображении объектов справочным методом (показать мои объекты) если поле destroyed не 0 нужно отображать его красным цветом, а в popape жирным шрифтом писать Объект повреждён предыдущими землетрясениями.

Для отображения объектов методами v1/pga/damaged**** (не справочными) всегда ориентируемся на поле damage_level. Соответсвенно в попапе помещаем:

building_type: дом
flats: 5
...
damage_level: X
...

Если поле destroyed не 0, то:

Объект повреждён предыдущими землетрясениями
building_type: дом
flats: 5
...
damage_level: X
...

@jamm1985
Copy link
Member Author

jamm1985 commented Dec 3, 2018

@armd-pro для отображения магистральных объектов (МО) на карте нужно соединить все части МО.

При нажатии на часть МО (это две точки) должен отображаться попап с информацией из метода 8.1 Get long distance objects (общие данные для всего объекта) и дбавляем данные из 8.2 Get LDO parts (разные данные для каждой части).

Цвета как по ТЗ, если, например, зелёный, то красим весь отрезок в зелёный.

В остальном всё точно так же как и для зданий.

@jamm1985
Copy link
Member Author

jamm1985 commented Dec 3, 2018

@armd-pro по отрисовке объектов для землетрясений:

Если в ответе https://rest-api.eqalert.ru/apidoc/#api-Reports-GetList has_buildings_pga_analysis=true, то значит мы рисуем дополнительные вкладки на странице события (землетрясения) и показываем объекты по методам, обозначенным выше (https://rest-api.eqalert.ru/apidoc/#api-PGA-GetDamagedBuilding, https://rest-api.eqalert.ru/apidoc/#api-PGA-GetDamagedLDO)

screenshot

@jamm1985
Copy link
Member Author

jamm1985 commented Dec 3, 2018

@armd-pro объекты по справочным методам делаем прямо на главной доп слоем
screenshot_1

@jamm1985
Copy link
Member Author

jamm1985 commented Dec 3, 2018

@armd-pro далее, что для справочных методов, что для анализа объектов после землетрясений, здания и сооружения необходимо группировать (МО можно рисовать или прямо так, или то же группировать).

Вот пример того как это сделано, например, на https://www.cian.ru:
screenshot_2

Выше на сриншоте пример того как это было сделано на старом сайте eqalert.ru. То есть объект группируются в элемент (кружок, например), внутри кружка цифра с колвом объектов. При нажатии на кружок масштаб увеличивается, и там следующая группа объектов или группа объектов и отдельные здания и так далее.

Здесь очень важный момент - это цвета кружков. Поскольку сгруппированными могут оказаться неповреждённые объекты с повреждёнными (у которых damage_level >= 2), то нужно следовать правилу: цвет кружка соответствует максимальному damage_level среди всех сгруппированных объектов.

То есть, например, мы объединили 100 объектов (автоматом по масштабу), среди них все объекты с damage_level <=1 - кружок зелёный.

Другой пример: мы объединили 200 объектов, среди них 199 объектов с с damage_level <=1, и 1 объект с damage_level = 2. Кружок будет желтым. И при дальнейшем масштабе, например, у нас перегруппируются объекты, скажем, по 35-75-90 (три кружка) и желтым будет тот, где этот объект с damage_level = 2.

и так далее по аналогии.

Со справочными методами всё то же самое, только смотрим на поле destroyed .

@jamm1985
Copy link
Member Author

jamm1985 commented Dec 3, 2018

@armd-pro сильно до мелких масштабов группировать не надо (как это сделано у Циан, например). На карте с определённого масштаба можно отривать все объекты, даже если они будут смотреться плотно - ничего страшного. То есть сильно не заморачиваться - доходим до определённого масштаба и там маркерами рисуем здания. На примерах всё видно будет

@jamm1985
Copy link
Member Author

jamm1985 commented Dec 4, 2018

Диапазон значений показателя повреждённости объекта:

  • “d0” Отсутствие расчётных повреждений. Сотрясение здания: сыплется пыль из щелей, осыпаются чешуйки побелки.
  • “d1” Слабые расчётные повреждения. Высокая вероятность слабых повреждений отделки и ненесущих элементов здания или сооружения: тонкие трещины в штукатурке; откалывание небольших кусков штукатурки; тонкие трещины в сопряжениях перекрытий со стенами и стенового заполнения с элементами каркаса, между панелями, в разделке печей и дверных коробок, тонкие трещины в перегородках, карнизах. фронтонах, трубах. Видимые повреждения конструктивных элементов отсутствуют. Работоспособное техническое состояние по ГОСТ 31937.
  • “d2” Слабые расчётные повреждения. Высокая вероятность слабых повреждений отделки и ненесущих элементов здания или сооружения: трещины в штукатурке; откалывание небольших кусков штукатурки; трещины в сопряжениях перекрытий со стенами и стенового заполнения с элементами каркаса, между панелями, в разделке печей и дверных коробок, трещины в перегородках, карнизах, фронтонах, трубах. Видимые повреждения конструктивных элементов отсутствуют. Ограниченно работоспособное техническое состояние по ГОСТ 31937
  • “d3” Серьезные расчётные повреждения. Высокая вероятность повреждений отделки и несущих элементов здания или сооружения: трещины в штукатурке; откалывание небольших кусков штукатурки; трещины в сопряжениях перекрытий со стенами и стенового заполнения с элементами каркаса, между панелями, в разделке печей и дверных коробок; трещины в перегородках, карнизах, фронтонах, трубах. Видимые повреждения конструктивных элементов. Аварийное состояние по ГОСТ 31937.
  • “d4” Значительные расчётные повреждения. Высокая вероятность значительных повреждений несущих элементов здания или сооружения: глубокие трещины в карнизах и фронтонах, падение дымовых труб. Высокая вероятность значительных деформаций и больших отколов бетона или раствора в узлах каркаса и в стыках панелей. Здание под снос.
  • “d5” Разрушение по данным расчётов. Высокая вероятность обрушения несущих стен и перекрытия, полного обрушения здания или сооружения с потерей его формы.

@jamm1985
Copy link
Member Author

jamm1985 commented Dec 4, 2018

@armd-pro чуть на забыл: прошу добавить в таблицу ниже ещё два счётчика:

Прогноз повреждений d-4
Прогноз повреждений d-5

А в вопросики поместить текст из комментария выше.

2018-12-04 16 39 24

@jamm1985
Copy link
Member Author

jamm1985 commented Dec 4, 2018

Оставлю для истории: в настоящий момент получение зданий по справочному методу https://rest-api.eqalert.ru//api/v1/buildings/ предполагает пагинацию:

2018-12-04 23 12 10

aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 7, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 7, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 7, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 7, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 7, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 7, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 7, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 7, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 7, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 9, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 9, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 9, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 9, 2018
…опка на карту на главной странице "Показаты объекты (Show objects)"
jamm1985 added a commit that referenced this issue Dec 9, 2018
#272 Для справочных методов после авторизации добавлена кнопка на карту на главной странице "Показаты объекты (Show objects)"
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 9, 2018
…опка на карту на главной странице "Показаты объекты (Show objects)"
jamm1985 added a commit that referenced this issue Dec 9, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 9, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 9, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 9, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 9, 2018
jamm1985 added a commit that referenced this issue Dec 9, 2018
@jamm1985 jamm1985 closed this as completed Dec 9, 2018
aivazoff pushed a commit to aivazoff/eqalert.ru that referenced this issue Dec 14, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
layout HTML and CSS changes new feature Feature proposal Objects analysis users
Projects
None yet
Development

No branches or pull requests

1 participant