DE60003725T2 - Geographische karten auf einem persönlichen digitalen assistenten (pda) und server - Google Patents

Geographische karten auf einem persönlichen digitalen assistenten (pda) und server Download PDF

Info

Publication number
DE60003725T2
DE60003725T2 DE60003725T DE60003725T DE60003725T2 DE 60003725 T2 DE60003725 T2 DE 60003725T2 DE 60003725 T DE60003725 T DE 60003725T DE 60003725 T DE60003725 T DE 60003725T DE 60003725 T2 DE60003725 T2 DE 60003725T2
Authority
DE
Germany
Prior art keywords
data
map
server
servlet
card
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60003725T
Other languages
English (en)
Other versions
DE60003725D1 (de
Inventor
Nemmara Chithambaram
Howard Marantz
Ricardo John DEAGUIAR
J. Edward CONNOR
Scott Ding
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Autodesk Inc
Original Assignee
Autodesk Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27578596&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60003725(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US09/628,851 external-priority patent/US7142196B1/en
Priority claimed from US09/628,850 external-priority patent/US6674445B1/en
Application filed by Autodesk Inc filed Critical Autodesk Inc
Publication of DE60003725D1 publication Critical patent/DE60003725D1/de
Application granted granted Critical
Publication of DE60003725T2 publication Critical patent/DE60003725T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Instructional Devices (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Calculators And Similar Devices (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft allgemein elektronische Karten und geographische Informationen, und insbesondere ein Verfahren, eine Vorrichtung und einen Herstellungsartikel zum Bereitstellen einer Zugriffsmöglichkeit auf Karten und geographische Daten auf einem persönlichen digitalen Assistenten (Personal Digital Assistant – PDA).
  • 2. Beschreibung des einschlägigen Stands der Technik
  • Computerimplementierte geographische Informationssysteme (Geographic Information Systems – GIS) sind im Stand der Technik bekannt. Solche GIS sorgen für den Zugriff auf und die Anzeige von geographischen Informationen (z. B. Karten). Ein GIS ist ein System aus Software, Hardware und Daten, das geographische Daten (Straßenkarten, Grundstücksgrenzen, Stromversorgungsleitungen, etc.) zusammen mit jedweden zugeordneten Attributinformationen bereitstellt. Es kann dem Benutzer zeigen, wo sich eine Straße befindet, und es kann dem Benutzer auch den Straßennamen mitteilen, wann die Straße zuletzt geteert worden ist, ob es eine Einbahnstraße ist, etc. Unter Verwendung eines GIS kann ein Benutzer komplexe Anfragen (von einem Web-Browser an einen Server) ausführen, um z. B. herauszufinden, wie viele Menschen nahe der Straße leben, welches Einkommensniveau sie haben und wie die Raumordnungsregeln lauten. Ein GIS kann über ein Netzwerk/das Internet arbeiten, wobei die geographischen Informationen auf einem Server gespeichert werden und an einen Client/Benutzer übertragen werden, wo die Informationen (Kartenbild und andere Daten) durch einen Web-Browser angezeigt werden. Siehe z. B. WO 97/07467 A, wo eine Karte des Gebiets eines Clientrechners über das Internet von einem Kartenserver angefordert wird.
  • Damit der Client die geographischen Informationen richtig anzeigen kann, ist ein Computersystem mit hinreichenden Verarbeitungsfähigkeiten, geeigneter Software und hinreichend viel Speicher erforderlich. Beispielsweise kann es erforderlich sein, daß ein Client einen Computer mit einem Web-Browser wie beispielsweise INTERNET EXPLORER oder NETSCAPE NAVIGATOR nutzt und mindestens 10 Megabyte verfügbaren Speicher aufweist. Ferner kann eine geeignete Internetverbindung (z. B. ein 28,8-Kbps-(Kilobit pro Sekunde)-Modem) und ein Computersystem mit beträchtlicher Verarbeitungsleistung (z. B. einer Mindestgeschwindigkeit von 100 MHz) erforderlich sein, um die geographischen Daten so anzuzeigen, daß ein Benutzer nicht übermäßig lange warten muß, um auf die Daten zuzugreifen und sie zu laden.
  • Techniker im Außendienstlbei Versorgungsbetrieben wie beispielsweise die Mitarbeiter von Gasgesellschaften, Verkaufspersonal, Installateure, Versicherungs-Sachbearbeiter oder Beschäftigte jedweder Art, die Reisen zu unterschiedlichen Orten erfordert, nutzen oder benötigen oft Zugriff auf Karten und geographische Informationen. Ferner müssen solche Techniker oft mit einer Karte interagieren, um einschlägige Informationen zu erhalten. Beispielsweise kann es sein, daß ein Installateur/Auftragnehmer herausfinden möchte, wo sich die Gas-Hauptleitung oder Wasserleitung einer Straße befindet. Den Technikern steht jedoch, während sie sich vor Ort befinden, oft keine Netzwerkverbindung zur Verfügung, und es ist mühsam und unpraktikabel, einen Laptop oder einen Tischcomputer mit sich zu führen. Siehe z. B. US-A-5699244, wo ein PDA mittels eines Kabels mit einem Tischcomputer mit Kartendaten verbunden ist. Es ist somit wünschenswert, eine kleine (in der Hand zu haltende) tragbare Computervorrichtung mit den Fähigkeiten zu haben, geographische Informationen sowohl mit als auch ohne bestehende Netzwerkverbindung (online und offline) anzuzeigen und mit diesen Informationen zu interagieren.
  • In der Hand zu haltende Computergeräte nach dem Stand der Technik (die auch als Handflächen-PCs (Palm PCs) oder persönliche digitale Assistenten (PDAs) bezeichnet werden) werden häufig verwendet, um auf persönliche Informationen zuzugreifen und solche Informationen zu nutzen. Viele Hand-Computergeräte sind heute auf dem Markt verfügbar. Typischerweise sind Hand-Computergeräte nur geringfügig größer als die Größe einer Handfläche (daher der Name Handflächen-PC), und sie weisen eine kleine Anzeige auf, um eine Vielzahl von Elementen zu betrachten. Software kann auf einem PDA installiert werden, um die Funktionalität zu verbessern. Beispielsweise kann ein persönliches Produktivitätswerkzeug installiert werden, um Zugriff auf einen Kalender, Kontaktdaten, E-Mail, Surfen im Internet, Hörbücher und Audioaufzeichnungsfähigkeiten bereitzustellen. Auch können Steckplätze für Karten verfügbar sein, um zusätzlichen Speicher oder andere Funktionen (z. B. ein Modem) bereitzustellen. Ferner weisen einige PDAs Infrarot-(IR)-Schnittstellen zum Datenaustausch auf.
  • Die von einem PDA bereitgestellte Umgebung beinhaltet jedoch einige Schwierigkeiten für geographische Informationssysteme im Hinblick auf Speicher, Datenablageplatz, Prozessorgeschwindigkeit, Geschwindigkeit der drahtlosen Übertragung, und Anzeigeeigenschaften. Zum Beispiel beinhalten PDAs üblicherweise nur 96 K oder weniger Speicher, 2 MB (Megabyte) oder weniger Datenablageplatz, eine Prozessorgeschwindigkeit von 13 MHz und eine Schwarz/Weiß- oder Graustufenanzeige. Ferner müssen Techniker im Außendienst, die einen PDA verwenden, die angezeigten Karten anschauen und mit ihnen interagieren können. Die geringe von drahtlosen Übertragungsdiensten bereitgestellte Bandbreite führt in Verbindung mit den langsamen Prozessoren zu untragbaren Ladezeiten. Die Techniker arbeiten ferner in vielen Fällen in Gräben oder an anderen Orten, wo es nicht möglich ist, eine Verbindung mit den Servern aufzubauen (was eine Offline-Verwendung erforderlich macht).
  • Es besteht daher ein Bedürfnis nach einem geographischen Informationssystem, das die oben beschriebenen Mängel bei einem tragbaren, in der Hand zu haltenden elektronischem Gerät wie z. B. einem PDA überwindet.
  • Um zum besseren Verständnis von Ausführungsformen der Erfindung beizutragen, ist es nützlich, die bei geographischen Informationssystemen des Stands der Technik verwendeten Daten zu beschreiben. Geographische Informationssysteme des Stands der Technik zeigen Kartenbilder an, die unter Verwendung von Rasterdaten erzeugt werden. Rasterdaten stellen ein Kartenbild mit Punkten in einem Netz dar. Beispielsweise können sich bei X-Y-Achsen tausend Punkte in der X-Richtung und siebenhundertsechzig Punkte in der Y-Richtung befinden. Jeder dieser Punkte stellt eine Farbe dar. Beispielsweise ermöglichen es einige Computersysteme, daß jeder Punkt eine von acht Farben darstellt. Ein Kartenbild wird dann erzeugt, indem eine Farbe für jeden Punkt in dem Netz bestimmt wird.
  • Jedes Kartenbild ist insofern statisch, als sich Teile des Kartenbilds nicht unabhängig voneinander ändern können. Das heißt, daß ein Teil eines Kartenbilds während des Betrachtens des Kartenbilds nicht verändert werden kann. Somit sind, obwohl ein Kartenbild mehrere Informationsschichten enthalten kann, die Informationen lediglich ein Bild ohne lebendige Daten. Wenn ein Teil des Kartenbilds verändert oder abgefragt werden soll, oder um irgendeine GIS-Analyse auszuführen, muß der Browser mehr Daten von dem Hauptserver anfordern, und das gesamte Bild des Kartenbildes wird ersetzt. Beispielsweise kann jedes Kartenbild, wie z. B. eines, das die Vereinigten Staaten (US) darstellt, mehrere Informationsschichten enthalten, wie z. B. Staaten, Bezirke und Straßen. Wenn ein Benutzer ein Kartenbild der Vereinigten Staaten betrachtet und die Bezirke in einem bestimmten Staat zu betrachten wünscht, wird das Kartenbild durch ein anderes Kartenbild ersetzt, das die zusätzlichen Informationen enthält. Typischerweise werden die zusätzlichen Informationen bei einem Server-Computer gespeichert, und das Kartenbild wird bei einem Client-Computer angezeigt. Wenn das angezeigte Kartenbild verändert werden soll, werden die zusätzlichen Informationen von dem Server-Computer heruntergeladen. Weil diese zusätzlichen Informationen in Gestalt von Rasterdaten vorliegen, ist das Herunterladen typischerweise zeitaufwendig.
  • Ferner zeigen einige Computersysteme Pläne an, die aus vektorbasierten Daten in Dateien zum computergestützten Entwerten (Computer Aided Design – CAD) erzeugt werden. Vektorbasierte Daten setzen Beschreibungen von Elementen des Plans ein, um den Plan zu erzeugen. Wenn beispielsweise der Plan ein Liniensegment enthält, beschreibt die CAD-Datei das Liniensegment durch einen Endpunkt und eine Länge. Überdies gestatten es diese Computersysteme den Benutzern, Daten in CAD-Dateien über das Internet und Intranet-Systeme zu betrachten. Wenn beispielsweise ein Benutzer an einem Computersystem einen Plan betrachten möchte, lädt das Computersystem alle Daten in der CAD-Datei für diesen Plan über das Internet von einer Datenspeichereinrichtung herunter. Die CAD-Datei enthält typischerweise Daten, die unterschiedlichen Entwurfsebenen des Plans entsprechen. In einigen Fällen möchte ein Benutzer vielleicht nur einige der Daten in den Dateien betrachten, beispielsweise die höchste Entwurfsebene des Plans. In diesem Fall hat, obwohl nur ein Teil der Daten benötigt wird, um den von dem Benutzer angeforderten Plan anzuzeigen, das Computersystem bereits alle Daten in der CAD-Datei heruntergeladen. Weil das Herunterladen aller Daten zeitaufwendig ist, ist dies eine ineffiziente Vorgehensweise, wenn nur ein Teil der Daten erforderlich ist, um die Anforderung eines Benutzers zu erfüllen. Ferner ist es möglicherweise nicht möglich, alle oder auch nur einen Teil der Daten in einen PDA herunterzuladen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Ausführungsform oder mehrere Ausführungsformen der Erfindung stellt/stellen ein System zum Zugriff auf geographische Informationen unter Verwendung eines persönlichen digitalen Assistenten (PDA) bereit. Das System ermöglicht das Betrachten von und die Interaktion mit geographischen Informationen auf einem PDA. Derartige Informationen sind verfügbar, während der PDA mit einem Netzwerk verbunden ist (d. h., online ist), und während der PDA von dem Netzwerk getrennt ist (d. h., offline ist).
  • Der PDA bewahrt die Funktionalität, die üblicherweise in einem gewöhnlichen Client, der ein vollständiges Computersystem aufweist, verfügbar ist. Beispielsweise stellt der PDA Rasterkarten für mehrere Zoomstufen bereit, wobei jede Zoomstufe mehrere Kacheln aufweist, so daß ein "virtuelles Umherstreifen" auf einer Karte möglich ist. Der PDA stellt auch auswählbare Vektorgeometrie (zum Interagieren mit und Hervorheben von Benutzerobjekten) bereit, geographische Referenzinformationen (geo-referencing information) zur Kartennavigation, Metadaten in Gestalt von Schichtdefinitionen (Sichtbarkeit, Anzeigeattribute, etc.), Verknüpfungen mit Objektattributen in Datenbanken, Verknüpfungen mit von Firmen-Web-Servern erzeugten Objektberichten, hochladbare, gemeinsam nutzbare Abgrenzungsdaten (redlining data), die aus Aufzeichnungen vor Ort erzeugt werden, Offline-Zugriff auf einem PDA, und eine kompakte PDA-Datenbank.
  • Somit werden interaktive Karten und Geschäftsobjekte zur Verfügung gestellt, die auf einem PDA betrachtet und abgefragt werden können, und zwar sowohl in einem Online-Modus als auch in einem Offline-Modus.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Es wird nun auf die Zeichnungen Bezug genommen, in denen gleiche Bezugszeichen durchgehend entsprechende Teile bezeichnen:
  • 1 veranschaulicht schematisch eine Hardware- und Softwareumgebung für die Architektur gemäß einem oder mehreren Ausführungsbeispiel/en der Erfindung;
  • 2A und 2B veranschaulichen die Interaktion zwischen einem schlanken Client, einem Servlet und zusätzlichen Komponenten gemäß einem oder mehreren Ausführungsbeispiel/en der Erfindung;
  • 3 ist ein Flußdiagramm, das das Anzeigen einer Karte beim Starten eines Mapguide-Anwendungsprogramms auf dem PDA gemäß einem oder mehreren Ausführungsbeispiel/en der Erfindung veranschaulicht;
  • 4 ist ein Flußdiagramm, das veranschaulicht, wie ein Servlet gemäß einem oder mehreren Ausführungsbeispiel/en der Erfindung auf Anforderungen von Client-Netzdiensten antwortet;
  • 5 ist ein Flußdiagramm, das veranschaulicht, wie der Client und das Servlet gemäß einem oder mehreren Ausführungsbeispiel/en der Erfindung auf Anforderungen, Berichte (z. B. Karten) anzuzeigen, antwortet;
  • 6 veranschaulicht die Implementierung gemäß einem oder mehreren Ausführungsbeispiel/en der Erfindung, bei der ein Techniker vor Ort offline arbeitet, so daß der Techniker nur zu Beginn und am Ende des Tages Netzzugang hat;
  • 7 veranschaulicht die Implementierung gemäß einem oder mehreren Ausführungsbeispielen der Erfindung, bei der ein Techniker vor Ort einen bei Bedarf aufbaubaren Netzzugang (on-demand network access) zu dem Hintergrund-Bürosystem (back office system) beibehält; und
  • 8 veranschaulicht die Implementierung gemäß einem oder mehreren Ausführungsbeispielen der Erfindung, bei der ein Techniker vor Ort anfordert, daß ein Bericht für auf einer Karte auf dem PDA ausgewählte Objekte angezeigt wird.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • In der folgenden Beschreibung wird Bezug auf die begleitenden Zeichnungen genommen, die einen Teil der Beschreibung bilden, und in denen zur Veranschaulichung mehrere Ausführungsbeispiele der vorliegenden Erfindung gezeigt sind.
  • Überblick
  • Eines oder mehrere Ausführungsbeispiel/e der Endung stellt/stellen eine Möglichkeit zur Verwendung des geographischen Informationssystems MAPGUIDE (verfügbar von dem Inhaber der vorliegenden Erfindung) auf einem persönlichen digitalen Assistenten (PDA) bereit. Software auf dem PDA wird in die Lage versetzt, eine derartige Funktionalität bereitzustellen. Ferner vermittelt ein Servlet, das verbesserte Serverfunktionalität bereitstellt, zwischen dem Web-Server und dem PDA, um jedwede zusätzlich benötigte Verarbeitung zu bieten.
  • Rasterkarten stellen mehrere Zoomstufen bereit, wobei jede Zoomstufe mehrere Kacheln umfaßt, die ein "virtuelles Umherstreifen" auf der Karte erlauben. Ferner werden eine wählbare Vektorgeometrie (zum Interagieren mit und Hervorheben von Benutzerobjekten), geographische Referenzinformationen zur Kartennavigation, Metadaten in Gestalt von Schichtdefinitionen (Sichtbarkeit, Anzeigeattribute, etc.), Verknüpfungen mit Objektattributen in Datenbanken, Verknüpfungen mit Objektberichten, die von Firmen-Web-Servern erzeugt werden, hinaufladbare, gemeinsam nutzbare Abgrenzungsdaten (redline data; erzeugt aus Aufzeichnungen vor Ort) und Zugriff auf geographische Informationen sowohl online als auch offline auf dem PDA bereitgestellt. Die Benutzer behalten demgemäß die Fähigkeit, auf Karten und andere geographische Informationen zuzugreifen, während sie offline und nicht mit einem Netzwerk oder Server verbunden sind.
  • Allgemeine Architektur
  • Hardwareumgebung
  • Die Verwendung eines modifizierten MAPGUIDE GIS, das gegenwärtig vom Inhaber der vorliegenden Erfindung verfügbar ist, auf einem PDA wird beschrieben. Das bestehende MAPGUIDE GIS wird in US-A-5966135 mit dem Titel "VECTOR-BASED GEOGRAPHIC DATA" (Vektorbasierte geographische Daten) von Gregory Andrew Roy et al. ausführlicher beschrieben.
  • 1 veranschaulicht schematisch eine Hardware- und Softwareumgebung der Architektur gemäß einem oder mehreren Ausführungsbeispiel/en der Erfindung. Ein typisches verteiltes Computersystem 100 nutzt ein Netzwerk/Internet 118, um Techniker, die Clients wie beispielsweise einen schlanken Client 102 (thin client; z. B. ein PDA-, WIN-CE- oder PALM-Gerät) oder einen leistungsstarken Client 104 (thick client; z. B. ein Computersystem, das einen Browser ausführt) benutzen, mit den Servercomputern 106 zu verbinden.
  • Ein leistungsstarker Client 104, wie er bei dem bestehenden MAPGUIDE GIS eingesetzt wird, kann einen Computer mit einem Web-Browser (erweitert durch ein Erweiterungsmodul (plugin) oder ein Betrachtungsmodul (viewer)) aufweisen, der mit einem Web-Server 110 verbunden ist, welcher mit einem MapGuide-Server 120 kommuniziert, um auf Daten (z. B. Rasterdaten, Daten 126 im räumlichen Datenformat (spatial data format – SDF, Attributdaten 128, etc.) zuzugreifen.
  • Der Begriff des schlanken Client beinhaltet drei Geräteklassen: In der Hand zu haltende persönliche Computer (HPC), in der Handfläche zu haltende persönliche Computer (PPC oder PDA) und intelligente Telefone. Wenn diese Geräte verwendet werden, kann es sein, daß ein schlanker Client 102 nicht die vollen Verarbeitungs- und Speicherfähigkeiten wie ein leistungsstarker Client 104 bietet. Beispielsweise haben schlanke Clients 102, wie oben im Hinblick auf PDAs beschrieben, oft weniger als 100 K Speicher, weniger als 2–4 MB Ablageplatz, Prozessorgeschwindigkeiten von 13 MHz und begrenzte Anzeigeattribute. Demgemäß kann zusätzliche Unterstützung seitens des Servers 106 verwendet werden (z. B., allgemeinere Anzeigedaten, vereinfachte Projektdateien, Dienste zum Entwirren, und möglicherweise Verwaltung des Benutzerstatus durch den Server). Eine typische Kombination von Ressourcen kann ein Netzwerk/Internet 118 mit dem Internet, LANs, WANs, SNA-Netzwerke oder ähnliches, Clients 102 und 104, die PDAs, persönliche Computer oder Arbeitsplatzrechner sind, und Server 106, die persönliche Computer, Arbeitsplatzrechner, Minicomputer oder Großrechner sind, aufweisen.
  • Das Netzwerk/Internet 118 verbindet Client-Computer 102 und 104, die geeignete Software-Anwendungsprogramme 130 ausführen, mit Server-Computern 106, die Web-Server 110, MapGuide-Server 120 und Servlets 108 ausführen. MapGuide-Server 120 und Servlets 108 können in dem Web-Server 110 angeordnet sein oder Teil des Web-Servers 110 sein. Der Server 106 und seine Bestandteile können auch als Hintergrund-Bürosystem (back office system) bezeichnet werden. Ein solches Hintergrund-Bürosystem hält den Zugriff auf Firmendatenbanken, Synchronisationswerkzeuge, etc. aufrecht. Der Web-Server 110 ist typischerweise ein Programm wie z. B. der IBM HyperText Transport Protocol (HTTP) Server oder der Microsoft Internet Information Server. Das Servlet 108 kommuniziert mit dem schlanken Client 102 über den Web-Server 110, so daß jede von einem schlanken Client 102 benötigte zusätzliche Verarbeitung von dem Servlet 108 ausgeführt werden kann. Das Servlet 108 kommuniziert mit dem MapGuide-Server 120, um benötigte Kartendaten/-informationen zu erhalten. Zusätzlich greift das Servlet 108 auf Kartenfensterdateien (map windows files – MWF 124 zu, um einschlägige Daten zu erhalten. Die Server 106 können auch ein Common Gateway Interface (CGI) 112 (oder ein Netscape Application Programming Interface (NSAPI – Netscape Anwendungsprogrammierschnittstelle), Internet Server Application Programming Interface (ISAPI – Internet Server Anwendungsprogrammierschnittstelle), etc.) ausführen, das eine Schnittstelle zwischen dem Web-Server 110 und einem Datenbankverwaltungssystem (DBMS – database managment system) 114 bildet, welches verwendet werden kann, um einschlägige geographische Daten (wie z. B. SDF-Daten, Rasterdaten, Open DataBase Connectivity (ODBC) Daten, etc.) aus der Datenbank 116 auszulesen.
  • Allgemein weisen alle Bestandteile 108116 und 120130 Logik und/oder Daten auf, die in einem Gerät, Medium, Signal oder Träger verkörpert oder aus einem Gerät, Medium, Signal oder Träger auslesbar sind, z. B. einem Datenspeichergerät, einem Datenübertragungsgerät, einem Ferncomputer, oder einem Gerät, das mit dem Computer über ein Netzwerk oder über ein anderes Datenübertragungsgerät verbunden ist, etc. Überdies führt/führen diese Logik und/oder diese Daten, wenn sie gelesen, ausgeführt und/oder interpretiert wird/werden, zu den Schritten, die erforderlich sind, um die vorliegend ausgeführte Erfindung zu implementieren und/oder zu verwenden.
  • Somit können Ausführungsformen der Erfindung unter Verwendung üblicher Programmier- und/oder Entwicklungstechniken, die zur Erzeugung von Software, Firmware, Hardware oder irgendeiner Kombination davon dienen, als Verfahren, Vorrichtung oder Herstellungsartikel implementiert werden. Der Ausdruck "Herstellungsartikel" (oder wahlweise "Computerprogrammprodukt"), wie er hier verwendet wird, soll Logik und/oder Daten, auf die von irgendeinem computerlesbaren Gerät, Träger oder Medium zugegriffen werden kann, umfassen.
  • Software-Ausführungsbeispiele
  • Gemäß den Hardwarebeschreibungen sind leistungsstarke Clients 104 vollständige Computersysteme mit Web-Browsern und vollständigen Verarbeitungsfähigkeiten. Die Hardwarebeschränkungen eines PDA-Geräts erfordern jedoch Softwarebeschränkungen. Demgemäß wird, um ein geographisches Informationssystem auf einem PDA zu ermöglichen, ein schlanker Client 102, der ein Anwendungsprogramm 130 ausführt, bereitgestellt. Zur Versorgung des schlanken Client kann zusätzliche Unterstützung auf dem Server 106 verwendet werden. Beispielsweise kann der Server 106 allgemeinere Anzeigedaten, vereinfachte Projektdateien, Dienste zum Entwirren, und möglicherweise Verwaltung des Benutzerstatus durch den Server bereitstellen.
  • Die Architektur der Erfindung umfaßt ein Datenmodell, das statische Rasterschichten (statische Rasterdaten für mehrere Schichten) mit lebendigen Vektorobjekten kombiniert, um gute Leistung beim Anzeigen und Herunterladen zu liefern, und das auch interaktive auswählbare Objekte bereitstellt.
  • Vektorbasierte Karten (auch bezeichnet als "Kartenschichtdaten", die aus geographischen Informationen/Daten für eine Schicht oder mehrere Schichten bestehen) werden von einem Servlet 108 geliefert und sind eine kodierte und räumlich indizierte Vektordarstellung der geographischen Daten. Solche Vektorkarten sorgen für eine "interaktivere" Anzeige mit flexibler Vergrößerung auf dem Client 102, Hervorhebungen, etc. Alternativ kann eine Repräsentation als Scalable Vector Graphics (SVG – größenveränderliche Vektorgraphik), wie von dem WorldWideWeb Consortium (W3C) vorgeschlagen, verwendet werden. SVG gestattet drei Arten von Graphikobjekten: Vektorgraphikformen (z. B. Pfade, die aus geraden Linien und Kurven bestehen), Bilder und Text. Graphikobjekte können gruppiert, gemäß einem Stil ausgestaltet, umgewandelt und in vorher wiedergegebene (gerenderte) Objekte eingefügt werden.
  • Ein Anzeigenhintergrund (der rasterbasiert ist) für die geographischen Daten und die Anzeigeschichten wird als mehrschichtige Bibliothek aus Rasterkacheln verwaltet. Die Rasterschichten werden durch das Servlet 108 aus mehreren Vektorschichten zusammengefügt, was zu besserer Leistung beim Herunterladen und Anzeigen führt. Die Rasterkarte auf dem PDA kann verschoben (Paradigma des virtuellen Umherstreifens) und in mehreren Stufen vergrößert/verkleinert werden. Ein intelligenter Zwischenspeicher (smart-cache) im schlanken Client 102 gestattet das Austauschen (swapping) kompakter Kacheln von der Datenbank in den Speicher auf eine für das Gerät geeignete Weise. Eine einzige Arbeitsfläche (workspace) pro Karte stellt die Definition der Karte und die Anzeigeattribute für die Schichten auf dem schlanken Client 102 bereit.
  • Benutzer des PDA (z. B. Techniker) können Markierungen und Anmerkungen auf der Karte anbringen, indem sie eine Papier- und Bleistift-Metapher benutzen. Um eine derartige Auszeichnung zu unterstützen, stellen Ausführungsbeispiele ein Auszeichnungsobjekt bereit, das aus geometrischen Markierungen (Punkten, Linien, Polygonen, Symbolen), GPS-Eingabekoordinaten (GPS = global positioning system – globales Ortsermittlungssystem), Anmerkungen (angeordneter Text mit Informationen über den Zeichensatz, etc.) besteht, und sie stellen ein System für geographische Bezugspunkte (geo-reference system) bereit, das es gestattet, das Auszeichnungsobjekt unter Verwendung des Servers 106 in eine räumliche Datenbank 116 zu integrieren und auf anderen Karten anzuzeigen. Das Auszeichnungssystem fängt Benutzereingaben auf und gestattet es, Auszeichnungsobjekte zum Server 106 hinaufzuladen. Außerdem ist das Maß der gemeinsamen Nutzung seitens des Servers 106 einstellbar (z. B. persönlich, Gruppe, allgemein, etc.).
  • Einzelheiten der Architektur
  • Schlanker Client 102
  • Der Benutzer eines schlanken Client 102 wie z. B. eines PDA läßt sich unter Verwendung des Anwendungsprogramms 130 geographische Informationen (z. B. Karten) anzeigen. Die erfindungsgemäße Architektur unterstützt unterschiedliche schlanke Clients 102 wie z. B. WINDOWS-CE-2.x-Geräte und intelligente Telefone mit bitabbildender Graphik (z. B. SYMBIAN, MOTOROLA, NOKIA, PSION). Die Hochfahrzeit für das GIS auf dem PDA ist mit anderen Anwendungsprogrammen auf dem PDA vergleichbar. Der schlanke Client 102 (und das Anwendungsprogramm 130) ist ferner in der Lage, nicht-räumliche Daten, die innerhalb des GIS-Anwendungsprogramms gesammelt wurden, in einem Format zu speichern, das sich zum Hinaufladen an oder zum Synchronisieren mit relationalen Datenbankverwaltungssystemen (RDBMS – relational database managment system) großer Hersteller eignet.
  • Der schlanke Client 102 unterstützt eine Vielzahl von Netzzugriffsmustern. Beispielsweise kann der schlanke Client 102 periodisch (z. B. am Anfang und/oder am Ende des Tages), bei Bedarf (z. B. über ein Funkmodem) oder ständig mit dem Hintergrund-Bürosystem (z. B. Server 106) verbunden sein.
  • 2A und 2B veranschaulichen die Interaktion zwischen dem schlanken Client 102, dem Servlet 108 und weiteren Komponenten. Der schlanke Client 102 ist aus einem Anwendungsprogramm 130 gebildet, welches Teilkomponenten aufweist, die auf dem PDA das Betrachten eines Kartenmodells, das Navigieren in einem Kartenmodell und das Abfragen eines Kartenmodells gestatten. Der schlanke Client 102 und das Anwendungsprogramm 130 weisen auch Dienste auf, die die Verwaltung von Geschäftsattributen 128, die Kommunikation mit dem Servlet 108 und die Verwaltung persistenter Daten ermöglichen. Demgemäß bezeichnet das Anwendungsprogramm 130 die Gesamtheit der Teilkomponenten auf dem schlanken Client 102 (d. h. die Teilkomponenten 202222 und 238).
  • Um den schlanken PDA-Client 102 mit den geeigneten Kartendaten zu initialisieren, fährt ein Benutzer die Synchronisationsanwendung 238 hoch. Die Synchronisationsanwendung 238 ist das Anwendungsprogramm auf dem schlanken PDA-Client 102, das für die Synchronisation von Informationen und Kartendaten, die in einer Datenbank 220 auf dem schlanken PDA-Client 102 gespeichert sind, mit den einschlägigen Kartendaten verantwortlich ist. Die Synchronisationsanwendung 238 nutzt die Netzwerkdienste 218, um mit dem Servlet 108 (über den Web-Server 110) zu kommunizieren und um die einschlägigen Kartendaten zu erhalten. Die Netzwerkdienst-Komponente 218 stellt Dienste zur Kommunikation (und zum Datenaustausch) in beide Richtungen mit dem Servlet 108 (d. h., der Verbindung mit 2B folgend) bereit. Demgemäß kann die Synchronisationsanwendung 238 mit dem Servlet 108 kommunizieren, um den Ort der Kartendaten zu erhalten. Danach greift die Synchronisationsanwendung 238 auf die Kartendaten zu/erhält die Kartendaten von der angegebenen Stelle.
  • Nach dem Empfang der Kartendaten in der Synchronisationsanwendung 238 werden persistente Dienste 208 verwendet, um die Daten (indem diverse E/A-Vorgänge (Ein-/Ausgabe-Vorgänge) ausgeführt werden) in einer PDA-Katalog-Datenbank 220 zu speichern. Danach ist der Synchronisationsvorgang abgeschlossen. Eine derar tige Synchronisation kann, je nach der Konfiguration des schlanken PDA-Client 102, so oft wie gewünscht ausgeführt werden. Wenn beispielsweise der schlanke Client 102 ein drahtloses Modem aufweist, kann der Synchronisationsvorgang ausgeführt werden, wann immer er gewünscht wird. Wenn jedoch eine direkte Verbindung benötigt wird, kann die Synchronisation nur erfolgen, wenn der schlanke Client 102 mit dem Netzwerk 118 (oder mit dem Server 106) verbunden ist.
  • Die MapGuide-PDA-Komponente 202 ist das hauptsächliche Anwendungsprogramm, das die Benutzerschnittstelle (UI – user interface) 204 bereitstellt und auf Ereignisse antwortet. Die Benutzerschnittstellenkomponente 204 ist der Platzhalter für die Benutzerschnittstellen-Steuerelemente, die speziell für den PDA vorgesehen sind. Demgemäß kann die MapGuide-PDA-Komponente 202 durch den Benutzer initialisiert/gestartet werden, sobald die einschlägigen Kartendaten unter Verwendung der Synchronisationsanwendung 238 geladen worden sind.
  • Die MapGuide-PDA-Komponente 202 fordert die Persistenzdienste-Komponente 208 auf, die aktive Arbeitsfläche 206 zu laden. Die aktive Arbeitsfläche 206 stellt die Definition des Kartenmodells 210 bereit/erzeugt diese. Somit kann die aktive Arbeitsfläche 206 als minimierte Fassung der herkömmlichen Kartendatei (als Kartenfensterdatei (MWF – map window file) bezeichnet) für den PDA 102 betrachtet werden. Das Kartenmodell 210 stellt die Dienste bereit, die das Unterhalten und Verändern von Kartenschichten und Kartenobjekten betreffen.
  • Die Persistenzdienste-Komponente 208 lädt die Arbeitsfläche 206, indem sie unter Verwendung der lokalen PDA-Datenbank (PDA-Katalog-Datenbank 220) objektbasierte Datenbank-Verwaltungsdienste (ODBMS – object based database management services) bereitstellt. Die PDA-Katalog-Datenbank 220 ist die lokale Datenbasis mit geographischen Informationen, die sich auf dem PDA befindet. Die PDA-Katalog-Datenbank verkapselt somit die lokale PDA-Katalog-Datenbasis und stellt die Anwendungsprogrammierschnittstelle (API – application programming interface) zur Bearbeitung von Datensätzen bereit.
  • Die Ansicht-Komponente 212 reagiert auf Veränderungen in dem Kartenmodell 210 und aktualisiert, wenn erforderlich, die Kartenanzeige. Die Geschäftsattributdienste-/ -verwalter-Komponente 214 stellt Dienste bereit, die sich auf das Verwalten nichträumlicher Geschäftsattribute beziehen.
  • Die beim Client befindlichen Betrachtungsdienste 216 interagieren mit der Kartenmodellkomponente 210. Die Komponente 216 für die beim Client befindlichen Betrachtungsdienste stellt eine flexible Architektur bereit, die es Betrachtungsdienstkomponenten erlaubt, entweder beim Client 102 oder beim Servlet 108 angeordnet zu sein. Diese Dienste können durch zwei Komponenten dargestellt werden: Die Komponente 216 in 2A für beim Client befindliche Betrachtungsdienste und die Komponente 232 in 2B für beim Servlet befindliche Betrachtungsdienste. Die von den beim Client befindlichen Betrachtungsdiensten 216 und den beim Servlet befindlichen Betrachtungsdiensten 232 ausgeführten Dienste können kombiniert werden und gänzlich beim Client 102 oder beim Server 106 angeordnet sein. Alle Komponenten des Client 102 senden Anforderungen für Betrachtungsdienste an die beim Client befindlichen Betrachtungsdienste 216. Die Komponente 216 für die beim Client befindlichen Betrachtungsdienste führt den Dienst aus, wenn die erforderlichen Komponenten beim Client 102 lokal vertügbar sind. Wenn nicht, kann die Anforderung über die Synchronisationsanwendung 238 an die beim Servlet befindlichen Betrachtungsdienste 232 delegiert werden. Beispielsweise können, bei einer gegebenen Konfiguration des Client, Dienste für das Zeichnen von Mehrfachlinien (Polylinien) beim Client 102 verfügbar sein, während Pufferdienste beim Servlet 108 verfügbar sein können.
  • 3 ist ein Flußdiagramm, das das Anzeigen einer Karte beim Hochfahren eines Anwendungsprogramms 130, wie beispielsweise der MapGuide-Anwendung 202, auf dem PDA gemäß einem oder mehreren Ausführungsbeispiel/en der Erfindung veranschaulicht. Bei Schritt 300 wird der MapGuide-PDA 202 zum Hochfahren aufgefordert. Bei Schritt 302 fordert der MapGuide-PDA 202 die Persistenzdienste 208 auf, die aktive Arbeitsfläche 206 (aus der lokalen PDA-Datenbank 220) zu laden. Bei Schritt 304 nutzt die Arbeitsfläche 206 Kartendefinitionen, um ein neues Kartenmodell 210 zu erzeugen. Das Kartenmodell 210 besetzt bei Schnitt 306 Schichten in dem Modell. Das Besetzen in Schritt 306 kann durchgeführt werden, indem die Persistenzdienste 208 verwendet werden, um Daten in Schritt 306A von der lokalen PDA-Datenbank 220 zu erhalten, und/oder indem die Anforderung in Schritt 306B an die beim Client befindlichen Betrachtungsdienste 216 übermittelt wird. Wenn die beim Client befindlichen Betrachtungsdienste 216 bestimmen, daß der Dienst die beim Servlet befindlichen Betrachtungsdienste 232 benötigt, delegieren die beim Client befindlichen Betrachtungsdienste 216 die Anforderung in Schritt 308 über die Synchronisationsanwendung 238 and die Netzwerkdienste 218.
  • In Schritt 310 werden alle heruntergeladenen Daten optional in der lokalen Datenbank 220 unter Verwendung der Persistenzdienste 208 wie in einem Cache zwischengespeichert. Das Modell 210 benachrichtigt Zuhörer (einschließlich der Ansicht 212) in Schritt 312 von der Änderung. Die Ansicht 212 aktualisiert sich selbst, indem sie Anzeigeattribute von der Arbeitsfläche 206 erhält und die Kartenanzeige in Schritt 314 aktualisiert.
  • Nach dem Betrachten der Karte kann ein Benutzer beim schlanken Client 102 die Karte (d. h., die Karte und die Attributdaten) unter Verwendung eines Stifts wie gewünscht auszeichnen oder mit Abgrenzungen versehen. Auszeichnungsdaten umfassen Pixeldaten für ein Auszeichnungselement. Das Anwendungsprogramm 130 stellt die Fähigkeit bereit, Auszeichnungsdaten vom Benutzer über die Benutzerschnittstelle 204 zu erhalten. Das Anwendungsprogramm 130 erzeugt dann eine die Auszeichnungsdaten aufweisende Datei und sorgt für das Heraufladen der Datei von dem schlanken Client 102 zum Server 106. Die Datei wird zum Server 106 heraufgeladen indem eine Socket-Verbindung aufgebaut wird, ein Verzeichnis vorhandener Kartensätze erhalten wird, nach Auszeichnungsdaten gesucht wird, die den auf dem schlanken Client 102 vorhandenen Kartensätzen zugeordnet sind, und alle vorhandenen Auszeichnungsdaten an den Server 106 hochgeladen werden.
  • Wie oben beschrieben, kann das Auszeichnungselement ein Auszeichnungsobjekt aufweisen, das unterschiedliche Mechanismen zum Auszeichnen einer Karte bereitstellt. Beispielsweise kann der Benutzer eine Abgrenzungslinie (redline line) zeichnen, wobei das Auszeichnungsobjekt ein Abgrenzungsobjekt ist. Um eine Abgren zungslinie zu zeichnen, ermittelt das Anwendungsprogramm 130, wenn ein neues Abgrenzungsobjekt gewählt worden ist, und zeichnet die Stiftbewegungen in einem Abgrenzungsobjekt auf, während sich der Stift in Kontakt mit dem Bildschirm des schlanken Client 102 befindet.
  • In einem weiteren Beispiel sind die Auszeichnungsdaten eine Notiz, und das Anwendungsprogramm 130 ist dazu eingerichtet, die Auszeichnungsdaten in einem Notizobjekt zu erhalten. Um eine Notiz einzufügen/zu zeichnen, bestimmt das Anwendungsprogramm 130, daß ein neues Notizobjekt ausgewählt worden ist, nimmt eine Benutzerauswahl eines Ankerpunkts in einer Anzeige einer Karte auf dem schlanken Client 102 an, zeigt auf dem schlanken Client 102 eine Texteingabefläche 204 an, nimmt eine Texteingabe des Benutzers in der Texteingabefläche 204 an und zeigt ein Sinnbild am Ankerpunkt an, das die Notiz darstellt.
  • Um die Auszeichnungsdaten beim Server 106 aufzunehmen, ist der Server 106 dazu eingerichtet, eine Datei zu erhalten, die Auszeichnungsdaten für die Karte und Daten für Attribute 128 enthält, die Auszeichnungsdaten in Koordinatendaten umzuwandeln, und die Koordinatendaten zu verwenden, um eine Datei im Standard-Datenformat (SDF – standard data format) zu erhalten, die verwendet werden kann, um die Auszeichnungsdaten mit der Karte und den Daten für die Attribute 128 zu überlagern. Jede Komponente auf dem Server 106, einschließlich des Servlet 108, kann eine derartige Funktionalität bereitstellen.
  • Servlet 108
  • Ein Servlet 108 stellt alle zusätzlichen Verarbeitungsvorgänge bereit, die von dem schlanken PDA-Client 102 und dem Anwendungsprogramm 130 benötigt werden. Um die Technologie bestehender Web-Server 110 und Servlets vorteilhaft zu nutzen, kann das Servlet 108 unter Verwendung der Java-Programmiersprache implementiert werden. Alternativ kann jede Programmiersprache verwendet werden, die eine Funktionalität ähnlich wie bei Java-Servlets ausführt/unterstützt. Demgemäß wird ein einziger Codestrom benutzt, um das Servlet 108 auf mehreren Plattformen zu implementieren. Eine Mindestanzahl von Einschränkungen über diejenigen hinaus, die im Rahmen des Web-Servers 110 und des Servlet 108 bestehen, sorgen für Skalierbarkeit. Beispielsweise kann jede Anforderung des Client 102 in sich abgeschlossen sein, so daß sie von einer anderen Instanziierung des Servlet 108 beantwortet wird.
  • Das Servlet 108 kann sich in einem Web-Server 110 befinden und antwortet auf Anforderungen für räumliche Daten und Attributdaten, die sich auf Kartenobjekte beziehen, von mehreren schlanken Clients 102. Das Servlet 108 verarbeitet die Anforderungen, führt die Visualisierung und Kodierung durch und legt die Resultate an einer Stelle ab, auf die die schlanken Clients 102 zugreifen können. Zusätzlich kann das Servlet 108 eine Karte oder mehrere Karten, die in einem Kartensatz enthalten ist/sind, identifizieren, die Kartendaten für die eine oder mehrere identifizierte Karte/n vom Server 106 erhalten, und den die Kartendaten aufweisenden Kartensatz erzeugen, bevor eine Anforderung der Kartendaten von einem Client 102 erhalten wird. Ein derartiger Zugriff auf Kartendaten und eine derartige Erzeugung eines Kartensatzes können von dem Servlet 108 in Reaktion auf den Erhalt einer Anforderung, die sich auf eine Arbeitsanweisung bezieht (z. B. eine Anforderung, eine Arbeitsanweisung zu verändern, zu löschen oder hinzuzufügen) ausgeführt werden.
  • Zusätzlich kann das Servlet 108 den Zugriff auf einen Kartensatz (d. h., Kartendaten) und die Erzeugung eines Kartensatzes unterstützen, wobei mehrere Hauptprozessoreinheiten (central processing units) parallel verwendet werden. Um für eine derartige Unterstützung von Parallelverarbeitung zu sorgen, wählt das Servlet 108 eine oder mehrere Karte/n in einem Kartensatz aus, instanziiert unterschiedliche Fäden auf mehreren Hauptprozessoreinheiten, um die Kartendaten für die eine oder mehrere Karte/n von dem Server 106 parallel zu erhalten, baut eine vorübergehende Datenbank auf, die die Kartendaten enthält, und erzeugt unter Verwendung der vorübergehenden Datenbank einen Kartensatz, der die Kartendaten aufweist.
  • 2B veranschaulicht die Teilkomponenten des Servlet 108. Der Anforderungsvermittler 224 lauscht nach Anforderungen von mehreren Clients 102 (d. h., von
  • 2A) und koordiniert solche Anforderungen und übermittelt die Anforderungen an den Anforderungsverarbeiter 230. Der Anforderungsverarbeiter 230 verarbeitet die Anforderung, indem er Dienste benutzt, die von der Komponente 232 der beim Servlet befindlichen Betrachtungsdienste bereitgestellt werden. Der Anforderungsverarbeiter 230 nutzt auch die Visualisiererkomponente 228 und die Kodiererkomponente 226, um kartographisches Entwirren und Kodieren der Daten auszuführen, die zum Client 102 zurückgesendet werden sollen oder auf die der Client 102 zugreifen soll.
  • Die Kartendaten auf dem Server 106 weisen für ein Objekt der Kartendaten mehrere Rasterkachel- und Vektorobjektdaten auf. Die Visualisiererkomponente 228 führt eine einstellbare Entwirrung der Daten auf eine Weise aus, die für die Anzeige des schlanken Client 102 geeignet ist. Demgemäß verallgemeinert der Visualisieren 228 die Form eines Vektorobjekts, indem er einige der Vektorobjektdaten ausfiltert. Die Kodiererkomponente 226 kompaktifiziert und kodiert die Objekte, auf die der schlanke Client 102 zugreift. Die Kodiererkomponente 226 kodiert einen Ort eines Objekts differentiell, indem ein Versatz des Orts des Objekts bezüglich eines Ursprungs der Rasterkachel kodiert wird, bei der sich das Objekt befindet. Ferner indiziert die Kodiererkomponente 226 die Vektorobjektdaten räumlich, indem sie die Grenzen des Objekts kodiert.
  • Die Rasterkacheln sind in einem Format gespeichert, bei dem die Reihe die größte Wertigkeit aufweist (row major format). Ein Index für jede Rasterkachel wird gespeichert, der den Rasterkacheln in einer Ordnung folgt, die der Speicherung der Rasterkacheln entspricht. Der Index weist einen Hinweis auf einen Datensatz auf, der die generalisierten Vektorobjektdaten und den Versatz und die Grenzen für jede Rasterkachel enthält.
  • Indem die Kartendaten generalisiert, kodiert und räumlich indiziert werden, kann der schlanke Client 102 ein durch einen Punkt angegebenes Objekt bestimmen, indem die Grenzen einer oder mehrerer Rasterkachel/n ausgewertet werden, um die den Punkt enthaltende Rasterkachel zu bestimmen, und indem die Grenzen von Objekten innerhalb der den Punkt enthaltenden Rasterkachel ausgewertet werden, um zu bestimmen, welches Objekt den Punkt enthält.
  • Die Komponente 232 für die beim Servlet befindlichen Betrachtungsdienste repräsentiert den beim Servlet befindlichen Teil der Betrachtungsdienste (wie oben unter Bezugnahme auf 2A beschrieben) und kommuniziert mit dem MapGuide-Server 120. Der MapGuide-Server 120 kann ein Web-Server 110 oder eine Komponente des Servers 106 sein.
  • 4 ist ein Flußdiagramm, das veranschaulicht, wie das Servlet 108 auf Anforderungen antwortet, die über die Netzwerkdienste 218 empfangen werden. In Schritt 400 fordern die Netzwerkdienste 218 den Anforderungsvermittler 224 beim Servlet 108 auf, neue Schichten (für dynamische Daten) herunterzuladen. In Schritt 402 übermittelt der Anforderungsvermittler 224 (nachdem er, falls erforderlich, Anforderungen von anderen Clients 102 koordiniert hat) die Anforderung zum Anforderungsverarbeiter 230. Der Anforderungsverarbeiter 230 übermittelt in Schritt 404 die Anforderung an die beim Servlet befindlichen Betrachtungsdienste 232 und erhält die Ergebnisse. Die Ergebnisse werden (falls angegeben) unter Verwendung des Visualisierers 228 in Schritt 406 entwirrt und unter Verwendung des Kodierers 226 in Schritt 408 zur Kompaktifizierung kodiert. Die Ergebnisse (nach der Visualisierung und Kodierung) oder der Ort/die Orte, an dem/denen auf die Ergebnisse zugegriffen werden kann, wird/werden in Schritt 410 an die Netzwerkdienste 218 des Client zurückgesendet.
  • 5 ist ein Flußdiagramm, das weiter veranschaulicht, wie der Client 102 und das Servlet 108 auf Anforderungen, Berichte (z. B. Karten) anzuzeigen, reagieren. In Schritt 500 erhält der Benutzer die Gelegenheit, den Inhalt der ausgewählten Kartenobjekte zu verändern. In Schritt 502 werden die Schlüssel der ausgewählten Objekte in der PDA-Datenbank 220 gesichert. Der Status des MapGuide-PDA 202 wird in Schritt 504 in der PDA-Datenbank 220 gesichert. Ein Berichts-Anwendungsprogramm (wie das MapGuide-PDA-Anwendungsprogramm 202) wird in Schritt 506 gestartet, und die Schlüssel der ausgewählten Objekte werden von der PDA-Datenbank 220 wieder eingelesen.
  • Für lokale Berichte werden die Geschäftsattribute der ausgewählten Objekte in Schritt 510 aus der PDA-Datenbank 220 ausgelesen, und der Bericht wird in Schritt 512 formatiert und angezeigt. Für Berichte, die umfassendere Formatierungsdienste (z. B. COLD FUSION Anwendungsserver) benötigen, oder die Daten benötigen, die nicht in der lokalen PDA-Datenbank 220 gespeichert sind, wird eine Anforderung an die Netzwerkdienste 218 (über die Synchronisationsanwendung 238) herausgegeben, um den Bericht in Schritt 508 zu erhalten.
  • Nachdem der Benutzer die Betrachtung des Berichts und möglicherweise anderer Berichte, die damit verknüpft sind, erledigt hat, wird die MapGuide-PDA-Anwendung 202 in Schritt 514 neu gestartet, wobei das Anwendungsprogramm 202 seinen letzten gespeicherten Status wiederherstellt.
  • Beispielhafte Implementierungen
  • 68 veranschaulichen verschiedene Implementierungen/Gegebenheiten gemäß einem oder mehreren Ausführungsbeispiel/en der Erfindung. In den Implementierungen von 68 treten Vorkommnisse (z. B. Fehlervorkommnisse) im Außendienst auf, wobei ein Außendienst-Techniker 602 Aufträge erhält, an dem Ort des Fehlerereignisses eine Reparatur durchzuführen/zu arbeiten. Der Techniker 602 greift auf einem persönlichen digitalen Assistenten auf Kartendaten und geographische Daten für den Ort des Fehlers zu und interagiert mit den Kartendaten und den geographischen Daten und aktualisiert diese.
  • Außendienst-Techniker, der ohne Netzwerkverbindung(offline) arbeitet
  • Im Hinblick auf 6 erzeugt eine Fehlerbenachrichtigung 606 ein Fehlerbenachrichtigungsereignis für das Hintergrund-Bürosystem 604. Somit benachrichtigt, wenn an einem Ort im Außenbereich ein Fehler (z. B. eine geborstene Hauptwasserleitung oder ein defektes Straßenlicht) auftritt, ein Benachrichtiger 600 das Hintergrund-Bürosystem 604, wo das Fehlerereignis zur Verarbeitung aufgezeichnet wird. Das Fehlerbenachrichtigungssystem 606 arbeitet gegenüber den Aktivitäten des Technikers 602 asynchron.
  • 6 veranschaulicht die Implementierung, bei der ein Außendienst-Techniker 602 ohne Netzwerkverbindung arbeitet, so daß der Techniker nur am Anfang und Ende des Tages Zugriff zum Netzwerk hat. Am Anfang des Tages fragt der Techniker seine/ihre Aufgaben 608 beim Büro 604 ab, indem er/sie unter Verwendung der Synchronisationsanwendung 238 auf dem PDA 102 mit dem Hintergrund-Bürosystem 604 kommuniziert. Die Aufgaben werden an das Servlet 108 übermittelt. Das Servlet 108 besorgt sich die für die Aufgaben relevanten Informationen. Für jede Aufgabe besorgt sich das Servlet 108 Karten- und Attributdaten, die von dem Hintergrund-Bürosystem 604 heruntergeladen 616 werden sollen. Danach werden die Daten (durch das Servlet 108) an einem Ort abgelegt, auf den der PDA-Client 102 zugreifen kann. Der PDA-Client 102 lädt die Daten herunter und speichert sie in der lokalen PDA-Datenbank 220 (wie im Hinblick auf 4 beschrieben).
  • Nach Erhalt der erforderlichen Informationen trennt der Techniker 602 die Verbindung zum Netzwerk 118. Je nach Bedarf greift der Techniker 602 auf den MapGuide-PDA 202 zu, um geographische Informationen einschließlich einer oder mehrerer Schichten zu erhalten und anzuzeigen 610. Somit kann der Techniker 602 ein Fehlerereignis 610 (d. h., bei dem ein System versagt hat, wie beispielsweise eine gebrochene Wasser-Hauptleitung) orten und untersuchen, indem er eine Karte des betreffenden Gebiets betrachtet und einschlägige Attributdaten betrachtet. Demgemäß startet der Techniker 602 die PDA-Anwendung 202 und gibt den gegenwärtigen Auftrag an. Ansprechend darauf zeigt das Anwendungsprogramm 202 eine Karte des einschlägigen Gebiets an (d. h., wie im Hinblick auf 5 beschrieben). Um irgendwelche Veränderungen auf der Karte zu vermerken oder den Status einer Aufgabe zu aktualisieren, nimmt die PDA-Anwendung 202 die die Aufgabe betreffenden Zustandsinformationen von dem Techniker 602 auf und speichert die Informationen in der lokalen PDA-Datenbank 220 (d. h., die Komponente 612 zur lokalen Aktualisierung des Status).
  • Am Ende des Tages, wenn der PDA 202 online und mit dem Netzwerk 118 verbunden ist, kann der Techniker 602 den PDA 202 unter Verwendung der Synchronisationsanwendung 238 mit dem Hintergrund-Bürosystem 604 synchronisieren. Mit anderen Worten überträgt der Techniker 602 die Statusinformationen, die sich auf die Aufgaben des Tages beziehen, von der lokalen PDA-Datenbank 220 über das Netzwerk 118 (d. h., die Komponente 614) an das Hintergrund-Bürosystem 604.
  • Außendienst-Techniker mit Netzwerkzugang
  • 7 veranschaulicht die Implementierung, bei der ein Außendienst-Techniker 602 einen bei Bedarf aufgebauten Zugriff zum Hintergrund-Bürosystem 604 über das Netzwerk 118 beibehält. Ähnlich wie bei der Implementierung gemäß 6 erzeugt eine Fehlerbenachrichtigung 606 ein Fehlerbenachrichtigungsereignis für das Hintergrund-Bürosystem 604. Wenn ein Fehler an einem Ort im Außenbereich auftritt (z. B. eine Benachrichtigung erhalten wird, daß eine Wasser-Hauptleitung geborsten ist oder ein Straßenlicht defekt ist), benachrichtigt ein Benachrichtigen 600 das Hintergrund-Bürosystem 604, wo der Fehlerzwischenfall sich ereignet hat, so daß er zur Bearbeitung aufgenommen werden kann. Das Fehlerbenachrichtigungssystem 606 arbeitet im Hinblick auf die Aktivitäten des Technikers 602 asynchron.
  • Um den nächsten Ort/die nächsten Orte oder die nächste/n Tätigkeit/en zu bestimmen, den/die der Techniker 602 bedienen soll (d. h., Komponente 704), kommuniziert der Techniker unter Verwendung des Netzwerks 118 (über die Synchronisationsanwendung 238) mit dem Hintergrund-Bürosystem 604, um die Aufgaben zu erhalten und sie in dem PDA-Katalog 220 auf dem PDA 202 zu speichern (wie unter Hinweis auf 4 beschrieben). Demgemäß erhält der Techniker 602 die nächsten Aufgaben für den Tag, indem er unter Verwendung der Synchronisationsanwendung 238 mit dem Hintergrund-Bürosystem 604 kommuniziert. Die Aufgaben werden an das Servlet 108 übermittelt. Das Servlet 108 besorgt sich die Informationen über die Aufgaben und lädt alle Karten- und Attributdaten, die für die Aufgaben erforderlich sind, von dem Hintergrund-Bürosystem 604 (d. h., durch einen Zugriff auf den MapGuide-Server 120) dynamisch herunter 710. Die heruntergeladenen Daten werden dann an einem Ort abgelegt, auf den der PDA 102 zugreifen kann, und der Ort der Daten wird der Synchronisationsanwendung 238 bereitgestellt. Danach werden die Daten geladen und in der lokalen PDA-Datenbank 220 gespeichert.
  • Ähnlich wie bei der in 6 beschriebenen Implementierung wird die Komponente 706 zum Orten eines Fehlers benutzt, um eine Karte des einschlägigen Gebiets anzusehen, um relevante Attributdaten anzusehen, und um Fehlerzwischenfälle zu orten. Demgemäß startet der Techniker 602 die MapGuide-PDA-Anwendung 202 und gibt eine Aufgabe an. Ansprechend darauf zeigt das Anwendungsprogramm 202 eine Karte des interessierenden Gebiets (mit den einschlägigen Schichten) an (wie im Hinblick auf 5 beschrieben). Um die Funktionalität der Fehlerortung 706 für einen mit dem Netzwerk verbundenen (online) Techniker 602 bereitzustellen, nutzen Ausführungsformen der Erfindung eine Kombination von lokalen Ressourcen und Ressourcen, die über das Netzwerk 118 erhalten werden.
  • Nachdem das Betrachten der Karte (und anderer relevanter Daten) abgeschlossen ist, stellt die Komponente 708 die Fähigkeit bereit, Statusinformationen, die sich auf die Aufgabe beziehen, von dem Techniker 602 aufzunehmen und die Informationen an das Hintergrund-Bürosystem 604 unter Verwendung der Synchronisationsanwendung 238 zu übertragen (d. h., der Status wird dynamisch über das Netzwerk 118 aktualisiert). Der Fehler wird somit beim Hintergrund-Bürosystem 604 dynamisch aktualisiert, synchronisiert und möglicherweise behoben.
  • Bericht anzeigen
  • 8 veranschaulicht Implementierungen, bei denen ein Außendienst-Techniker 602 anfordert, daß ein Bericht für Objekte, die in einer Karte auf dem PDA 202 ausgewählt worden sind (d. h., die in 5 beschriebenen Schritte) angezeigt wird 802. Ansprechend auf eine Anforderung eines Berichts speichert das PDA-Anwendungsprogramm 202 die Bezeichner (IDs) der ausgewählten Objekte (Schritt 502 von
  • 5) und den Status der PDA-Anwendung 202 (Schritt 504 von 5) in der PDA-Datenbank 220. Dann startet die PDA-Anwendung 202 die Berichtsanwendung 804 (Schritt 506 von 5). Die Berichtsanwendung 804 liest die IDs der ausgewählten Objekte aus der Datenbank 220.
  • Die Berichtsanwendung 804 erzeugt dann unter Verwendung lokaler Attribute und Formatierungsfähigkeiten die Berichte für die Objekte. Falls kein Zugriff über das Netzwerk 118 zum Hintergrund-Bürosystem 604 besteht, wird der Bericht lokal 806 erstellt und erzeugt, und zwar basierend auf Geschäftsattributen in der lokalen Datenbank 220 (z. B., Schritte 510 und 512 von 5). Wenn jedoch Zugriff zum Hintergrund-Bürosystem 604 über das Netzwerk 118 verfügbar ist, kommuniziert 808 die Berichtsanwendung 804 mit einem Berichtsanwendungsserver (z. B., mit dem Anforderungsvermittler 224, der mit den beim Servlet befindlichen Betrachtungsdiensten 232 interagiert) (d. h., Schritt 508 von 5). Der Berichtsanwendungsserver sorgt für Abfragen über das Netzwerk 118 hinweg, um dynamisch formatierte Berichte oder Berichte, die auf nicht-lokalen Attributdaten basieren, zu erhalten.
  • Nach dem Erhalten des angeforderten Berichts startet die Berichtsanwendung 804 die MapGuide-PDA-Anwendung 202 erneut, die ihren vorherigen Zustand wieder herstellt, nachdem sie den Zustand aus der PDA-Datenbank 220 ausgelesen hat (d. h., Schritt 514 von 5).
  • Endergebnis
  • Dies beschließt die Beschreibung eines Ausführungsbeispiels oder mehrerer Ausführungsbeispiele der Erfindung. Der folgende Text beschreibt einige Ausführungsalternativen, um die vorliegende Erfindung zu erhalten.
  • Beispielsweise kann ein persönlicher digitaler Assistent oder Computer irgendeiner Art, wie beispielsweise ein Großrechner, Minicomputer oder persönlicher Computer oder eine Computerzusammenstellung, wie beispielsweise ein Großrechner mit Zeitscheibenverwaltung (timesharing mainframe), ein lokales Netzwerk, ein eigenständiger persönlicher Computer, ein WIN-CE-Gerät, etc. mit der vorliegenden Erfindung genutzt werden.
  • Zusammenfassend wird ein geographisches Informationssystem auf einem persönlichen digitalen Assistenten bereitgestellt, das sowohl mit Netzwerkverbindung (online) als auch ohne Netzwerkverbindung (offline) genutzt werden kann.
  • Die obige Beschreibung eines Ausführungsbeispiels oder mehrerer Ausführungsbeispiele der Erfindung ist zum Zwecke der Veranschaulichung und Beschreibung gegeben worden. Sie soll nicht erschöpfend sein, und sie soll die Erfindung nicht auf die genaue offenbarte Form begrenzen. Viele Veränderungen und Abwandlungen sind im Lichte der obigen Lehre möglich. Der Bereich der Erfindung soll nicht durch diese detaillierte Beschreibung begrenzt werden, sondern durch die anhängenden Ansprüche.

Claims (14)

  1. Ein System zum Zugriff auf geographische Informationen, mit: a) einem Server (106); b) einem persönlichen digitalen Assistenten (102); c) einem auf dem Server (106) ablaufenden Servlet (108), wobei das Servlet (108) dazu eingerichtet ist: i) Kartendaten für eine oder mehrere Karte/n von dem Server (106) zu erhalten; ii) Attributdaten (128) von dem Server (106) zu erhalten; iii) die Karten- und Attributdaten (128) zu entwirren; iv) die Karten- und Attributdaten (128) zu kompaktifizieren und zu kodieren; v) die kompaktifizierten und kodierten Karten- und Attributdaten (128) über ein Netzwerk (118) an einem Ort abzulegen, auf den der persönliche digitale Assistent (102) zuzugreifen vermag; d) einem Anwendungsprogramm (130) auf dem persönlichen digitalen Assistenten (102), wobei das Anwendungsprogramm (130) dazu eingerichtet ist: i) die kompaktifizierten und kodierten Karten- und Attributdaten (128) über das Netzwerk (118) von dem Ort zu erhalten; ii) die kompaktifizierten und kodierten Karten- und Attributdaten (128) auf dem persönlichen digitalen Assistenten (102) anzuzeigen.
  2. Das System nach Anspruch 1, bei dem das Anwendungsprogamm (130) ferner dazu eingerichtet ist, eine Aufgabe an das Servlet (108) zu übertragen, und bei dem das Servlet (108) ferner dazu eingerichtet ist, kompaktifizierte und kodierte Karten- und Attributdaten (128) für die Aufgabe zu übertragen.
  3. Das System nach Anspruch 1, bei dem das Anwendungsprogramm (130) auf dem persönlichen digitalen Assistenten (102) ferner dazu eingerichtet ist: Auszeichnungsdaten, die Pixeldaten für ein Auszeichnungselement enthalten, von einem Benutzer zu erhalten, der einen Stift benutzt, um die auf dem persön lichen digitalen Assistenten (102) angezeigten Karten- und Attributdaten (128) auszuzeichnen; eine Datei mit den Auszeichnungsdaten zu erzeugen; und die Auszeichnungsdatendatei von dem persönlichen digitalen Assistenten (102) an den Server (106) hochzuladen.
  4. Das System nach Anspruch 3, bei dem das Anwendungsprogramm (130) die Daten an einen Server (106) hochlädt, in dem es: eine Socket-Verbindung aufbaut; ein Verzeichnis vorhandener Kartensätze erhält; nach Auszeichnungsdaten sucht, die den vorhandenen Kartensätzen zugeordnet sind; und alle vorhandenen Auszeichnungsdaten zum Server (106) hochlädt.
  5. Das System nach Anspruch 3, bei dem die Auszeichnungsdaten eine Abgrenzungslinie (redline line) sind und das Anwendungsprogramm (130) dazu eingerichtet ist, die Auszeichnungsdaten von einem Benutzer zu erhalten, indem: festgestellt wird, wenn ein neues Abgrenzungsobjekt ausgewählt worden ist; und ein Abgrenzungsobjekt erhalten wird, während sich ein Stift weiter in Kontakt mit einer Anzeigefläche des persönlichen digitalen Assistenten (102) befindet.
  6. Das System nach Anspruch 3, bei dem die Auszeichnungsdaten eine Anmerkung sind und das Anwendungsprogramm (130) dazu eingerichtet ist, die Auszeichnungsdaten von einem Benutzer zu erhalten, indem: festgestellt wird, wenn ein neues Anmerkungsobjekt ausgewählt worden ist; eine Benutzerauswahl eines Ankerpunkts in einer Darstellung einer Karte auf dem persönlichen digitalen Assistenten (102) akzeptiert wird; eine Texteingabefläche auf dem persönlichen digitalen Assistenten (102) angezeigt wird; eine Texteingabe durch den Benutzer in der Texteingabefläche akzeptiert wird; und ein Sinnbild, das die Anmerkung darstellt, an dem Ankerpunkt angezeigt wird.
  7. Das System nach Anspruch 1, bei dem der Server (106) dazu eingerichtet ist: eine Datei mit Auszeichnungsdaten für die Karten- und Attributdaten (128) zu erhalten; die Auszeichnungsdaten in Koordinatendaten umzuwandeln; und die Koordinatendaten zu verwenden, um eine Datei im Standard-Datenformat SDF zu erhalten, die verwendet werden kann, um die Karten- und Attributdaten (128) mit den Auszeichnungsdaten zu überlagern.
  8. Das System nach Anspruch 1, bei dem: a) die Kartendaten aufweisen: 1) mehrere Rasterkacheln; und 2) Vektorobjektdaten für ein Objekt der Kartendaten; b) das Servlet (108) zum Entwirren, Kompaktifizieren und Kodieren eingerichtet ist, indem: 1) eine Form des Objekts generalisiert wird, indem einige der Vektorobjektdaten ausgefiltert werden; 2) ein Ort des Objekts differenziell kodiert wird, indem ein Versatz des Orts des Objekts in Bezug auf einen Ursprung der Rasterkachel, in der sich das Objekt befindet, kodiert wird; und 3) die Vektorobjektdaten räumlich indiziert werden, indem die Grenzen des Objekts kodiert werden.
  9. Das System nach Anspruch 8, bei dem das Anwendungsprogramm (130) ferner dazu eingerichtet ist, ein durch einen Punkt bezeichnetes Objekt zu bestimmen, indem: Grenzen einer oder mehrerer Rasterkachel/n ausgewertet werden, um die den Punkt enthaltende Rasterkachel zu bestimmen; und die Grenzen des Objekt innerhalb der den Punkt enthaltenden Rasterkachel ausgewertet werden, um zu bestimmen, welches Objekt den Punkt enthält.
  10. Das System nach Anspruch 8, bei dem die Rasterkacheln in einem primär nach Reihen geordneten Format gespeichert werden, gefolgt von einem Index für jede gespeicherte Rasterkachel in einer der Speicherung der Rasterkacheln entsprechenden Ordnung, und bei dem der Index aufweist: einen Verweis auf einen Datensatz, der die generalisierten Vektorobjektdaten enthält; und den Versatz und die Grenzen für jede Rasterkachel.
  11. Das System nach Anspruch 1, bei dem sich das Servlet (108) die Kartendaten beschafft, bevor von einem Client (102) eine Anforderung für die Kartendaten eingeht.
  12. Das System nach Anspruch 1, bei dem sich das Servlet (108) die Kartendaten beschafft, indem folgendes ausgeführt wird, bevor von einem Client (102) eine Anforderung für die Kartendaten eingeht: Bestimmen einer oder mehrerer Karte/n, die in einem Kartensatz enthalten ist/sind; Erhalten von Kartendaten für die eine oder mehrere Karte/n von dem Server (106); und Erzeugen eines die Kartendaten enthaltenden Kartensatzes.
  13. Das System nach Anspruch 12, bei dem das Servlet (108) dazu eingerichtet ist, die Schritte des Bestimmens, Erhaltens und Erzeugens ansprechend auf den Eingang einer Anforderung auszuführen, die sich auf eine Arbeitsreihenfolge bezieht.
  14. Das System nach Anspruch 1, bei dem das Servlet (108) die Kartendaten erhält, indem: eine oder mehrere Karte/n in einem Kartensatz ermittelt werden; getrennte Verarbeitungsfäden auf mehreren Prozessoren instantiiert werden, um parallel Kartendaten für die eine oder die mehreren Karte/n von dem Server (106) zu erhalten; eine flüchtige Datenbank mit den Kartendaten zusammengestellt wird; und unter Verwendung der flüchtigen Datenbank ein Kartensatz erzeugt wird, der die Kartendaten aufweist.
