A method includes receiving data from a non-geo enabled data source, obtaining information related to location in the received data, converting the obtained information to a standardized form of geo-location data, and storing the geo-location data.
|
1. A method comprising:
receiving data from a non-geo enabled data source, at an interception point between the non-geo enabled data source and an application receiving the data;
obtaining information related to location in the received data, wherein obtaining the information related to location in the received data comprises:
identifying a physical address in the received data; and
looking up geographical coordinates from the physical address;
converting the obtained information to a standardized form of geo-location data compatible with the application; and
providing the geo-location data to the application, wherein converting the obtained information is performed by the interception point between the non-geo enabled data source and the application such that the application perceives that the data source is directly providing the geo-location data and is geo enabled.
16. A system comprising:
a communication connection to receive data from a non-geo enabled data source as an interception point between the non-geo enabled data source and an application receiving the data;
a programmed processor coupled to receive the data from the communication connection to obtain information related to location in the received data, wherein obtaining the information related to location in the received data comprises:
identifying a physical address in the received data and
looking up geographical coordinates from the physical address;
the processor further programmed to convert the obtained information to a standardized form of geo-location data compatible with the application; and
an application stored on a storage device coupled to the processor to, receive the geo location data such that the application perceives that the data source is directly providing the geo-location data and is geo enabled.
12. A computer readable storage device having instructions for causing a computer to execute a method, the method comprising:
receiving data from a non-geo enabled data source, at an interception point between the non-geo enabled data source and an application receiving the data;
obtaining information related to location in the received data, wherein obtaining the information related to location in the received data comprises:
identifying a physical address in the received data and
looking up geographical coordinates from the physical address;;
converting the obtained information to a standardized form of geo-location data compatible with the application; and
providing the geo-location data to the application, wherein converting the obtained information is performed by the interception point between the non-geo enabled data source and the application such that the application perceives that the data source is directly providing the geo-location data and is geo enabled.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
identifying a key in the received data; and
using the key to call a remote application to obtain information leading to a physical address.
7. The method of
8. The method of
9. The method of
identifying a user id;
mapping the user id to a location tracking service; and
calling the location tracking service to obtain the information related to location.
10. The method of
11. The method of
13. The computer readable storage device of
formatting the geographical coordinates comprising latitude and longitude in a concatenated form.
14. The computer readable storage device of
identifying a key in the received data; and
using the key to call a remote application business object to obtaining information leading to a physical address.
15. The computer readable storage device of
identifying a user id; and
mapping the user id to a location tracking service; and
calling the location tracking service to obtain the information related to location.
17. The system of
formatting the geographical coordinates comprising latitude and longitude in a concatenated form.
18. The system of
19. The system of
identifying a key in the received data; and
using the key to call a remote application to obtaining information leading to a physical address, wherein the key comprises business data and wherein the remote application comprises business object.
20. The system of
identifying a user id;
mapping the user id to a location tracking service; and
calling the location tracking service to obtain the information related to location.
|
Many applications utilize geo location information. The information may be received from different sources, and should be in a format usable by the application. Many information sources are not able to provide the geo location information in the format utilized by consuming applications or have not been conceived to provide geo information.
A method includes receiving data from a non-geo enabled data source, obtaining information related to location in the received data, converting the obtained information to a standardized form of geo-location data, and storing the geo-location data.
A computer readable storage device has instructions for causing a computer to execute a method, the method including receiving data from a non-geo enabled data source, obtaining information related to location in the received data, converting the obtained information to a standardized form of geo-location data, and storing the geo-location data.
A system includes a communication connection to receive data from a non-geo enabled data source. A programmed processor is coupled to receive the data from the communication connection to obtain information related to location in the received data. The processor is further programmed to convert the obtained information to a standardized form of geo-location data. A storage device is coupled to the processor to store the geo-location data.
In the following description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments which may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the scope of the present invention. The following description of example embodiments is, therefore, not to be taken in a limited sense, and the scope of the present invention is defined by the appended claims.
The functions or algorithms described herein may be implemented in software or a combination of software and human implemented procedures in one embodiment. The software may consist of computer executable instructions stored on computer readable media such as memory or other type of storage devices. Further, such functions correspond to modules, which are software, hardware, firmware or any combination thereof. Multiple functions may be performed in one or more modules as desired, and the embodiments described are merely examples. The software may be executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system.
A converter 110 receives the information from the data source 105. In one embodiment, the source provides data referred to as a data payload and uses the data to obtain geo-information and convert the geo-information into a standard geo-location data format, such as GeoRSS, that is useable by an application 115. In one embodiment, the data payload may be processed in several different ways. Where the data payload is obtained from an application running on the same or a different server, the converter 110 may be part of an interception point between the data source 105 and an application 115. An example interception point includes SAP OData interfaces interception points on SAP Gateway, which can be adapted via programming to post-process the data payload and enhance the output format.
Various resources may be used to assist in the conversion of the payload data. A coordinate source 120 may be used if a street address is obtained by the converter from the payload data. The street address is simply provided to the coordinate source 120, which may be located on a same or different computer system in various embodiments. Similarly, the payload data may contain information that can be used to identify a further source of data, such as an application data source 125, which may contain a street address or other information that can be utilized to obtain information which can ultimately lead to data that can be converted to the desired geo information format.
The payload data can be transformed by the converter 110 to an enhanced form of the same/basic payload format (e.g. enhance Atom-Feed format with OData payload to GeoRSS with OData payload) and stored on a computer readable storage device. The converter 110 may also be adapted to produce a different format (e.g. GeoJSON or GML). In one embodiment, a transformed representation of the original payload may be stored with the enhanced form.
Several different examples of source data (payload data) and transformations may be used. In a first example, the payload data may already contain some fields that may be interpreted by geospatially enabled tools, such as latitude/longitude fields.
In a second example, the payload data may contain address fields, such as an address of a building or location.
In a third example, the payload data may contain identifying address number information—without address data. This is a common case for a data source that provides business suite data which often contain some Address-ID of the basic address management
In a fourth example, the data payload may only contain business data (master or transactional data) without reference to geo-location/address information available in the providing system.
For examples 1-3, the determination of appropriate data fields in the data content payload can be done by configuration, annotation of metadata or by deduction from a database data dictionary (DDIC) type. The determination of the fields may be based on the field data elements or domains (e.g. latitude and longitude fields often use DDIC Data Elements GEOLAT/GEOLON and domain GEOLATLON, Domain ADRNR for address numbers).
For example 1, the converter 110 uses the content of the data fields in the payload and replicates the data in the correct format of the chosen geo-enabled data format. For example 2, the same principle may be applied to available address data in the data payload, optionally utilizing coordinate source 120.
For example 3, the plain address information can be looked up in the basic address management of the system based on the address number from the payload.
For example 4, a configuration rule or metadata annotation may be defined which determines from which data fields the ID of a business object (residing on either application data source 125 or application 115) can be derived and how this ID can be mapped to the corresponding geo-location or address from an appropriate data source (e.g. with tracking information). Identifying information like the ID of a vessel or the license plate number of a car or the ID of a mobile device or user can be mapped to a tracking service object ID like e.g. AIS (for ships). The geo-location or address information would result from the lookup of the current position/address at such a tracking provider.
Depending on the capabilities of the geo-enabled target format chosen, geo-location data or address data can be put in the resulting data format as is—if the format of the data made available from the payload matches the specification of the target format transformed from geo-coordinates to address or format would only accept one of these two options.
At 220, the location information is converted to geo-location data in a form useable by the application 115. The geo-location data may be stored at 225 in a storage device that is accessible to the application for use without having to modify the application to utilize the stored data. In some embodiments, the converter 110 function may be separate from the application 115, or may be integrated into or callable by the application 115. In further embodiments, the converter 110 is positioned to intercept the source data and provide geo-information to the application to make it appear that the data source is providing the geo-information directly to the application.
Example code for converting a geo-coordinates to GeoRSS formatted data is illustrated at 600 in
Computer-readable instructions stored on a computer-readable medium are executable by the processing unit 802 of the computer 810. A hard drive, CD-ROM, and RAM are some examples of articles including a non-transitory computer-readable medium. For example, a computer program 825 capable of providing a generic technique to perform access control check for data access and/or for doing an operation on one of the servers in a component object model (COM) based system according to the teachings of the present invention may be included on a CD-ROM and loaded from the CD-ROM to a hard drive. The computer-readable instructions allow computer 810 to provide generic access controls in a COM based computer network system having multiple users and servers.
A method comprising:
receiving data from a non-geo enabled data source;
obtaining information related to location in the received data;
converting the obtained information to a standardized form of geo-location data; and
storing the geo-location data.
The method of example 1 and further comprising storing the received data with the geo-location data.
The method of any one of examples 1-2 wherein obtaining information related to location comprises:
identifying a physical address in the received data; and
looking up geographical coordinates from the physical address.
The method of example 3 and further comprising formatting the geographical coordinates comprising latitude and longitude in a concatenated form.
The method of any one of examples 3-4 wherein looking up geographical coordinates comprises calling a remote service to translate the physical address into standard geo coordinates.
The method of any one of examples 3-5 wherein identifying a physical address in the received data comprises:
identifying a key in the received data; and
using the key to call a remote application to obtaining information leading to a physical address.
The method of example 6 wherein the key comprises business data and wherein the remote application comprises business object.
The method of any one of examples 1-7 wherein the method is performed by a computer executing code separate from the non-geo enabled data source.
The method of any one of examples 1-8 wherein obtaining information related to location comprises:
identifying a user id;
mapping the user id to a location tracking service.
The method of example 9 wherein obtaining information related to location comprises calling the location tracking service to obtain the information related to location.
A computer readable storage device having instructions for causing a computer to execute a method, the method comprising:
receiving data from a non-geo enabled data source;
obtaining information related to location in the received data;
converting the obtained information to a standardized form of geo-location data; and
storing the geo-location data.
The computer readable storage device of example 11 wherein obtaining information related to location comprises:
identifying a physical address in the received data; and
looking up geographical coordinates from the physical address.
The computer readable storage device of example 12 and further comprising formatting the geographical coordinates comprising latitude and longitude in a concatenated form.
The computer readable storage device of any one of examples 12-13 wherein identifying a physical address in the received data comprises:
identifying a key in the received data; and
using the key to call a remote application business object to obtaining information leading to a physical address.
The computer readable storage device of any one of examples 11-14 wherein obtaining information related to location comprises:
identifying a user id; and
mapping the user id to a location tracking service, and wherein obtaining information related to location comprises calling the location tracking service to obtain the information related to location.
A system comprising:
a communication connection to receive data from a non-geo enabled data source;
a programmed processor coupled to receive the data from the communication connection to obtain information related to location in the received data;
the processor further programmed to convert the obtained information to a standardized form of geo-location data; and
a storage device coupled to the processor to store the geo-location data.
The system of example 16 wherein the processor programmed to convert the obtained information:
identifies a physical address in the received data;
looks up geographical coordinates from the physical address; and
formats the geographical coordinates comprising latitude and longitude in a concatenated form.
The system of example 17 wherein looking up geographical coordinates comprises calling a remote service to translate the physical address into standard geo coordinates.
The system of any one of examples 17-18 wherein processor programmed to identify the physical address in the received data:
identifies a key in the received data; and
uses the key to call a remote application to obtaining information leading to a physical address, wherein the key comprises business data and wherein the remote application comprises business object.
The system of any one of examples 16-19 wherein the processor programmed to obtain information related to location:
identifies a user id;
maps the user id to a location tracking service; and
calls the location tracking service to obtain the information related to location.
Although a few embodiments have been described in detail above, other modifications are possible. For example, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. Other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Other embodiments may be within the scope of the following claims.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6941184, | Jan 11 2002 | SAP SE | Exchange of article-based information between multiple enterprises |
7400770, | Nov 06 2002 | HRL Laboratories | Method and apparatus for automatically extracting geospatial features from multispectral imagery suitable for fast and robust extraction of landmarks |
8385964, | Apr 04 2005 | Xone, Inc.; XONE, INC | Methods and apparatuses for geospatial-based sharing of information by multiple devices |
8606021, | Aug 19 2008 | Digimarc Corporation | Methods and systems for content processing |
20040236620, | |||
20070027997, | |||
20070173956, | |||
20070195712, | |||
20100114941, | |||
20100145947, | |||
20100211614, | |||
20110161137, | |||
20130030967, | |||
20130132375, | |||
20130159468, | |||
20140006072, | |||
20140006208, | |||
20140047356, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 13 2013 | SAP SE | (assignment on the face of the patent) | / | |||
Mar 28 2013 | REINART, MANFRED | SAP AG | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 030998 | /0673 | |
Jul 07 2014 | SAP AG | SAP SE | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 033625 | /0223 |
Date | Maintenance Fee Events |
Dec 14 2015 | ASPN: Payor Number Assigned. |
Oct 11 2016 | ASPN: Payor Number Assigned. |
Oct 11 2016 | RMPN: Payer Number De-assigned. |
Jun 25 2019 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jun 28 2023 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Jan 05 2019 | 4 years fee payment window open |
Jul 05 2019 | 6 months grace period start (w surcharge) |
Jan 05 2020 | patent expiry (for year 4) |
Jan 05 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jan 05 2023 | 8 years fee payment window open |
Jul 05 2023 | 6 months grace period start (w surcharge) |
Jan 05 2024 | patent expiry (for year 8) |
Jan 05 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jan 05 2027 | 12 years fee payment window open |
Jul 05 2027 | 6 months grace period start (w surcharge) |
Jan 05 2028 | patent expiry (for year 12) |
Jan 05 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |