Переход на 3.0¶
ObjectNat 3.0 выполняет ресурсоёмкие расчёты в скомпилированном движке на Rust, objectnat._rust, и добавляет на его основе методы 2.5D и расчёты на сетке. Ни одна функция не удалена и не переименована, но параметры прежних реализаций на Python удалены, часть результатов изменилась, а установка из исходного кода требует инструментов Rust. Версия 2.2.0 уже содержит новый движок и ещё принимает удалённые параметры с предупреждением, поэтому эта страница относится к переходу с любой версии 2.x.
Что меняется для существующего кода¶
Изменение |
Следствие |
Что сделать |
|---|---|---|
Изохроны и зоны покрытия типа radius следуют за сетью |
При |
|
У |
|
Уберите эти аргументы; |
|
|
Уберите аргумент; |
Распределение обеспеченности выполняется на Rust |
При заданном |
Ничего: модель и сигнатура не изменились |
Отражения шума детерминированы |
|
Ничего |
Установка |
Колёса (wheels) содержат скомпилированное расширение; сборка из исходного кода требует Rust; нужен IduEdu 2.4.2 или новее |
|
Что нового¶
Инсоляция: часы прямого солнца на земле (
get_insolation()) и на фасадах по этажам (get_facade_insolation()) среди зданий и рельефа, за день или период.Анализ видимости: области видимости 2.5D с учётом высот зданий и рельефа (
get_viewshed()), метрики изовист вget_visibility(), поля изовист на сетке (get_isovist_grid()), охват множества наблюдателей в 2D и 2.5D (get_visibility_catchment(),get_viewshed_catchment()) и наблюдатели вдоль пешеходного графа (get_observer_points()).Моделирование шума:
simulate_noise_grid(), уровни звука на сетке приёмников вокруг точечных, линейных и площадных источников с отражениями и дифракцией на углах зданий.Растры:
rasterize()иRasterпревращают результаты на сетке в графики matplotlib, файлы GeoTIFF и веб-карты.Скорость: точная видимость и распределение обеспеченности стали во много раз быстрее (обеспеченность на данных примера считается за 0,06 с вместо 2,6 с), а изохроны для многих начальных точек строятся быстрее с той же геометрией.