DE60003725T 1999-10-12 2000-09-26 Geographische karten auf einem persönlichen digitalen assistenten (pda) und server Expired - Fee Related DE60003725T2 (de)

Applications Claiming Priority (19)

Application Number Priority Date Filing Date Title
US628850 1984-07-09
US15906999P 1999-10-12 1999-10-12
US159069P 1999-10-12
US19314100P 2000-03-29 2000-03-29
US19315300P 2000-03-29 2000-03-29
US19314200P 2000-03-29 2000-03-29
US193141P 2000-03-29
US193153P 2000-03-29
US193142P 2000-03-29
US19386200P 2000-03-30 2000-03-30
US193862P 2000-03-30
US62911700A 2000-07-31 2000-07-31
US62911500A 2000-07-31 2000-07-31
US09/628,851 US7142196B1 (en) 1999-10-12 2000-07-31 Geographical data markup on a personal digital assistant (PDA)
US629117 2000-07-31
US629115 2000-07-31
US628851 2000-07-31
US09/628,850 US6674445B1 (en) 1999-10-12 2000-07-31 Generalized, differentially encoded, indexed raster vector data and schema for maps on a personal digital assistant
PCT/US2000/026436 WO2001027812A2 (en) 1999-10-12 2000-09-26 Geographic maps on a personal digital assistant (pda) and server

Publications (2)

Publication Number Publication Date
DE60003725D1 DE60003725D1 (de) 2003-08-07
DE60003725T2 true DE60003725T2 (de) 2004-04-22

Family

ID=27578596

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60003725T Expired - Fee Related DE60003725T2 (de) 1999-10-12 2000-09-26 Geographische karten auf einem persönlichen digitalen assistenten (pda) und server

Country Status (8)

Country Link
US (1) US7277921B2 (de)
EP (1) EP1247209B1 (de)
JP (1) JP4810038B2 (de)
AT (1) ATE244422T1 (de)
AU (1) AU7718100A (de)
CA (1) CA2386200A1 (de)
DE (1) DE60003725T2 (de)
WO (1) WO2001027812A2 (de)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010025299A1 (en) * 2000-01-03 2001-09-27 Carl Chang Rule-mitigated collaboration system and method
US7277927B2 (en) * 2001-04-13 2007-10-02 Earthlink, Inc. Systems and methods for saving internet content into a handheld internet appliance
US7277923B2 (en) * 2001-04-13 2007-10-02 Earthlink, Inc. Systems and methods for automatically accessing internet information from a local application on a handheld internet appliance
ES2190337B1 (es) * 2001-04-24 2004-11-16 Yolanda Pedreño Serra Sistema y procedimiento para la distribucion de informacion georeferenciada.
ES2885435T3 (es) 2001-04-30 2021-12-13 Activemap Llc Mapa interactivo presentado electrónicamente
US20030115215A1 (en) * 2001-12-18 2003-06-19 Daniel Swarovski Method and system for watching and tracking birds
AU2003202073A1 (en) 2002-01-23 2003-09-02 M-Spatial Limited Routing framework
AU2002302648A1 (en) * 2002-04-30 2004-03-11 Nuria Garcia Garcia System and method of distributing geo-referenced information
AU2003223091A1 (en) 2002-04-30 2003-11-17 Telmap Ltd. Dynamic navigation system
US20040181555A1 (en) * 2003-03-11 2004-09-16 Infingo, Llc System and method of delivering information targeted to a user
US7484220B2 (en) * 2004-05-26 2009-01-27 Qualcomm Incorporated Method, software and apparatus for using application state history information when re-launching applications
US20050288001A1 (en) * 2004-06-23 2005-12-29 Foster Derek J Method and system for an application framework for a wireless device
US8595687B2 (en) * 2004-06-23 2013-11-26 Broadcom Corporation Method and system for providing text information in an application framework for a wireless device
US7251561B2 (en) 2004-07-28 2007-07-31 Telmap Ltd. Selective download of corridor map data
JP2008522167A (ja) * 2004-12-02 2008-06-26 ワールドウォッチ プロプライエタリー リミテッド ナビゲーション方法
US20060167937A1 (en) * 2005-01-18 2006-07-27 Timothy Tierney Internet based geographic information system
US7702646B2 (en) 2005-02-18 2010-04-20 The Macgregor Group, Inc. System and method for displaying data on a thin client
US7603358B1 (en) * 2005-02-18 2009-10-13 The Macgregor Group, Inc. Compliance rules analytics engine
US8159959B2 (en) * 2005-11-07 2012-04-17 Vudu, Inc. Graphic user interface for playing video data
EP1955213A4 (de) 2005-11-07 2010-01-06 Google Inc Abbildung in mobilen geräten
EP1840521A3 (de) 2006-03-31 2009-02-11 Research In Motion Limited Verfahren und Vorrichtungen zum Assozieren von Kartierfunktionalität und Information in Kontaktlisten mobiler Kommunikationsvorrichtungen
US8121610B2 (en) 2006-03-31 2012-02-21 Research In Motion Limited Methods and apparatus for associating mapping functionality and information in contact lists of mobile communication devices
US7913192B2 (en) 2006-03-31 2011-03-22 Research In Motion Limited Methods and apparatus for retrieving and displaying map-related data for visually displayed maps of mobile communication devices
JP4764231B2 (ja) * 2006-03-31 2011-08-31 キヤノン株式会社 画像処理装置、制御方法、コンピュータプログラム
EP1840512B1 (de) 2006-03-31 2013-03-06 Research In Motion Limited Verfahren und Vorrichtung zur Bereitstellung von Kartenorten bei Benutzeranwendungen unter Verwendung von URL-Strings
DE602006002873D1 (de) 2006-03-31 2008-11-06 Research In Motion Ltd Benutzerschnittstellenverfahren und Vorrichtung zur Steuerung der visuellen Anzeige von Karten mit auswählbaren Kartenelementen bei mobilen Kommunikationsvorrichtungen
ATE462956T1 (de) 2006-03-31 2010-04-15 Research In Motion Ltd Verfahren zur kontrolle von kartenversionen und vorrichtung zur aktualisierung der verwendung von über ein netzwerk gewarteten kartendatensätzen für mobile kommunikationsvorrichtungen
DE102007006537A1 (de) 2007-02-09 2008-08-21 Topexpert Gmbh Interaktives Informations- und Kommunikationssystem
DE202007019508U1 (de) 2007-02-09 2013-04-23 Topexpert Gmbh Interaktives Informations- und Kommunikationssystem
US7640105B2 (en) 2007-03-13 2009-12-29 Certus View Technologies, LLC Marking system and method with location and/or time tracking
US8672225B2 (en) 2012-01-31 2014-03-18 Ncr Corporation Convertible barcode reader
US8270666B2 (en) 2008-02-12 2012-09-18 Certusview Technologies, Llc Searchable electronic records of underground facility locate marking operations
US8532342B2 (en) 2008-02-12 2013-09-10 Certusview Technologies, Llc Electronic manifest of underground facility locate marks
CA2707246C (en) 2009-07-07 2015-12-29 Certusview Technologies, Llc Automatic assessment of a productivity and/or a competence of a locate technician with respect to a locate and marking operation
US9659268B2 (en) 2008-02-12 2017-05-23 CertusVies Technologies, LLC Ticket approval system for and method of performing quality control in field service applications
US8612271B2 (en) 2008-10-02 2013-12-17 Certusview Technologies, Llc Methods and apparatus for analyzing locate and marking operations with respect to environmental landmarks
US8280631B2 (en) 2008-10-02 2012-10-02 Certusview Technologies, Llc Methods and apparatus for generating an electronic record of a marking operation based on marking device actuations
US9208458B2 (en) 2008-10-02 2015-12-08 Certusview Technologies, Llc Methods and apparatus for analyzing locate and marking operations with respect to facilities maps
US20090327024A1 (en) 2008-06-27 2009-12-31 Certusview Technologies, Llc Methods and apparatus for quality assessment of a field service operation
US9473626B2 (en) 2008-06-27 2016-10-18 Certusview Technologies, Llc Apparatus and methods for evaluating a quality of a locate operation for underground utility
US9208464B2 (en) 2008-10-02 2015-12-08 Certusview Technologies, Llc Methods and apparatus for analyzing locate and marking operations with respect to historical information
US8620726B2 (en) 2008-10-02 2013-12-31 Certusview Technologies, Llc Methods and apparatus for analyzing locate and marking operations by comparing locate information and marking information
US8600526B2 (en) 2008-10-02 2013-12-03 Certusview Technologies, Llc Marking device docking stations having mechanical docking and methods of using same
JP5268021B2 (ja) * 2008-11-21 2013-08-21 日本電気株式会社 リッチインターネットアプリケーションのオフラインサポート装置、方法、プログラム及び携帯端末
US20120192105A1 (en) * 2008-11-26 2012-07-26 Lila Aps (AHead) Dynamic level of detail
US8902251B2 (en) 2009-02-10 2014-12-02 Certusview Technologies, Llc Methods, apparatus and systems for generating limited access files for searchable electronic records of underground facility locate and/or marking operations
US8572193B2 (en) 2009-02-10 2013-10-29 Certusview Technologies, Llc Methods, apparatus, and systems for providing an enhanced positive response in underground facility locate and marking operations
CA2691780C (en) 2009-02-11 2015-09-22 Certusview Technologies, Llc Management system, and associated methods and apparatus, for providing automatic assesment of a locate operation
CN102474898B (zh) * 2009-07-23 2015-09-16 高通股份有限公司 从蜂窝通信设备应用到电信网络的数据传输的方法和系统
US20110205229A1 (en) * 2010-02-23 2011-08-25 Google Inc. Portable Globe Creation for a Geographical Information System
CA2815998C (en) 2010-08-11 2016-09-13 Certusview Technologies, Llc Methods, apparatus and systems for facilitating generation and assessment of engineering plans
US8560600B2 (en) 2011-09-26 2013-10-15 Google Inc. Managing map elements using aggregate feature identifiers
US9141975B2 (en) 2012-09-23 2015-09-22 Intel Corporation Inferring user risk profile from travel patterns
US10185775B2 (en) 2014-12-19 2019-01-22 Qualcomm Technologies, Inc. Scalable 3D mapping system
CA3073525C (en) * 2017-08-24 2022-07-05 Lutron Technology Company Llc Stack safety for independently defined operations

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4530051A (en) * 1982-09-10 1985-07-16 At&T Bell Laboratories Program process execution in a distributed multiprocessor system
US5231584A (en) 1987-12-28 1993-07-27 Aisin Aw Co., Ltd. Navigation apparatus with non-volatile memory for return to initial departure point
JPH0696067A (ja) 1992-09-11 1994-04-08 Fujitsu Ltd 文書作成処理システム
US5787300A (en) * 1993-11-10 1998-07-28 Oracle Corporation Method and apparatus for interprocess communications in a database environment
US5699244A (en) * 1994-03-07 1997-12-16 Monsanto Company Hand-held GUI PDA with GPS/DGPS receiver for collecting agronomic and GPS position data
US5559707A (en) 1994-06-24 1996-09-24 Delorme Publishing Company Computer aided routing system
US5543789A (en) * 1994-06-24 1996-08-06 Shields Enterprises, Inc. Computerized navigation system
US6108715A (en) * 1994-12-13 2000-08-22 Microsoft Corporation Method and system for invoking remote procedure calls
JP2666750B2 (ja) 1994-12-26 1997-10-22 日本電気株式会社 図形配置装置
GB9515966D0 (en) * 1995-08-03 1995-10-04 British Nuclear Fuels Plc Nuclear fuel pellets
GB9516762D0 (en) * 1995-08-16 1995-10-18 Phelan Sean P Computer system for identifying local resources
US5938721A (en) * 1996-10-24 1999-08-17 Trimble Navigation Limited Position based personal digital assistant
US5966135A (en) 1996-10-30 1999-10-12 Autodesk, Inc. Vector-based geographic data
JP3503397B2 (ja) * 1997-02-25 2004-03-02 Kddi株式会社 地図表示システム
US6057854A (en) 1997-03-07 2000-05-02 Micrografx, Inc. System and method of providing interactive vector graphics over a network
US6220510B1 (en) * 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
US5973678A (en) 1997-08-29 1999-10-26 Ford Global Technologies, Inc. Method and system for manipulating a three-dimensional object utilizing a force feedback interface
US6750850B2 (en) * 1998-01-07 2004-06-15 Microsoft Corporation Viewer system for a wireless device
US6205209B1 (en) * 1998-08-25 2001-03-20 At&T Corp. Network that provides applications collaboration

