Почему одна часть преобразования GML -> KML не работает в Картах Google?

11

У меня есть клиент, который хочет визуализировать заболеваемость раком и уровень смертности от местных / унитарных властей по всей Великобритании. Я использовал данные Ordnance Survey, чтобы получить границы органов власти в формате GML, и сохранил их все в виде одного большого файла GML. Я использовал QGIS для преобразования данных в формат KML. Теперь у меня есть данные в Fusion Tables, и все выглядит великолепно, за исключением одного явного пробела в покрытии .

Когда я смотрю на данные KML на предмет отсутствия локальных прав доступа, они вообще не импортируются (т.е. ячейка пуста). Я попытался повторно загрузить геометрию (и повторно загрузить и повторно преобразовать), и Fusion Tables определенно отклоняет это как KML. Я где-то читал, что Fusion Tables может немного помешать вашей геометрии, поэтому я загрузил файл KML и указал на него Карты Google, и это тоже не сработало (я не знаю, насколько это хороший тест).

Я не знаю, что я изначально создал действительный файл GML (я не знаю стандарта), но они, кажется, нормально импортировали в QGIS, и конечный результат выглядит великолепно, за исключением этого места. Область является видимой в QGIS , когда я загрузить файл GML, так что я не знаю , если QGIS производит недействительный KML или mayble Google Maps / Fusion Tables есть ограничение?


Я загрузил данные OS Open, на которые указывает @nhopton , загрузил соответствующий слой в QGIS ( Layer -> Add vector layer ), сохранил его как KML ( Layer -> Save as ) и загрузил его в Fusion Tables. (Обратите внимание, что я ничего явно не делал с CRS). Обычно это работает хорошо (и важно, что конкретная область, которая потерпела неудачу с моим первым методом, работала с этим, поэтому у меня отсутствует геометрия!). Тем не менее, есть ряд пропущенных областей снова. И в этом случае я гораздо меньше делаю с данными, поэтому не так легко предположить, что я просто испортил данные. Есть идеи, почему мои окончательные результаты выглядят так ?

Энди
источник
1
Вы можете попробовать QGIS "Проверить правильность геометрии". Возможно, полигон недействителен.
Подземье
Ренфруширский кмл имеет неверную геометрию (проверил это в FME), кажется, есть много самопересекающихся многоугольников. Я бы проверил ваш первоисточник.
Mapperz
2
Я бы попробовал набор данных Boundary-Line из ОС OpenData: ordnancesurvey.co.uk/opendatadownload/products.html . Это обеспечивает локальные / унитарные границы полномочий для всего ГБ в одном файле формы.
Ноптон
Добавлено позже: слой Boundary-Line, который вам понадобится, называется "district_borough_unitary_region".
Ноптон
2
@andy - я думаю, что ваша проблема вызвана огромным размером файла KML, который создает QGIS. Я бы посоветовал вам попробовать загрузить исходный шейп-файл в QGIS, а затем упростить его (Вектор -> Инструменты геометрии -> Упростить геометрию), используя «Упрощение допуска», равное 12 или даже больше. Попробуйте 12 для начала. Затем преобразуйте новый шейп-файл в KML.
Ноптон

Ответы:

1

@andy, я собирался предложить то же самое, что предложил @nhopton. Размер файла KML может быть причиной проблемы. Упрощенная геометрия может помочь в решении проблемы. Я бы посоветовал быть осторожным, так как это может снизить разрешение ваших данных. Я не думаю, что это обязательно будет проблемой для вашего конкретного набора данных, хотя. Если у вас есть эти проблемы, вы также можете попробовать разделить ваши данные на несколько небольших файлов и сделать несколько файлов KML вместо одного гигантского.

G.Oxsen
источник
1

Проблема, вероятно, из-за ограничения Fusion Table Layer с функцией многоугольника. Я не помню, какой именно предел, но это что-то вроде 3-5 самых больших частей мультиполигона, которые можно отобразить. Я предлагаю распустить вашу таблицу, чтобы иметь одну особенность по многогранной части.

Ниже радара
источник