http://osmlib.rubyforge.org/osmlib-sqli ... index.html
to_xml(target, marked_only=false)
Dump the database to XML. The first parameter is the target. This can either be a file (IO object) or a string. If the parameter marked_only is false, the whole database will be dumped. If it is true, only the marked records in the database are dumped, i.e. records set have set the SQL attribute "marked" as 1.
db = OSM::SQLite::Database.new(DBFILENAME)
out = ''
db.to_xml(out)
File.open('filename.osm', 'w') do |file|
db.to_xml(file)
end
Я хочу сказать, что выполнение подобных задач через :
1. Osmosis для получения OSM xml
http://wiki.openstreetmap.org/wiki/RU:O ... uselang=ru
2. Получение шейп файлов с использованием PostgreSQL через Osm2pgsql
http://wiki.openstreetmap.org/wiki/Osm2pgsql
можно было бы совместить в одну задачу, при этом шейп файлы не обязательно должны содержать ту избыточную атрибутику необходимую для создания OSM xml .
Это парсер OSM xml / PostgreSQL/ SHP и наоборот PostgreSQL/OSM xml,
а также библиотека для вырезания, особенно были бы интересны, как плагин в QGIS.
http://wiki.openstreetmap.org/index.php ... _into_QGIS
В приведенной таблице
http://gis-lab.info/projects/osm-export.html
xорошо бы завести столбик дата последнего обновления, чтобы понять есть ли изменения в интересующем субъекте РФ.