Also Published As

Publication number Publication date
JP2003518636A (ja) 2003-06-10
WO2001027812A3 (en) 2002-08-08
EP1247209A2 (de) 2002-10-09
CA2386200A1 (en) 2001-04-19
DE60003725D1 (de) 2003-08-07
US7277921B2 (en) 2007-10-02
WO2001027812A8 (en) 2003-10-23
US20020010850A1 (en) 2002-01-24
AU7718100A (en) 2001-04-23
WO2001027812A2 (en) 2001-04-19
EP1247209B1 (de) 2003-07-02
JP4810038B2 (ja) 2011-11-09
ATE244422T1 (de) 2003-07-15

Similar Documents

Publication Publication Date Title
DE60003725T2 (de) Geographische karten auf einem persönlichen digitalen assistenten (pda) und server
US9424545B1 (en) Geospatial construction task management system and method
US6674445B1 (en) Generalized, differentially encoded, indexed raster vector data and schema for maps on a personal digital assistant
US7142205B2 (en) Single gesture map navigation graphical user interface for a personal digital assistant
US9465513B2 (en) Visual representation of map navigation history
US7142196B1 (en) Geographical data markup on a personal digital assistant (PDA)
CN111339316A (zh) 一种知识图谱可视化编辑与持久化实现方法及系统架构
US7236173B2 (en) Method and apparatus for providing access to maps on a thin client
Zeiler Modeling our world: the ESRI guide to geodatabase design
DE102014208515A1 (de) Interaktive georäumliche Karte
DE10290955B4 (de) Datenbanksuchsystem und Datenbanksuchverfahren das geographische Merkmale verwendet
US20040049345A1 (en) Distributed, collaborative workflow management software
US20080074423A1 (en) Method and System for Displaying Graphical Objects on a Digital Map
US20020188669A1 (en) Integrated method for disseminating large spatial data sets in a distributed form via the internet
WO2001061570A1 (en) Information access, collaboration and integration system and method
DE202013012486U1 (de) Benutzeroberfläche für das Orientieren einer Kameraansicht in Richtung von Oberflächen innerhalb einer 3-D-Karte und Einrichtungen, welche die Benutzeroberfläche miteinbeziehen
DE102008021410A1 (de) Verfahren und System zur Erzeugung von Filesharing-Website-Dateien
Abel et al. Environmental decision support system project: an exploration of alternative architectures for geographical information systems
US20100042938A1 (en) Interactive Navigation of a Dataflow Process Image
WO2001096906A1 (en) Distributed, collaborative workflow management software
CN109783596B (zh) 一种基于Angular组件的ArcGIS地图配置预览方法
Akaboev et al. Some aspects of the process of creating an industrial map using arcgis
CN114385740A (zh) 一种基于铀矿地质云平台的可视化展示系统及方法
De Lange et al. WebGIS with Google maps
Chase et al. Semantic visualization

Legal Events

Date Code Title Description
8363 Opposition against the patent
8365 Fully valid after opposition proceedings
8339 Ceased/non-payment of the annual fee