Ограничивающий прямоугольник GeoJSON
Возвращает рамку, центр, площадь и длину любого GeoJSON — в обоих порядках координат, по сфере.
Ограничивающий прямоугольник GeoJSON полностью работает в вашем браузере. Вставленный GeoJSON разбирается на устройстве и никогда не загружается.
Открыть просмотрщик GeoJSON
Об инструменте Рамка GeoJSON
Ограничивающий прямоугольник GeoJSON читает любой GeoJSON — Feature, FeatureCollection, голую геометрию, GeometryCollection и даже сырой массив координат — и возвращает четыре числа, которые его охватывают. Эти числа нарочно выводятся дважды. RFC 7946 задаёт порядок bbox как запад, юг, восток, север — долгота первой, — тогда как Leaflet и многие картографические API хотят юг, запад, север, восток — широта первой. Перепутать их — один из самых верных способов уставиться не в то полушарие. Площадь и длина считаются на сфере, а не на плоской сетке широт и долгот: приняв градусы за клетки, вы сильно завысите площади вдали от экватора.
Возможности
- Читает Feature, FeatureCollection, геометрии и массивы координат
- Выводит bbox в порядке GeoJSON и в порядке широта/долгота
- Рамка также в виде готового к вставке GeoJSON Feature
- Центр рамки в широте и долготе
- Ширина и высота рамки в настоящих наземных расстояниях
- Сферическая площадь полигонов с вычетом отверстий
Как использовать Рамка GeoJSON
- Вставьте GeoJSON или загрузите образец, чтобы увидеть формат вывода
- Прочитайте границы: запад, юг, восток, север
- Скопируйте bbox в порядке, который ждёт ваша библиотека
- Для отрисовки рамки на карте используйте полигональный вывод
Пример
Ввод
{"type":"Polygon","coordinates":[[[-0.1757,51.5073],[-0.1502,51.5073],[-0.1502,51.5122],[-0.1757,51.5122],[-0.1757,51.5073]]]}
Результат
[-0.1757, 51.5073, -0.1502, 51.5122]
Порядок GeoJSON ставит долготу первой — противоположно почти всем картографическим библиотекам.
Частые ошибки и устранение неполадок
- Карта рисует рамку не там. — Почти наверняка перепутан порядок координат. fitBounds в Leaflet хочет широту первой; свойство bbox в GeoJSON — долготу. Потому здесь оба порядка показаны раздельно.
- Площадь много меньше плоского расчёта. — Сферическая цифра и есть правильная. Градус долготы на экваторе — 111 км, в Лондоне — 78: считая градусы равными клетками, вы раздуваете площади в высоких широтах.
- JSON разобрался, но координат не найдено. — В структуре нигде нет массива coordinates. Проверьте, что у features есть объект geometry, а не только properties: так бывает, когда экспорт теряет геометрическую колонку.
Часто задаваемые вопросы
- Какой порядок координат у bbox в GeoJSON?
- Запад, юг, восток, север: минимальная долгота, минимальная широта, максимальная долгота, максимальная широта. GeoJSON всюду ставит долготу перед широтой — наоборот привычному произношению.
- Почему моей картографической библиотеке нужен другой порядок?
- Leaflet, Google Maps и другие берут широту первой: так координаты произносят и пишут. GeoJSON следует геометрическому соглашению «сначала x, потом y». Здесь выводятся оба порядка.
- Как считается площадь полигона?
- Формулой сферического избытка на сфере среднего радиуса Земли, учитывающей схождение меридианов к полюсам. Внутренние кольца вычитаются: полигон с отверстиями сообщает чистую площадь.
- Загружается ли мой GeoJSON для измерения?
- Нет. Документ разбирается и измеряется в браузере: возможно чувствительные данные о местоположении не пересекают сеть.
Связанные инструменты
Все инструменты ArrayKit