AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Schnelle XML Lib für große Dateien gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Schnelle XML Lib für große Dateien gesucht

Ein Thema von Mithrandir · begonnen am 14. Apr 2009 · letzter Beitrag vom 9. Okt 2009
Antwort Antwort
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#1

Re: Schnelle XML Lib für große Dateien gesucht

  Alt 16. Apr 2009, 11:58
Zitat von Muetze1:
Oder einfach MMF nutzen, dann wird gemappt (stückchenweise) und nichts explizit in den Speicher gehauen.
Hmm, klingt interessant...
Zitat von Muetze1:
So lange die Arbeit mit den Zeigern und offsets nicht mit vorzeichenbehafteten Typen von statten geht, kann man leicht mit FastMM und der $SetPEFlags Compilerdirektive die 3,2 GB nutzbar machen. Ich setze es in ein ein paar Projekten ein (auch grosse) und das klappt einwandfrei. Dann hat man nochmal immerhin 1.2 GB weiteren Spielraum.
Und dann kommt einer auf die Idee, das sog. Planet-File einzulesen. Gepackt 5 GB groß, entpackt das 6-fache. Ich hätte vielleicht auch noch erwähnen sollen, dass die Dateien netterweise Zeilenumbrüche besitzen...

Damit ihr mal seht, worüber wir eigentlich die ganze Zeit philosophieren:

So sieht eine OSM-Datei aus:

XML-Code:
  
//Header

<?xml version='1.0' encoding='UTF-8'?>
<osm version="0.5" generator="Osmosis 0.29">
<bound box="53.35408,8.05388,55.09603,12.03859" origin="http://www.openstreetmap.org/api/0.5"/>

//Paar tausend Zeilen übersprungen
<node id="13345659" timestamp="2008-12-14T16:57:25Z" user="Gluko" lat="53.9024873" lon="10.777812"/>
<node id="13345660" timestamp="2008-12-14T16:59:07Z" user="Gluko" lat="53.90483" lon="10.779308"/>
<node id="13345661" timestamp="2008-12-14T16:58:56Z" user="Gluko" lat="53.9045348" lon="10.7796025"/>
<node id="13345662" timestamp="2009-01-23T14:08:35Z" user="itschytoo" lat="53.899494" lon="10.7674726"/>
<node id="13345663" timestamp="2009-03-22T10:48:30Z" user="itschytoo" lat="53.8993371" lon="10.7675229"/>
<node id="13345664" timestamp="2009-01-23T14:08:35Z" user="itschytoo" lat="53.8989988" lon="10.7644318"/>
<node id="13345665" timestamp="2009-02-28T14:21:15Z" user="Maarten Deen" lat="53.8985106" lon="10.759474">
  <tag k="barrier" v="toll_booth"/>
  <tag k="name" v="Herrentunnel Lübeck Nord"/>
  <tag k="operator" v="Herrentunnel Lübeck GmbH &amp; Co. KG"/>
</node>
<node id="13345670" timestamp="2009-01-23T14:08:35Z" user="itschytoo" lat="53.8986935" lon="10.7615206"/>
<node id="13345672" timestamp="2009-01-23T14:08:35Z" user="itschytoo" lat="53.8984061" lon="10.7579444"/>
<node id="13345673" timestamp="2009-03-19T14:20:45Z" user="itschytoo" lat="53.8971746" lon="10.7492752"/>
<node id="13345674" timestamp="2009-01-23T14:08:45Z" user="itschytoo" lat="53.8980463" lon="10.7543967"/>
<node id="13345680" timestamp="2009-03-22T10:48:29Z" user="itschytoo" lat="53.8976444" lon="10.7523478"/>
<node id="13345681" timestamp="2009-03-19T14:23:04Z" user="itschytoo" lat="53.8972377" lon="10.7511739"/>
<node id="13345683" timestamp="2009-03-19T14:24:27Z" user="itschytoo" lat="53.8952786" lon="10.7510925"/>
<node id="13345685" timestamp="2008-09-01T07:03:44Z" user="Lübeck" lat="53.8949418" lon="10.7519724">
  <tag k="created_by" v="JOSM"/>
  <tag k="highway" v="traffic_signals"/>
</node>

//Paar tausend Zeilen übersprungen

<way id="27190543" timestamp="2008-09-20T10:34:08Z" user="phobie">
  <nd ref="275411385"/>
  <nd ref="275411386"/>
  <nd ref="274748737"/>
  <tag k="name" v="Lindenweg"/>
  <tag k="highway" v="residential"/>
</way>
<way id="27190544" timestamp="2008-09-20T10:34:09Z" user="phobie">
  <nd ref="274748080"/>
  <nd ref="298365383"/>
  <nd ref="298365384"/>
  <tag k="noexit" v="yes"/>
  <tag k="highway" v="service"/>
</way>

//Wieder ein paar hundertausend Zeilen übersprungen

<relation id="16007" timestamp="2009-04-13T07:20:56Z" user="UncleOwen">
  <member type="way" ref="24737571" role=""/>
  <member type="way" ref="24737575" role=""/>
  <tag k="name" v="Liebermannweg"/>
  <tag k="route" v="road"/>
  <tag k="created_by" v="JOSM"/>
  <tag k="type" v="route"/>
</relation>

<relation id="16008" timestamp="2009-04-13T07:20:56Z" user="UncleOwen">
  <member type="way" ref="21107760" role=""/>
  <member type="way" ref="24737566" role=""/>
  <member type="way" ref="24737581" role=""/>
  <tag k="name" v="Luise-Schröder Ring"/>
  <tag k="route" v="road"/>
  <tag k="created_by" v="JOSM"/>
  <tag k="type" v="route"/>
</relation>

<relation id="16010" timestamp="2009-04-13T07:20:55Z" user="UncleOwen">
  <member type="way" ref="22672888" role=""/>
  <member type="way" ref="24737825" role=""/>
  <member type="way" ref="24737826" role=""/>
  <member type="way" ref="26248001" role=""/>
  <member type="way" ref="28090656" role=""/>
  <member type="way" ref="28090657" role=""/>
  <tag k="name" v="Esinger Weg"/>
  <tag k="route" v="road"/>
  <tag k="created_by" v="JOSM"/>
  <tag k="type" v="route"/>
  <tag k="highway" v="residential"/>
</relation>

//Ende

</osm>
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz