/
dev-npgsql
/
npgsql
Обзор
Документация
Войти
/
dev-npgsql
/
npgsql
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
v9.0.1
src/Npgsql.GeoJSON/Internal/BoundingBoxBuilder.cs
53 строки
2 KB
Shay Rojansky
Apply collection initializers in solution (#5907)
30 окт 2024, 18:13
Не верифицирован
30 окт 2024, 18:13
2e568a1
Код
Авторство
О чём код?
using GeoJSON.Net.Geometry; namespace Npgsql.GeoJSON.Internal; sealed class BoundingBoxBuilder { bool _hasAltitude; double _minLongitude, _maxLongitude; double _minLatitude, _maxLatitude; double _minAltitude, _maxAltitude; internal BoundingBoxBuilder() { _hasAltitude = false; _minLongitude = double.PositiveInfinity; _minLatitude = double.PositiveInfinity; _minAltitude = double.PositiveInfinity; _maxLongitude = double.NegativeInfinity; _maxLatitude = double.NegativeInfinity; _maxAltitude = double.NegativeInfinity; } internal void Accumulate(Position position) { if (_minLongitude > position.Longitude) _minLongitude = position.Longitude; if (_maxLongitude < position.Longitude) _maxLongitude = position.Longitude; if (_minLatitude > position.Latitude) _minLatitude = position.Latitude; if (_maxLatitude < position.Latitude) _maxLatitude = position.Latitude; if (position.Altitude.HasValue) { var altitude = position.Altitude.Value; if (_minAltitude > altitude) _minAltitude = altitude; if (_maxAltitude < altitude) _maxAltitude = altitude; _hasAltitude = true; } } internal double[] Build() => _hasAltitude ? [_minLongitude, _minLatitude, _minAltitude, _maxLongitude, _maxLatitude, _maxAltitude] : [_minLongitude, _minLatitude, _maxLongitude, _maxLatitude]; }