Beispiel #1
0
    def _Get(self, start):

        if start == None:
            return None

        class _output:
            data = None

            def NodeCreate(self, data):
                self.data = data

            def WayCreate(self, data):
                self.data = data

            def RelationCreate(self, data):
                self.data = data

        self._debug_in_way = True
        self._debug_in_relation = True
        self._output = _output()
        parser = OsmSax.make_parser()
        parser.setContentHandler(self)
        parser.feed("<?xml version='1.0' encoding='UTF-8'?>")

        f = self._GetFile()
        f.seek(start)
        while not self._output.data:
            parser.feed(f.readline())
        return self._output.data
Beispiel #2
0
    def _Get(self, start):

        if start == None:
            return None

        class _output:
            data = None

            def NodeCreate(self, data):
                self.data = data

            def WayCreate(self, data):
                self.data = data

            def RelationCreate(self, data):
                self.data = data

        self._debug_in_way = True
        self._debug_in_relation = True
        self._output = _output()
        parser = OsmSax.make_parser()
        parser.setContentHandler(self)
        parser.feed("<?xml version='1.0' encoding='UTF-8'?>")

        f = self._GetFile()
        f.seek(start)
        while not self._output.data:
            parser.feed(f.readline())
        return self._output.data
Beispiel #3
0
 def _Copy(self, output, get_start, get_end):
     self._debug_in_way = True
     self._debug_in_relation = True
     self._output = output
     parser = OsmSax.make_parser()
     parser.setContentHandler(self)
     f = self._GetFile()
     start = get_start(f)
     end = get_end(f)
     count = end - start
     bs = 1024
     f.seek(start)
     parser.feed("<?xml version='1.0' encoding='UTF-8'?>")
     parser.feed("<osm>")
     for i in range(count / bs):
         parser.feed(f.read(bs))
     parser.feed(f.read(count - bs * int(count / bs)))
     parser.feed("</osm>")
Beispiel #4
0
 def _Copy(self, output, get_start, get_end):
     self._debug_in_way = True
     self._debug_in_relation = True
     self._output = output
     parser = OsmSax.make_parser()
     parser.setContentHandler(self)
     f = self._GetFile()
     start = get_start(f)
     end = get_end(f)
     count = end - start
     bs = 1024
     f.seek(start)
     parser.feed("<?xml version='1.0' encoding='UTF-8'?>")
     parser.feed("<osm>")
     for i in range(count / bs):
         parser.feed(f.read(bs))
     parser.feed(f.read(count - bs * int(count / bs)))
     parser.feed("</osm>")