Открыть GeoJSON онлайн — точки, линии и полигоны на карте
Выберите файл — и объекты из него встанут на карту: точки, линии и замкнутые контуры со своими подписями. Открыть GeoJSON онлайн можно прямо здесь, без установки программы: файл разбирается в вашей вкладке.
Перетащите GeoJSON-файл сюда
Точки, линии и полигоны — до 50 МБ
Файл читается в браузере и никуда не отправляется. Чтобы показать карту, браузер загружает её фрагменты у стороннего картографического сервиса — туда уходит только то, какой участок карты вы смотрите, без содержимого файла.
Открыть в приложенииОткроется пустая карта приложения: файл останется у вас, выбрать его нужно будет ещё раз.
Пока ничего не выбрано. Маршрут появится здесь сразу после того, как вы укажете файл.
Что записано в GeoJSON
Формат придуман для обмена геометрией между программами. Внутри обычный текст: координаты перечислены числами, а рядом с ними лежит мешок свойств, о содержимом которого формат не договаривается вовсе. Как всё это показать — вопрос к той программе, которая файл открыла, и решает его каждая по-своему.
Объект здесь называется Feature
Feature — это пара: геометрия и свойства при ней. Свойства не регламентированы ничем. Там может лежать имя, а может — идентификатор из чужой базы, дата съёмки, номер выдела и ещё десяток полей, смысл которых знает только выгрузившая их система.
Подпись объекта мы поэтому ищем по списку привычных имён — title, name, label, — а пояснение под ней по description, desc, comment, cmt и note. Не нашлось ни одного — объект получает порядковый номер. Это не поломка файла: имени в нём просто нет.
FeatureCollection — список, и порядок в нём ничего не значит
Корнем файла обычно стоит FeatureCollection — перечисление объектов без иерархии, без слоёв и без групп. Ни видимости, ни порядка отрисовки формат не хранит, и два файла с одинаковым набором объектов, выгруженные разными программами, отличаются друг от друга разве что порядком строк.
Вложенность всё-таки бывает: спецификация разрешает положить GeometryCollection внутрь другой такой же. Такое дерево мы разворачиваем, но не бесконечно — у обхода есть предел глубины. Файлы, которые в него упираются, обычно и собраны ради того, чтобы разбор захлебнулся: тысяча вложенных друг в друга пустых коллекций весит четыре килобайта.
Одна запись файла даёт несколько строк в списке
Кроме точки, линии и площади спецификация знает их множественные версии: MultiPoint, MultiLineString, MultiPolygon. Такая запись — набор геометрий под общей подписью, и одной строкой в списке она была бы бесполезна: щелчок по ней перелетал бы к общей рамке всего набора, то есть в пустоту между его кусками.
Мы наборы раскладываем — каждая часть становится своей строкой и наследует подпись родителя. Отсюда расхождение, которое иногда удивляет: объектов сбоку больше, чем записей в файле.
Первое число в паре — долгота
Пара записана в порядке «восток, север»: сначала долгота, потом широта — наоборот тому, как координаты диктуют вслух и как их показывает навигатор. Файлы, собранные руками или скриптом, этот порядок путают регулярно, а выглядит ошибка по-разному, и зависит это от того, где вы находитесь.
Чаще всего перепутанная пара остаётся парой допустимых чисел — тогда объект никуда не пропадает, а уезжает, бывает что за тысячи километров и в другую часть света. Пропадает он в одном случае: когда долгота была больше девяноста градусов. Восточнее Красноярска перестановка даёт широту, которой не существует, такое число отбрасывается поштучно, и показывать становится нечего — вместо карты приходит ответ, что маршрута в файле не нашлось.
Высота — третье число, когда она вообще есть
К паре координат разрешено дописать третье число, высоту в метрах. Профиль под картой строится только из него. Рельеф мы ниоткуда не дозапрашиваем: такой запрос означал бы, что маршрут из вашего файла уехал на чужой сервер ради одного графика.
У файлов из веб-редакторов третьего числа обычно нет — геометрию рисовали мышью по подложке, высоту взять было неоткуда. Профиля в этом случае не будет, под картой встанет короткая строка о том, что высоты отсутствуют.
Это текст, и его видно глазами
Файл открывается любым редактором: скобки, кавычки, числа. Отсюда и место формата в вебе — карты в браузере, выгрузки из ГИС, ответы картографических служб отдают именно его, потому что разбирать JSON умеет всё, что умеет разбирать хоть что-нибудь.
Следствие приятное: в спорном файле можно найти нужную запись глазами и посмотреть, какие у неё свойства на самом деле. На экран из них попадают два, остальные лежат в файле нетронутыми.
Имя файла может быть и .json
Содержимое у .geojson и .json одно и то же: одна спецификация, один формат, а вторым именем пользуются почти все, кто отдаёт данные по сети. Переименовывать перед загрузкой ничего не нужно — оба имени открываются здесь одинаково.
Обратная сторона у этого честная: .json носят и файлы, к картам отношения не имеющие — настройки программ, выгрузки таблиц. Такой файл будет прочитан и не разобран, и ответ скажет именно это, а не «формат не поддерживается».
Чего эта страница не делает
Она показывает готовый файл, и это весь её круг обязанностей. Ниже не оговорки мелким шрифтом, а ответы на то, зачем сюда приходят чаще всего и уходят ни с чем.
Не создаёт и не редактирует
Нарисовать контур мышью, передвинуть вершину, дописать свойство или склеить два файла в один здесь нельзя. Для этого существуют редакторы геометрии, и путать их с просмотрщиком дорого: человек тратит четверть часа на поиск кнопки, которой нет.
Выгрузка при этом есть, и она не правка, но и не копия исходника. Уносит она то, что вы видите на экране: геометрию, подпись и пояснение. Остальные свойства записи в новый файл не попадают, а разложенные на части наборы так разложенными и остаются — то есть выгрузка совпадает с картой, а не с тем, что вы принесли.
Не пересчитывает чужую систему координат
Действующая спецификация формата знает одну систему — WGS 84, ту же, в которой работают спутниковые приёмники и веб-карты. Прежний способ объявить другую прямо внутри файла из неё убран, и мы такое объявление не читаем: пересчёт проекций — это отдельная библиотека и отдельный набор подводных камней.
Выглядит это так. У выгрузки из ГИС, где координаты записаны метрами проекции, числа вроде 4188000 и 7500000 не превращаются в градусы никаким округлением, и каждое отбрасывается по отдельности. Карта при этом не открывается пустой — вместо неё приходит ответ, что файл прочитан, а показывать в нём нечего. Лечится перевыгрузкой в WGS 84, она же EPSG:4326.
Shapefile и DXF открывает не вьюер, а импорт
Эти два формата сервис читает, но на сервере: разбор шейп-файла тянет за собой пересчёт проекций, а чужой чертёж DXF без объявленной системы координат нечитаем в принципе. Выбрав такой файл здесь, вы получите отказ, который называет дорогу: импорт в аккаунт их принимает, и после входа приложение положит содержимое в папку.
Потолок — пятьдесят мегабайт
Текст файла целиком попадает в память вкладки, а разобранная структура занимает ещё больше. Отсюда и число: за ним разбор занимает вкладку настолько, что это уже видно, а на телефоне видно вдвойне. Обычная выгрузка до этого числа не дотягивает на порядки; упираются в него подробные контуры — границы, кварталы, лесные выделы.
Другой формат — другая страница
Инструмент на всех один, а объяснения разные: у каждого формата свои привычки.
Частые вопросы
Чем открыть GeoJSON, если ГИС под рукой нет?
Полем выше. Устанавливать и регистрироваться не нужно: страница работает в любом современном браузере, включая мобильный, а выбранный файл остаётся на вашем устройстве.
По запросу «GeoJSON viewer» выдача даёт десятки сайтов. Чем отличается этот?
Двумя вещами. Он не одноформатный: то же поле принимает GPX, KML, KMZ и собственные файлы AlpineQuest, поэтому папку с разномастными выгрузками не приходится разносить по четырём чужим сайтам. И он написан по-русски — вместе с отказами, которые объясняют, что именно пошло не так.
Файл принят, а вместо карты — «показывать нечего». Что случилось?
Чаще всего координаты в нём не градусы: выгрузки из ГИС сплошь и рядом записаны метрами проекции, а такие числа отбрасываются как невозможные — до карты не доходит ни одно. Вторая причина проще: геометрии в файле действительно нет, одни свойства. Так выглядят заготовки и выгрузки, из которых координаты вырезали при обработке.
Объекты легли на карту, но не туда, где им место.
Значит, в паре переставлены местами широта и долгота. Смещение при этом получается не на километр и не в случайную сторону: объект садится туда, где его координаты читаются задом наперёд, — обычно в другое полушарие. Совсем пропасть он может только при долготе больше девяноста градусов: широты такой величины не бывает, и число отбрасывается. Чинить надо в той программе, которая файл собрала: мы показываем то, что в нём записано.
Почему объектов в списке больше, чем записей в файле?
Потому что множественные геометрии разложены на части: MultiPolygon из семи контуров — это семь строк, у каждой своя площадь и своя рамка. Подпись у всех общая, родительская. Свести их обратно в одну запись страница не умеет, да и на карте разницы никакой.
Можно ли нарисовать здесь свой файл или поправить чужой?
Нет, и это решение, а не недоделка. Страница читает готовый файл и показывает его на карте; рисования геометрии, правки свойств и слияния файлов тут нет и не планируется. Если вы пришли за редактором — это не он, и узнать об этом лучше сразу, чем после десяти минут поиска нужной кнопки.
Свойства у объекта в файле есть, а на экране их не видно.
Показываются два поля — подпись и пояснение, найденные по привычным именам. Остальное не выводится намеренно: у выгрузки из ГИС свойств бывает три десятка, и вывалить их рядом с картой значит закрыть саму карту. Файл при этом не меняется, все поля в нём остаются на месте.
Файл получен конвертацией из трека. Что в нём потерялось?
Оформление, если оно было: цвет, толщину линии и значок точки формат не хранит вовсе, их каждая программа придумывает сама. Время отметок при переводе уезжает в свойства под произвольным именем, и общего правила достать его оттуда нет. Высоты перевод переживают, когда конвертер записал их третьим числом координаты, — проверяется это просто: откройте файл здесь и посмотрите, появился ли профиль.