Basic concept of photo-attached location information extraction mechanism
Image files taken with digital cameras and smartphones contain various equipment conditions and physical observation data at the time of the shooting, embedded in an invisible format.
Our analysis system provides an advanced processing pipeline that precisely extracts spatial coordinates from the accompanying metadata stored in these image binaries and reconstructs them as visual map information.
Particularly important in the geospatial domain is the special directory structure located within the exchange image file format standard, Exif.
This system runs a binary parser that complies with this standard directly in the memory of the browser environment, achieving extremely secure spatial coordinate calculations without relying on external computational resources.
Unlike a simple file upload process, the system reads the binary stream of a specified file object in chunks, and asynchronously and sequentially executes everything from determining the file signature to identifying the metadata area and decoding the desired tag group.
This makes it possible to complete analysis instantly, even with tens of megabytes of high-resolution image data, without running out of main memory.
Extraction of degrees, minutes, and seconds of spatial coordinates and decimal conversion algorithm
The metadata area within the image file contains a dedicated directory for recording positioning results from the Global Positioning System.
Our system accesses this area through a parser and arrives at tag numbers zero x zero zero zero zero indicating latitude and tag numbers zero x zero zero zero zero indicating longitude.
The values stored in these tags are represented as an array of rational numbers with three elements: degrees, minutes, and seconds.
This mathematical conversion from degree-minute-second format to decimal format is essential for spatial coordinates to be used in modern web mapping systems.
The system first interprets the numerator and denominator of each element and reconstructs the exact values for degrees, minutes, and seconds as floating point numbers.
Then, calculate the absolute decimal degree by adding the minute component divided by 60 and the second component divided by 3,600 to the degree component.
At the same time, evaluate the string representations of the tag number zeroxzerozeroichi, which distinguishes between the northern and southern hemispheres, and the tag number, zeroxzerozerozerosan, which distinguishes between the eastern and western hemispheres.
If an identifier indicating south latitude or west longitude is detected, a sign reversal process is applied that adds a minus sign to the calculated decimal degrees to generate accurate latitude and longitude coordinates that perfectly conform to the world geodetic system.
Synchronous analysis of shooting altitude, azimuth, and equipment information
In addition to identifying spatial coordinates, our system synchronously extracts multiple metadata tags that make up the 3D context of the location and the profile of the equipment.
From the group of tags that indicate altitude, elevation data relative to sea level is obtained in meters, and at the same time, reference tags that indicate whether the altitude reference is above or below sea level are evaluated to determine the positive or negative sign.
It also analyzes the azimuth angle tag that indicates the directivity of the lens when the image was taken, and obtains angle information in degrees based on true north or magnetic north.
This makes it possible to mathematically reconstruct the line-of-sight vector from which point the photographer turned and in which direction when he released the shutter.
In addition, the main image information directory extracts the manufacturer and unique model name of the photography equipment used, as well as the exact timestamp when the digital data was generated.
These composite data points are combined into a single data structure along with latitude and longitude coordinates and held in memory space as input parameters for subsequent spatial rendering engines.
. Visual plotting with the map tile rendering engine
The latitude and longitude coordinates and accompanying context data constructed in memory space are immediately transferred to the spatial visualization module.
The system uses a rendering engine that integrates a lightweight, high-performance open source map drawing library with an open geospatial data infrastructure maintained by volunteers around the world.
When the engine receives the calculated decimal latitude and longitude coordinates, it performs a projection transformation based on the Mercator projection to determine the absolute pixel coordinates on a virtual two-dimensional plane.
Next, to provide geographic context around the determined coordinates, map tiles at the appropriate zoom level are asynchronously requested over the network and seamlessly combined in a grid to build a background layer.
A dedicated marker object generated using vector graphics is superimposed on the top layer of this map layer with pinpoint precision.
Markers do more than just provide a location; they also contain event listeners that respond to user interactions, such as clicks and hovers, which dynamically render complex information such as synchronously extracted altitude, azimuth, camera equipment, and timestamps in an information window.
Complete information confidentiality through local memory analysis
In general, extreme care is required when handling photo data that includes location information. Images taken in private spaces such as homes and workplaces are unintentionally sent to external servers with metadata retained, which poses serious privacy violations and security risks.
The most significant feature of this system is its architecture, in which the series of processes described above, including binary parsing, mathematical conversion from degrees, minutes, and seconds to decimal numbers, and extraction of context data, are completed only within the local memory area of the user's web browser.
The image file specified by the user is only expanded as a temporary buffer in memory through the file reader API; there is no process of sending binary data over the network to an external server, uploading it, or saving it to backend storage.
External communication is limited to one-way requests to download map tile images from the open map infrastructure. This client-side analysis approach ensures secure location verification, even for image files containing sensitive personal information, with no risk of leakage to third parties.
Various application scenarios ranging from field investigations to safety confirmation
The highly accurate and secure location analysis capabilities provided by this system are extremely useful in a wide variety of professional and everyday scenarios.
For example, for researchers engaged in fieldwork in fields such as ecology and geology, it is an essential preprocessing tool for extracting the exact coordinates, elevation, and photographing direction of observation points after the fact from countless records of photographs taken in the field and integrating them into geographic information systems.
For travelers and journalists who travel across large areas, it serves as a fundamental technology for linking travel trajectories and visual records on maps to reconstruct the spatial context of itineraries in detail.
Additionally, it is extremely important to act as a security check before uploading images to social networking services or public blogs.
By using this system to analyze the images they plan to publish in advance, users can visually and intuitively check whether they have unintentionally included the exact coordinates of their home or metadata about their home range.
If unexpected location information is detected, defensive measures can be taken, such as stripping metadata using specialized deletion tools, acting as the first line of defense to actively protect an individual's spatial privacy.