示例#1
0
def output():
    l.debug("Outputting XML")
    # First, set up a few data structures for optimization purposes
    global geometries, features
    nodes = [geometry for geometry in geometries if type(geometry) == Point]
    ways = [geometry for geometry in geometries if type(geometry) == Way]
    relations = [
        geometry for geometry in geometries if type(geometry) == Relation
    ]
    featuresmap = {feature.geometry: feature for feature in features}

    w = XMLWriter(open(options.outputFile, 'w'))
    w.start("osm", version='0.6', generator='myogr2osm')

    for node in nodes:
        w.start("node",
                version="1",
                timestamp="2012-01-01T00:00:00.0+11:00",
                changeset="0",
                visible="true",
                id=str(node.id),
                lat=str(node.y),
                lon=str(node.x))
        if node in featuresmap:
            for (key, value) in featuresmap[node].tags.items():
                w.element("tag", k=key, v=value)
        w.end("node")

    for way in ways:
        w.start("way",
                version="1",
                timestamp="2012-01-01T00:00:00.0+11:00",
                changeset="0",
                visible="true",
                id=str(way.id))
        for node in way.points:
            w.element("nd", ref=str(node.id))
        if way in featuresmap:
            for (key, value) in featuresmap[way].tags.items():
                w.element("tag", k=key, v=value)
        w.end("way")

    for relation in relations:
        w.start("relation",
                version="1",
                timestamp="2012-01-01T00:00:00.0+11:00",
                changeset="0",
                visible="true",
                id=str(relation.id))
        for (member, role) in relation.members:
            w.element("member", type="way", ref=str(member.id), role=role)
        if relation in featuresmap:
            for (key, value) in featuresmap[relation].tags.items():
                w.element("tag", k=key, v=value)
        w.end("relation")

    w.end("osm")
def output():
    l.debug("Outputting XML")
    # First, set up a few data structures for optimization purposes
    global geometries, features
    nodes = [geometry for geometry in geometries if type(geometry) == Point]
    ways = [geometry for geometry in geometries if type(geometry) == Way]
    relations = [geometry for geometry in geometries if type(geometry) == Relation]
    featuresmap = {feature.geometry : feature for feature in features}

    w = XMLWriter(open(options.outputFile, 'w'))
    w.start("osm", version='0.6', generator='myogr2osm')

    for node in nodes:
        w.start("node", version="1", timestamp="2012-01-01T00:00:00.0+11:00", changeset="0", visible="true", id=str(node.id), lat=str(node.y), lon=str(node.x))
        if node in featuresmap:
            for (key, value) in featuresmap[node].tags.items():
                w.element("tag", k=key, v=value)
        w.end("node")

    for way in ways:
        w.start("way", version="1", timestamp="2012-01-01T00:00:00.0+11:00", changeset="0", visible="true", id=str(way.id))
        for node in way.points:
            w.element("nd", ref=str(node.id))
        if way in featuresmap:
            for (key, value) in featuresmap[way].tags.items():
                w.element("tag", k=key, v=value)
        w.end("way")

    for relation in relations:
        w.start("relation", version="1", timestamp="2012-01-01T00:00:00.0+11:00", changeset="0", visible="true", id=str(relation.id))
        for (member, role) in relation.members:
            w.element("member", type="way", ref=str(member.id), role=role)
        if relation in featuresmap:
            for (key, value) in featuresmap[relation].tags.items():
                w.element("tag", k=key, v=value)
        w.end("relation")

    w.end("osm")
示例#3
0
from time import sleep
import eyeD3, sys, os, hashlib, time, shutil
from SimpleXMLWriter import XMLWriter
# import configuration file
from cfg import *

###
# define the output of the program (either stdout or file)
xml = XMLWriter('rss.xml')

# head of the file
output = xml.start('rss', version='2.0')

# channel part of the file
xml.start('channel')
xml.element('title', title)
xml.element('link', url)
xml.element('language', 'en-us')
xml.element('description', description)
xml.element('author', author)
xml.element('category', category)

xml.start('image')
xml.element('url', image)
xml.end('image')

# channel owner information
xml.start('owner')
xml.element('name', author)
xml.element('email', email)
xml.end('owner')
示例#4
0
def output():
    l.debug("Outputting XML")
    # First, set up a few data structures for optimization purposes
    global geometries, features
    nodes = [geometry for geometry in geometries if type(geometry) == Point]
    ways = [geometry for geometry in geometries if type(geometry) == Way]
    relations = [geometry for geometry in geometries if type(geometry) == Relation]
    featuresmap = {feature.geometry : feature for feature in features}

    w = XMLWriter(open(options.outputFile, 'w'), 'utf-8')
    if options.noUploadFalse:
        w.start("osm", version='0.6', generator='uvmogr2osm')
    else:
        w.start("osm", version='0.6', generator='uvmogr2osm', upload='false')
        
    w.data("\n")
    for node in nodes:
        w.start("node", visible="true", id=str(node.id), lat=str(node.y*10**-options.significantDigits), lon=str(node.x*10**-options.significantDigits))
        if node in featuresmap:
            for (key, value) in featuresmap[node].tags.items():
                w.element("tag", k=escape(key), v=escape(value))
                w.data("\n")
        w.end("node")
        w.data("\n")

    for way in ways:
        w.start("way", visible="true", id=str(way.id))
        w.data("\n")
        for node in way.points:
            w.element("nd", ref=str(node.id))
            w.data("\n")
        if way in featuresmap:
            for (key, value) in featuresmap[way].tags.items():
                w.element("tag", k=escape(key), v=escape(value))
                w.data("\n")
        w.end("way")
        w.data("\n")

    for relation in relations:
        w.start("relation", visible="true", id=str(relation.id))
        w.data("\n")
        for (member, role) in relation.members:
            w.element("member", type="way", ref=str(member.id), role=escape(role))
            w.data("\n")
        w.element("tag", k='type', v='multipolygon')
        w.data("\n")
        if relation in featuresmap:
            for (key, value) in featuresmap[relation].tags.items():
                w.element("tag", k=escape(key), v=escape(value))
                w.data("\n")
        w.end("relation")
        w.data("\n")

    w.end("osm")
示例#5
0
print
print "Generating OSM XML..."
print "Generating nodes."


#w = XMLWriter(sys.stdout)
w = XMLWriter(open(outputFile,'w'))

w.start("osm", version='0.6', generator='ogr2osm')

# First, the nodes
for (nodeID,(x,y)) in nodeCoords.items():
	w.start("node", visible="true", id=str(nodeID), lat=str(y), lon=str(x))
	for (tagKey,tagValue) in nodeTags[nodeID].items():
		if tagValue:
			w.element("tag", k=tagKey, v=tagValue)
	w.end("node")
	if showProgress: sys.stdout.write('.')


#print "Generated nodes. On to shared segments."

# Now, the segments used by more than one line/area, as untagged ways


#for (segmentID, segmentRef) in segmentRefs.items():
	#if len(segmentRef) > 1:
		#print "FIXME: output shared segment"
		#outputtedSegments[segmentID] = True

示例#6
0
print
print "Generating OSM XML..."
print "Generating nodes."

#w = XMLWriter(sys.stdout)
w = XMLWriter(open(outputFile, 'w'))

w.start("osm", version='0.6', generator='ogr2osm')

# First, the nodes
for (nodeID, (x, y)) in nodeCoords.items():
    w.start("node", visible="true", id=str(nodeID), lat=str(y), lon=str(x))
    for (tagKey, tagValue) in nodeTags[nodeID].items():
        if tagValue:
            w.element("tag", k=tagKey, v=tagValue)
    w.end("node")
    if showProgress: sys.stdout.write('.')

#print "Generated nodes. On to shared segments."

# Now, the segments used by more than one line/area, as untagged ways

#for (segmentID, segmentRef) in segmentRefs.items():
#if len(segmentRef) > 1:
#print "FIXME: output shared segment"
#outputtedSegments[segmentID] = True

print
print "Generated nodes. On to lines."
示例#7
0
                if showProgress:
                    sys.stdout.write(",")
                x = geometry.GetX()
                y = geometry.GetY()
                nodeID = addNode(x, y)

            elif geometry.GetDimension() == 1 or geometry.GetDimension() == 2:
                # linestring
                geomID = elementIdCounter
                elementIdCounter = elementIdCounter - 1
                way = convertGeometry(geometry)
                ways[geomID] = way

print "Generating OSM XML..."
w = XMLWriter(open(outputFile, "w"))
w.start("osm", version="0.6", generator="ogr2osm")

print "Generating " + str(len(nodes)) + " nodes."
for (nodeID, (x, y)) in nodes.items():
    w.start("node", visible="true", id=str(nodeID), lat=str(y), lon=str(x))
    w.end("node")

print "Generating " + str(len(ways)) + " ways."
for key in ways.keys():
    w.start("way", id=str(key), action="modify", visible="true")
    for node in ways[key]:
        w.element("nd", ref=str(node))
    w.end("way")
print "All done. Enjoy your data!"
w.end("osm")
print
print "Generating OSM XML..."
print "Generating nodes."

# w = XMLWriter(sys.stdout)
w = XMLWriter(open(options.outputFile, "w"))

w.start("osm", version="0.6", generator="ogr2osm")

# First, the nodes
for (nodeID, (x, y)) in nodeCoords.items():
    w.start("node", visible="true", id=str(nodeID), lat=str(y), lon=str(x))
    for (tagKey, tagValue) in nodeTags[nodeID].items():
        if tagValue:
            w.element("tag", k=tagKey, v=tagValue)
    w.end("node")
    if showProgress:
        sys.stdout.write(".")


# print "Generated nodes. On to shared segments."

# Now, the segments used by more than one line/area, as untagged ways


# for (segmentID, segmentRef) in segmentRefs.items():
# if len(segmentRef) > 1:
# print "FIXME: output shared segment"
# outputtedSegments[segmentID] = True