Нужна помощь с переводом из OSM XML в Shape
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Нужна помощь с переводом из OSM XML в Shape
Нужна помощь для проекта по детдомикам.
Кто-то может перевести OSM XML в ESRI Shape с сохранением структуры как в шейпах? Рассказывать как это делается мне не нужно, я знаю, просто занят другим. Нужно просто взять и сделать.
OSM XML:
- download/file.php?id=6277 курган
- download/file.php?id=6240 челябинск
- download/file.php?id=6446 москва
ESRI Shape:
- http://gis-lab.info/data/detdom/RU-KGN_det.7z
- http://gis-lab.info/data/detdom/RU-CHE_det.7z
- http://gis-lab.info/data/detdom/RU-MOW_det.7z
Заранее благодарен
Кто-то может перевести OSM XML в ESRI Shape с сохранением структуры как в шейпах? Рассказывать как это делается мне не нужно, я знаю, просто занят другим. Нужно просто взять и сделать.
OSM XML:
- download/file.php?id=6277 курган
- download/file.php?id=6240 челябинск
- download/file.php?id=6446 москва
ESRI Shape:
- http://gis-lab.info/data/detdom/RU-KGN_det.7z
- http://gis-lab.info/data/detdom/RU-CHE_det.7z
- http://gis-lab.info/data/detdom/RU-MOW_det.7z
Заранее благодарен
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Нужна помощь с переводом из OSM XML в Shape
Максим, поделись тайным знанием, _как_ ты это делаешь.
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Нужна помощь с переводом из OSM XML в Shape
Пытался перевести OSM XML в SHP как минимум половиной средств из перечисленного на этой странице — геометрия конвертируется, атрибуты нет. Как быть с осмовскими тегами?
Редактор материалов, модератор форума
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Нужна помощь с переводом из OSM XML в Shape
Привет, вот этот инструмент пробовал?
Spatial is now, more than ever, just another column- The Geometry Column.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Нужна помощь с переводом из OSM XML в Shape
Отбой, сам сделал.
Вот вам тайное знание:
ну и потом в кугисе сконвертировал csv в shape. Наверное это не супер красиво, но сработало как надо.
Вот вам тайное знание:
Код: Выделить всё
# -*- coding: utf-8 -*-
import sys
from bs4 import BeautifulSoup
args = sys.argv[ 1: ]
soup = BeautifulSoup(''.join(open(args[0])))
f = open(args[1],'w')
f.write('lat;long;id;name;addr_o;region;district;url;g_region;g_district;g_settl;g_street;g_building;g_geocoded;g_status\n')
nodes = soup.findAll('node')
for node in nodes:
tags = node.findAll('tag')
for tag in tags:
if tag['k'] == 'id':
id1 = tag['v']
elif tag['k'] == 'addr_o':
addr_o = tag['v']
elif tag['k'] == 'district':
district = tag['v']
elif tag['k'] == 'g_building':
g_building = tag['v']
elif tag['k'] == 'g_district':
g_district = tag['v']
elif tag['k'] == 'g_geocoded':
g_geocoded = tag['v']
elif tag['k'] == 'g_region':
g_region = tag['v']
elif tag['k'] == 'g_settl':
g_settl = tag['v']
elif tag['k'] == 'g_street':
g_street = tag['v']
elif tag['k'] == 'name':
name = tag['v']
elif tag['k'] == 'region':
region = tag['v']
elif tag['k'] == 'url':
url = tag['v']
lat = node['lat']
lon = node['lon']
print(id1)
g_status = "none"
f.write(lat.encode("utf-8") + ";" + lon.encode("utf-8") + ";" + id1.encode("utf-8") + ";" + name.encode("utf-8") + ";" + addr_o.encode("utf-8") + ";" + region.encode("utf-8") + ";" + district.encode("utf-8") + ";" + url.encode("utf-8") + ";" + g_region.encode("utf-8") + ";" + g_district.encode("utf-8") + ";" + g_settl.encode("utf-8") + ";" + g_street.encode("utf-8") + ";" + g_building.encode("utf-8") + ";" + g_geocoded.encode("utf-8") + ";" + g_status.encode("utf-8") + "\n")
f.close()
пристегивайтесь, турбулентность прямо по курсу
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Нужна помощь с переводом из OSM XML в Shape
Денис, надо было osm2shape, а не наоборот.
пристегивайтесь, турбулентность прямо по курсу
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Нужна помощь с переводом из OSM XML в Shape
Вы все очень сложно мыслите, учитесь)
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Нужна помощь с переводом из OSM XML в Shape
Мой вариант (более длинный):
1. Открываем *.osm в JOSM, пересохраняем в GeoJSON
2. Немного правим .json (заменяем \\" на \"):
3. Открываем .json в QGIS, пересохраняем в SHP (или с помощью ogr2ogr):
1. Открываем *.osm в JOSM, пересохраняем в GeoJSON
2. Немного правим .json (заменяем \\" на \"):
Код: Выделить всё
sed -i 's/\\"/\"/g' RU-KGN_det-v1.json
Код: Выделить всё
export SHAPE_ENCODING=""
ogr2ogr RU-CHE_det-v1.shp RU-CHE_det-v1.json
Редактор материалов, модератор форума
-
- Гуру
- Сообщения: 977
- Зарегистрирован: 27 янв 2009, 22:57
- Репутация: 258
Re: Нужна помощь с переводом из OSM XML в Shape
Открываем OSM XML в Merkaartor и выполняем экспорт в KML(есть ограничения на размер). Затем, например с помощью GM конвертируем в SHP, при этом можно указать дополнительные условия для экспорта, например для определенного значения тега OSM.
-
- Гуру
- Сообщения: 977
- Зарегистрирован: 27 янв 2009, 22:57
- Репутация: 258
Re: Нужна помощь с переводом из OSM XML в Shape
Конечно всего перечисленного не достаточно для правильного конвертирования из-за особенностей структуры данных проекта OpenStreetMap.
-
- Гуру
- Сообщения: 977
- Зарегистрирован: 27 янв 2009, 22:57
- Репутация: 258
Re: Нужна помощь с переводом из OSM XML в Shape
Какого тега не хватает в OSM XML примерах, приведеных выше?
Предлагаю вариант Tag:amenity=social_facility
http://wiki.openstreetmap.org/wiki/RU:T ... l_facility
social_facility:for=orphan
http://wiki.openstreetmap.org/wiki/RU:K ... l_facility
Т. е. при наличии качественного снимка Бинг, почему бы не отметить в OSM объект - дет.дом ?
Предлагаю вариант Tag:amenity=social_facility
http://wiki.openstreetmap.org/wiki/RU:T ... l_facility
social_facility:for=orphan
http://wiki.openstreetmap.org/wiki/RU:K ... l_facility
Т. е. при наличии качественного снимка Бинг, почему бы не отметить в OSM объект - дет.дом ?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя