How to bind maps - using Ozi Explorer as an example. Binding photos to GPS-coordinates for Mac OS Photos with reference to terrain

The idea of ​​recording the coordinates of the point at which they were taken with each photograph appeared at the dawn of digital photography and was realized almost immediately. Today this idea has come to the masses and has grown over many services. From the very beginning, the implementation of the idea at the hardware level has arisen and continues today, when a GPS receiver directly communicates with the camera, either it is built into it, or connected to it via a serial port, or is installed on the camera and receives a signal that a picture has been taken from flash sync terminal. Sony also released the GPS-CS1 device, which simply records the coordinates every 15 seconds, and then they are synchronized in time with the pictures taken, and the information about the coordinates is recorded in the file. Considering that today both GPS receivers and cameras have become very common in everyday life, you may not have to buy an additional device, you can use your existing GPS receiver and camera, all that remains is to link the coordinates to specific images. There used to be a significant limitation due to the fact that memory GPS navigator but it was overflowing, and every day I had to download information to my computer. If you rarely filmed, and GPS was used in navigation, then it is likely that, upon arriving from a hike, you will only be able to retrieve information about the last day. Now, when GPS navigators have the ability to record the paths traveled on memory cards, the issue of its shortage is almost completely removed. On the Internet, you can find dozens of programs designed to snap photos to coordinates. A more or less complete list can be found and. There are commercial ones among them, but most of them are free and even open source. I tried to try many of them, but if for some reason the program did not start working correctly right away, then I did not try to figure it out, but went straight to the next one. Therefore, it is very likely that among those programs that I rejected, there are also worthy ones that will start working immediately and without problems on a different hardware configuration. I also did not consider commercial programs, since their demo versions introduce a deliberate error of about a kilometer, and it seemed to me unreasonable to spend time on them when there are a large number of open programs.

In addition, the number of programs under consideration was reduced, since I had rather specific additional requirements. Namely: to record the coordinates, the Etrex Venture Cx navigator was used, which saves the coordinate data in the GPX (GPS Exchange Format) format. The format is standard, but it turns out that Garmin and some software developers understand this standard differently. Fortunately, there are universal programs that convert one format to another. And among them I would single out. In particular, in this program, you can ask to convert the GPX format taken from the Garmin navigator to the same format, but the result of this conversion will already be understood by all programs.

The second requirement was that I wanted to immediately snap photos in RAW format, so that all obtained from the original photos were already with marked coordinates, and there would be no need to determine the coordinates again in time when the picture was taken. Because over time, as it turned out, there are quite a few problems. And if you multiply them by the fact that the converted files were made and processed at different times, and the original information about the times of the picture may be lost, or after a while you will not be able to remember in which time zone you shot. Many of the programs I have reviewed have quite sophisticated settings to correct possible problems with setting times. However, it is best to set up your navigator and camera right away so that these problems do not arise. My navigator has the ability to choose how the track is recorded - automatic or at a specified time interval. In automatic mode, if you move quickly, then a lot of points are written, but if you stand still, then they are not written at all. This allows you to get a track record of the same quality, whether you are walking or driving. However, if you shoot from one point for a long time, then a situation may arise when at the time of shooting the GPS navigator did not record the coordinates, since they did not differ from those recorded half an hour ago. In many programs, you can set the time interval in which the coordinates are considered to coincide with the taken picture. However, the lack of information can mean not only that you did not move, but also that the signal from the satellite was lost. In this case, if the interval is large enough, then the image can be assigned coordinates that differ significantly from the true ones. Therefore, I recommend setting the timed recording at 10 s intervals. If you are not shooting from the bus window, then the accuracy will be more than sufficient.

The next global problem is what time to set in the camera. If you are traveling, or taking pictures in the fall or spring, when the time can change, then setting the local time in the camera seems to me a bad idea, especially since the idea of ​​local time is completely discredited today. The sun is at its zenith over my house in Moscow in the summer at 13:15. Today, means of transport allow you to travel many thousands of kilometers, and it is wiser to use the uniform world time, and not explain at what time and taking into account what time period you made an appointment. The navigator keeps a protocol in UTC (Coordinated Universal Time). Therefore, it makes sense to set the same time on the camera and never change it, regardless of travel or season. Given that I record coordinates at 10-second intervals, I prefer to call this time the old-fashioned GMT (Greenvich Meridium Time). This option is more informative, since it means that the countdown is from local time on the Greenwich meridian and, with the accuracy I set, does not differ from UTC. Knowing your own coordinates and this time, you can always easily calculate when your sun will be at its highest point, that is, local noon. All this information for the photographer is by no means useless, since it allows you to imagine where and where the light will fall at the intended point of shooting. All the troubles are from the sciences, therefore, probably, the people who called the morning noon, tried to quickly send everyone who taught geography at school to an insane asylum.

So, if our camera and navigator are set at the same time, then in the future we can ignore the Time Zone settings. Programs for binding photos to coordinates

GPicSync

For the initial batch processing of the captured photos, I chose the program.

Spartan graphical interface, working only with folders, viewing only JPEG, but it does its job and quite quickly. Note that there are quite a few programs working from the command line that can argue with this one in asceticism, but I do not like working with the keyboard :-) The program uses and. Distributed under the GPL license. There are versions for Windows and Linux. Russian language is supported.

It works with folders at once, allows you to batch convert many photos at once, works with RAW, understands GPX files from Garmin, records coordinates in EXIF, allows you to automatically add the nearest geographical names that it takes from databases on the Internet to IPTC keywords. In addition to writing coordinate information to photo files, it also creates a KML or KMZ file.

KML (Keyhole Markup Language) is an XML-based markup language used to represent 3D geospatial data in a program Google earth, which bore the name "Keyhole" prior to its acquisition by Google. KMZ are the result of compressing KML files in a ZIP manner. For more details see

Google Earth is free.

If you want to navigate in field conditions (without fast internet) to find out where you took the pictures, you need to put them on some card that is saved in your laptop. To do this, you can use the aforementioned GPS Babel program and convert it to WPT format for viewing in the program or again to GPX format, but already with the included waypoints marking the pictures taken, for viewing in the program, that is, apply the photos to the same the map you were guided by when using your GPS navigator.

For working with individual photos, the program may be a good choice.

This program is written in Java and, as a result, is equally easy to run without reinstalling both under Windows and under Linux. It is also licensed under the GNU General Public License. The program can do everything: work with RAW files; view them; write coordinates to EXIF; view the position of photos on satellite images through the Google Earth program; add geographic names to keywords using information from the site. To achieve this versatility, the program uses third-party external modules that must be installed separately:,.

The program allows you to export photos not only to Google Earth, but also without installing additional programs, control the position of the shooting point through.

Of the minuses of this program, it should be noted that it is very slow, that is, it can take about a minute to prepare for viewing a photo in RAW format, and without conversion it does not understand Garmin files. The program is used to communicate with a GPS receiver and to convert files it must be run separately. Some place names can be inserted in Cyrillic, which would be welcome, but some viewers refuse to work with such files :-(

The program is updated very often, so there is a hope that it will be improved :-)

COPIKS PhotoMapper

If you work only with files in JPEG format and only under Windows, then the program would be a good choice.

She also very effectively copes with the task of packing previously referenced photos in the KMZ format. You can see how it looks by downloading the 500 KB file.

Locr GPS Photo

For further processing and posting of photos on the Internet, it can be useful program.

It is also convenient in that it allows you to superimpose photographs on space images and maps provided by different companies. You can choose between Google, Microsoft and YAHOO.

I never learned how to bind photos with it, because I did not find a way to convert GPX into an acceptable NMEA format. Therefore, for me, its main purpose is to post photos on the Internet. This is not the only service that provides such a service, you can post photos on the Internet and on the site.

A convenient addition turned out to be a program that allows you to edit coordinates manually, find a survey point in Google Earth using data recorded in EXIF, and also carry out the reverse operation - write down the coordinates of a survey point found on a space image in EXIF.

Over the past year, the idea has received strong support among the masses, and soon any point on the earth's surface can be seen not only from space, but also from ground level. Turning on the "Geography on the Internet / Panoramio" layer in Google Earth, you will see that the ground is literally strewn with marks of survey points, clicking on which you can see the photo.

22.02.2012 46496

Simple georeference of photos - GeoCam service

Honestly, I have long been interested in the ability to automatically link photos to the geographical location where this photo was taken. And this is necessary for several reasons. Firstly, I often need it myself - well, you know, you take a picture of a nice restaurant, a shop, just an interesting place, and then you try to remember where it is all from the photo. It, of course, a restaurant can be found by name and city (if you can remember the city, which is not always possible after some restaurants), but in the case of shops and places without a name, it is somehow quite difficult. Secondly, it would be very useful to put GPS coordinates on some photos for blog reporting. And then it begins: you publish a photo (yes, the same restaurants that I like to study in terms of spiritual growth while traveling), and it begins - what address, what town, what country, what planet, what kind of galaxy ... Well, in thirdly, when you send your relatives-friends the data of my stay somewhere in the same Spain so that they can come, it is very convenient to throw a bunch of photos with coordinates and viewing angle: this way they perfectly represent the environment, study the area well, and get the required address. How to solve all these problems? Modern digital photos are almost always supplied with various metadata according to the EXIF ​​standard: this includes, for example, the name and model of the camera, date and time of shooting, shutter speed, aperture and other data, among which, by the way, there is also GPS data. That is, geographic coordinates can be recorded directly into the image. However, modern cameras rarely come with a GPS module that allows them to write coordinates into EXIF ​​data of the photos they take. (For some models, you can purchase separate GPS devices that record coordinates and transmit them to the camera via wireless, but I have not yet held such devices in my hands, and some friends who have tested something like this say that all this is implemented rather crookedly.) With communicators, of course, it is easier - almost all of them are equipped with a GPS module, and some of them (although, oddly enough, not everyone) knows how to carry out geotagging - that is, record GPS coordinates in the data of photographs. Well, in any case, cameras with GPS, communicators with GPS, recording coordinates in EXIF, do not determine and do not record the position cameras in space - so that from the photo it was possible to determine exactly from which point the picture was taken. I studied this question, and it turned out that for devices on Android and iOS there is a service that quite effectively solves the problem of recording geographic data and the angle of view of the lens in the images you take. This service is called GeoCam. It has free and paid versions for Android (free download, paid download), as well as free and paid versions for iPhone (free download, paid download).


GeoCam Apps Page

I downloaded the Android version, installed it (on Samsung Galaxy Note). I went to test. It all works as follows. Launch the application, the camera mode appears in the following form. Full screen - the image from the camera (it was not included in the screenshot) with the viewing angle of the lens. Top left - a piece of the terrain map from Google Map. On the top information panel - latitude, longitude and accuracy of determination. On the bottom information panel - viewing angle parameters: azimuth, inclination, roll.


Shooting mode

Click on the "shutter" of the camera - the image is saved together with all coordinates. If you click on the icon under the "shutter" icon, you will see the taken frame with all the data. Below is a photo, above is a piece of the map with a viewing angle. The map can be switched between satellite-scheme modes.


Photo and map in satellite mode


Photo and map in outline mode

There you can turn on the editing mode (also a map and a satellite), in which you can specify the position and viewing angle, if you need it for some reason.


Editing in outline mode


Editing in satellite mode

In all these modes, maps are scaled in the usual way for modern communicators - using icons or multitouch. Further it is important to understand the following thing. All information collected using GeoCam about geographic coordinates, azimuth, tilt and roll of the camera is recorded directly in the EXIF ​​image! GPS data is written into the standardized EXIF ​​field, and any program that understands EXIF ​​can get these parameters from there, and the additional fields that GeoCam enters into EXIF ​​(many programs make their own extensions to the standard EXIF ​​- this is quite allowed) can be read as special applications GeoCam, and any other programs whose creators can work with this data using the downloadable EXIF ​​extension adopted by GeoCam. social network), then at least there you can find out the GPS coordinates of the picture taken, and besides, if you use special extensions, you can find out both the azimuth and the rest of the information that you can enter there - photographer's notes, user comments, and so on ...


File information with comments

You can send (transfer) a photo directly from the communicator. If you press the android button "menu", the following options will appear: send, create a report, delete. On the item send, these are the options.


Sending options

There are many options here, and they, of course, depend on installed applications: mail, wireless networks, SMS, social networks, online services, other applications, and so on. Only the image itself with the corresponding data hardwired into EXIF ​​will be transmitted. Report The second menu icon is a report. A PDF document is created as a report, which includes a photo, two options for the scale of the map scheme (you can also include a satellite) and all the information collected. The document can also be sent-forwarded anywhere or opened directly on the communicator. It looks something like this (clickable).


One photo report

Projects and Tags For the convenience of processing, the taken geophotos (photos created using this service) can be distributed among projects, as well as use special filters that relate to certain areas of the map - specific streets, cities, regions.


Projects


Filters

Photos can be spread across projects manually, indicating the project when shooting, and you can also bind a set of filters (continent, country, city, street, and so on) to the project, and then the captured photos will automatically be included in the desired project. , are interesting in that there you can select the required group of geophotos and display all survey points on one map. First, the necessary photos of one project are selected.


Photo of one project and menu


Selection of photos of one project

After that, the "View" button is pressed, after which, on the top image, GeoCam displays on the map (diagram or satellite) all the shooting points of the selected photos, between which you can switch. The map can be scaled accordingly.


All survey points in the diagram


All survey points on the satellite

Service www.geo-photo.net There is a special service www.geo-photo.net for posting geophotos taken online. Registration there is free, and on this site you can post your geophotos, dividing them into projects, and, if necessary, giving direct links for access to all interested parties. It's all simple. First, you register on the service (or simply log in using your Twitter, Facebook or Google account), after which you can upload images there directly from your communicator or from a computer where you need to upload a geophoto. photos, you can see two images of maps of different scales of the selected services: Google, Bing, Osm, Yandex - while display options for these services are available. Here's an example on Google (clickable).


My geophoto at Geo-Photo.net

GeoView service for Windows To obtain all data on a geophoto, you can also use a program under Windows - it is called GeoView (you can download it for free). The program works in almost the same way as the online version: geophotos are uploaded into it (from a communicator) and you can get one or two maps from any selected service of any scale (clickable).


GeoView

IOS application I tested how it all works under iOS. Checked out the free version first. In principle, it works fine - at least the coordinates are stored in the image, plus all the corresponding data about the shooting angle is saved. However, it is clear that the main efforts of the developers are still focused on the version for Android - it is more functional and, how to say, more "polished". However, you can use the version for iOS, I did a geophoto on it all day - everything worked without any problems.


Photos with a diagram for iOS


Photos with a satellite for iOS

By the way, which is strange, my paid (Pro) version first worked for iOS with noticeable glitches. But then I deleted it and installed it again - it worked fine. Subtleties of working with the service Some users, studying how to work with the service, ask a question from the series: "Well, how is it, but if we do not have the Internet there, abroad, so why can't we make a photo without it?" Do it, of course! The essence of the service is that your communicator, using GeoCam, during shooting puts on the photo the required coordinates plus the azimuth and other data (at your discretion). After that, the photo can be sent to friends, uploaded to your computer, published in any social networks or on a special service www.geo-photo.net! Since the information during shooting is saved directly in the file itself, nothing else needs to be done and no Internet is required when shooting. The main thing here is to install the application on your Android phone or iPhone, after which the coordinates and shooting angle will be saved automatically, and where and in what you will later view the captured images is your business. Also, your friends, relatives and acquaintances will be able to view the sent photos. in any services that support receiving information from EXIF, and there are hundreds of such services. conclusions The service is very interesting and helpful. I tested it for about a week - I was very pleased. That on an android phone, that on an iPhone everything worked as expected, and I already started to compose a separate collection of geophotos for myself, which later, apart from the main collection, can be used as geo-referenced images. ... Photos with wired GPS data are great, but many users of the same social networks (and just my readers) have no idea how to get such information from the images I publish. And this is not their fault: my task is to provide a convenient opportunity to receive such data. What is needed for this? That's all: so that with the help of GeoCam I could prepare a photo for sending by mail or in social networks with geographic coordinates superimposed directly on the image - this is the easiest option. I talked with the developers, they said that this is all quite feasible and that in the next versions, such an opportunity will certainly appear. Yes, the service practically does not solve the problem of imposing geocoordinates on photographs taken not by a communicator, but by cameras. (It is possible, of course, for cameras that support Eye-Fi cards, to use Wi-Fi transmission of frames to a communicator with a GeoCam with subsequent binding to the area, but this is too haemorrhoid.) However, binding is usually required not for artistic photographs taken a DSLR or other high-quality photographic unit, but for purely reportage photography (from the series - here we live, here is a cool restaurant, here is a gorgeous view of the sea, here every day a blonde in a bikini sits almost without a bikini), for which modern communicators (smartphones) - just above the roof! So now, dear readers, when I publish a photo of something interesting on my blog, do not be lazy to look into EXIF ​​(I traditionally almost never erase this data) - most likely, there will be the GPS coordinates you are interested in, if the frame is made on the communicator. And now you don't have to ask me unnecessary questions about what kind of address it is, on what street, in what country, on what continent, what planet or galaxy. Provided, of course, that it was filmed in the same universe with you. But - try it yourself!

Geographic information systems are gradually entering everyday life.

Most mobile devices are equipped with GPS / GLONASS receivers. This allows developers to retrieve their users' path records (tracks). Tracks can be used for a wide range of tasks, from navigating the map and informing friends about the location to building traffic jams and predicting traffic situations.

Unfortunately, without additional processing, the user's track is not very informative, so the stage of linking external data and the internal map of the application is required. There are special map matching algorithms for this.

This article is devoted to the algorithm for linking the track to the road graph and the results of its application in the [email protected] project.

The algorithm in question processes the incoming track, receiving at the output a sequence of road graph edges, which, with their geometry, repeat the input data as closely as possible.

A road graph is one of the foundations of a geographic information application. It contains within itself all the information about the roads: from the type of coverage and the number of lanes to their geometry. There are several ways to represent a road graph in computer memory.

Consider the simplest option: a directed graph with nodes as intersections and edges as roads. This simplification makes it difficult to validate the rules road traffic, but facilitates further calculations. Roads with traffic in both directions in such a graph will be represented by a pair of edges. An edge is an indivisible unit of a path. However, an edge is a mathematical representation of a road. The actual location of the road on the map (a set of points-coordinates of the road) will be determined by a separate property of this edge of the graph, which we will call the geometry of the road.
A track is an ordered sequence of points containing some error. Because of this error, the point will almost never lie on the edge of the graph to which it is necessary to snap. According to the law of meanness for GPS data, the positioning error is less in an open field than in the city center. In other words, the arriving point can fall on an adjacent edge.

This is what one Moscow interchange looks like through the eyes of maps:

And this is how our users go along it, according to navigators:

Track binding process

To bind a track point to a graph, in the simplest case, you need to find the edges with the minimum distance from the edge to the point. Unfortunately, in practice (especially in the city center) a route tied in this way may turn out to be a set of unconnected edges. In order to improve the quality of anchoring, we will assume that the track is an ordered, purposeful movement of the user along the geometries of the edges of the graph. That is, the entire route runs along edges connected to each other. In this case, for each edge of the route, there can be several track points, or none.

Thus, since we refuse to take the edge closest to the point, we need to choose some other quantitative measure that would allow us to determine how the measured edge is suitable for snapping.

There are many factors that can be used when doing this:

  1. The distance from a point to the geometry of a graph edge. Estimates both the shortest distance and the likelihood that the receiver could make such an error.
  2. Coincidence of directions of movement. Estimates the angle between the vehicle motion vector and the direction of the edge geometry section to which the point is anchored. (This measure is resistant to GPS receiver bias, but is susceptible to random errors).
  3. Changing the direction of movement of the vehicle. The probability that the car will turn off the main road is generally less than the probability that it will continue to move along it (this minimizes the number of maneuvers).
  4. The physical ability to move from one edge to another (edge ​​reachability). Adequacy of the speed with which the car had to move in order to make this transition.
Based on these factors, a likelihood assessment formula is created. Frechet distance is used as one of such formulas. Simply put, this is the minimum required length of a dog's leash if the owner follows the road graph and his pet follows the GPS track. This estimate is guided only by the geographic distance of the track being laid.

To bind tracks in this article, we will use the evaluation formula for the incremental data binding algorithm (based on the work of S. Barcatsoulas).

This formula includes two main components: and.

The component takes into account the weighted distance from the track point to the edge and is calculated using the formula:

Where
are the scaling factors, and is the distance from the point p i to the geometry of the edge c j.

The component takes into account the angle between the direction of the edge geometry and the direction of the track:

Where
and are the scaling factors, and cos (α i, j) is the angle between the geometry of the ith edge of the graph and the direction of motion along the edge of the track
and are parameters that influence the significance of the constituents. For the algorithm, the values ​​of these parameters relative to each other are important - this determines which of the factors will have more weight when compared.

Parameters and affect the sensitivity to changes in the described factor.

After calculating the components, the final metric is calculated as:

The higher the number obtained in the end, the better the match between the track section and the edge.

Having in the arsenal the formula for the likelihood of the route being laid, we can describe the binding algorithm:

  1. Select all edges of the graph with geometry intersecting the delta neighborhood of the first point of the track;
  2. Evaluate all selected edges using a formula;
  3. Select the edge with the highest score. Make it current and add it to the finished route;
  4. If the point on the edge geometry closest to the track point is not at the end of the edge, then select the next track point. (If there are no more points, then snapping is complete);
  5. Select all outgoing from the current edges of the graph and the current edge;
  6. Go to 2;

Follow-up point counting strategy

The undoubted advantage of the chosen formula is the ability to assess the likelihood of binding to the graph not only for one point, but for the route as a whole. This can be used to implement a downstream strategy. If at the moment it is not the last point of the route that is snapped, then it is possible to calculate the estimates of snapping of the next points, provided that the route runs along the selected edge. After that, the sum of the likelihood estimates can be compared. This will allow avoiding errors at complex junctions and intersections, since the algorithm will select the edges taking into account the subsequent movement.

A little about performance

The task of linking a single track is not incredibly expensive, but in practice, rarely does anyone ever link a couple of tracks. As a rule, you need to manage to snap thousands of points per second. Therefore, you have to find a compromise between processing speed and track alignment accuracy. In the chosen algorithm, the performance is influenced by the number of estimated edges for each track point and the depth of the estimation of points "from the future". As practice has shown, in most cases, it is enough to take into account 2-3 subsequent points of the track to make the right decision about the behavior at intersections.

In fact, it is difficult to change the number of evaluated edges, since for high-quality snapping, after selecting the first edge, it is necessary to evaluate all outgoing edges. But you can ignore options with too low a likelihood score.

Outcomes

The implementation of the binding algorithm allowed the [email protected] project not only to start working with the data of mobile users, but also to quickly coordinate its own data with arbitrary systems. The use of the new binding subsystem allows for a minute on one server to recalculate tracks on your graph, containing up to 55 thousand points in total. Thanks to this, the display of data to users occurs as quickly as possible. The algorithm shows high-quality snapping even with one track point per three edges of the inner graph. However, the greatest efficiency of the described algorithm is achieved when linking long tracks with one or two points for each edge of the graph.

Related Literature

  1. “Map Matching. An Introduction ”Prof. David Bernstein, James Madison university.
  2. “On Map-Matching Vehicle tracking Data” Sotiris Bracatsoulas, Dieter Pfoser Randall Salas Carola Wank VLDB'05
  3. “Approximate Map Matching with respect to the Frechet Distance” Daniel Chen, Anne Driemel, Leonidas J. Guibas, Andy Nguyen, Carola Wenk. Stanford. 2011

Lev Dragunov, programmer at [email protected]

This F.A.Q. The article is intended to tell the reader how to enable the display of the location of the photo shooting on Android or to help set up the display of geotagging information on any photo taken from an Android smartphone / tablet.

Enabling this option will help to add the geographic coordinates of the location where the photo was taken that you want to upload to Vkontakte, Facebook, Instagram or another social network ...

This is exactly what a photo uploaded to the network looks like, which is "tied" by geotagging and "uploaded" to VK.

In order to enable the display of the location where the shooting was carried out, we will do a few simple steps to configure the system.

At the very beginning, you need to go to the "Camera" application on your mobile device and make sure that the function of adding shooting coordinates to photos is turned on:

Attention! If you start uploading the photographs taken after that to the Internet, then these coordinates of the shooting will become publicly available.

We're done with the camera settings. You can check the display of geotagging in the pictures. You need to view the information about the image in the "Location" section:

If the desired result is not achieved, then we do the following ...

It is necessary to check if access to the location is activated on the mobile Android device. To do this, go to the general "Settings", then select your own. Then we look for the section "Confidentiality" and go there.

It is there that we will find the item "Location access", you need to activate it. By doing this, we will allow all applications to receive data about our location or current geographic coordinates.

We also need to choose one of three location modes:

  • High accuracy. In this case operating system will use all available data from the GPS module, mobile and WLAN networks to obtain the most accurate coordinates. In this case, the battery power will be consumed relatively quickly.
  • Saves battery power. Here the smartphone or tablet will receive location information based on WLAN and mobile network (if available).
  • By device sensors. The latter option provides for the analysis of positioning data only from the GPS module.

The second way is probably the most optimal. Although, it may not work on tablets that are not mobile-friendly.

22.02.2012 46498

Simple georeference of photos - GeoCam service

Honestly, I have long been interested in the ability to automatically link photos to the geographical location where this photo was taken. And this is necessary for several reasons. Firstly, I often need it myself - well, you know, you take a picture of a nice restaurant, a shop, just an interesting place, and then you try to remember where it is all from the photo. It, of course, a restaurant can be found by name and city (if you can remember the city, which is not always possible after some restaurants), but in the case of shops and places without a name, it is somehow quite difficult. Secondly, it would be very useful to put GPS coordinates on some photos for blog reporting. And then it begins: you publish a photo (yes, the same restaurants that I like to study in terms of spiritual growth while traveling), and it begins - what address, what town, what country, what planet, what kind of galaxy ... Well, in thirdly, when you send your relatives-friends the data of my stay somewhere in the same Spain so that they can come, it is very convenient to throw a bunch of photos with coordinates and viewing angle: this way they perfectly represent the environment, study the area well, and get the required address. How to solve all these problems? Modern digital photos are almost always supplied with various metadata according to the EXIF ​​standard: this includes, for example, the name and model of the camera, date and time of shooting, shutter speed, aperture and other data, among which, by the way, there is also GPS data. That is, geographic coordinates can be recorded directly into the image. However, modern cameras rarely come with a GPS module that allows them to write coordinates into EXIF ​​data of the photos they take. (For some models, you can purchase separate GPS devices that fix the coordinates and transmit them to the camera wirelessly, but I have not held such devices in my hands yet, and some friends who tested something like this say that all this has been implemented quite crooked.) With communicators, of course, it's easier - almost all of them are equipped with a GPS module, and some of them (although, oddly enough, not all) are able to carry out geotagging - that is, write GPS coordinates into the data of photographs. that cameras with GPS, that communicators with GPS, recording coordinates in EXIF, do not determine and do not record the position of the camera in space - so that from the photograph it is possible to determine exactly from which point the picture was taken. I researched this issue, and it turned out that for Android and iOS devices there is a service that quite effectively solves the problem of recording geographic data and the angle of view of the lens in the images produced. This service is called GeoCam. It has free and paid versions for Android (free download, paid download), as well as free and paid versions for iPhone (free download, paid download).


GeoCam Apps Page

I downloaded the Android version, installed it (on Samsung Galaxy Note). I went to test. It all works as follows. Launch the application, the camera mode appears in the following form. Full screen - the image from the camera (it was not included in the screenshot) with the viewing angle of the lens. Top left - a piece of the terrain map from Google Map. On the top information panel - latitude, longitude and accuracy of determination. On the bottom information panel - viewing angle parameters: azimuth, inclination, roll.


Shooting mode

Click on the "shutter" of the camera - the image is saved together with all coordinates. If you click on the icon under the "shutter" icon, you will see the taken frame with all the data. Below is a photo, above is a piece of the map with a viewing angle. The map can be switched between satellite-scheme modes.


Photo and map in satellite mode


Photo and map in outline mode

There you can turn on the editing mode (also a map and a satellite), in which you can specify the position and viewing angle, if you need it for some reason.


Editing in outline mode


Editing in satellite mode

In all these modes, maps are scaled in the usual way for modern communicators - using icons or multitouch. Further it is important to understand the following thing. All information collected using GeoCam about geographic coordinates, azimuth, tilt and roll of the camera is recorded directly in the EXIF ​​image! GPS data is written into the standardized EXIF ​​field, and any program that understands EXIF ​​can get these parameters from there, and the additional fields that GeoCam enters into EXIF ​​(many programs make their own extensions to the standard EXIF ​​- this is quite allowed) can be read as special GeoCam applications and any other programs, the creators of which can work with this data using the downloadable EXIF ​​extension adopted by GeoCam. Thus, if the taken photo is - simply as it is - send somewhere (to the mail, to the device, to the social network), then there, at least, you can find out the GPS coordinates of the picture taken, and in addition, if you use special extensions, you can find out both the azimuth and the rest of the information that can be entered there - the photographer's notes, user comments, and so on.


File information with comments

You can send (transfer) a photo directly from the communicator. If you press the android button "menu", the following options will appear: send, create a report, delete. On the item send, these are the options.


Sending options

There are many options here, and they, of course, depend on the installed applications: mail, wireless networks, SMS, social networks, online services, other applications, etc. Only the image itself with the corresponding data hardwired into EXIF ​​will be transmitted. Report The second menu icon is a report. A PDF document is created as a report, which includes a photo, two options for the scale of the map scheme (you can also include a satellite) and all the information collected. The document can also be sent-forwarded anywhere or opened directly on the communicator. It looks something like this (clickable).


One photo report

Projects and Tags For the convenience of processing, the taken geophotos (photos created using this service) can be distributed among projects, as well as use special filters that relate to certain areas of the map - specific streets, cities, regions.


Projects


Filters

Photos can be spread across projects manually, indicating the project when shooting, and you can also bind a set of filters (continent, country, city, street, and so on) to the project, and then the captured photos will automatically be included in the desired project. , are interesting in that there you can select the required group of geophotos and display all survey points on one map. First, the necessary photos of one project are selected.


Photo of one project and menu


Selection of photos of one project

After that, the "View" button is pressed, after which, on the top image, GeoCam displays on the map (diagram or satellite) all the shooting points of the selected photos, between which you can switch. The map can be scaled accordingly.


All survey points in the diagram


All survey points on the satellite

Service www.geo-photo.net There is a special service www.geo-photo.net for posting geophotos taken online. Registration there is free, and on this site you can post your geophotos, dividing them into projects, and, if necessary, giving direct links for access to all interested parties. It's all simple. First, you register on the service (or simply log in using your Twitter, Facebook or Google account), after which you can upload images there directly from your communicator or from a computer where you need to upload a geophoto. photos, you can see two images of maps of different scales of the selected services: Google, Bing, Osm, Yandex - while display options for these services are available. Here's an example on Google (clickable).


My geophoto at Geo-Photo.net

GeoView service for Windows To obtain all data on a geophoto, you can also use a program under Windows - it is called GeoView (you can download it for free). The program works in almost the same way as the online version: geophotos are uploaded into it (from a communicator) and you can get one or two maps from any selected service of any scale (clickable).


GeoView

IOS application I tested how it all works under iOS. Checked out the free version first. In principle, it works fine - at least the coordinates are stored in the image, plus all the corresponding data about the shooting angle is saved. However, it is clear that the main efforts of the developers are still focused on the version for Android - it is more functional and, how to say, more "polished". However, you can use the version for iOS, I did a geophoto on it all day - everything worked without any problems.


Photos with a diagram for iOS


Photos with a satellite for iOS

By the way, which is strange, my paid (Pro) version first worked for iOS with noticeable glitches. But then I deleted it and installed it again - it worked fine. Subtleties of working with the service Some users, studying how to work with the service, ask a question from the series: "Well, how is it, but if we do not have the Internet there, abroad, so why can't we make a photo without it?" Do it, of course! The essence of the service is that your communicator, using GeoCam, during shooting puts on the photo the required coordinates plus the azimuth and other data (at your discretion). After that, the photo can be sent to friends, uploaded to your computer, published in any social networks or on a special service www.geo-photo.net! Since the information during shooting is saved directly in the file itself, nothing else needs to be done and no Internet is required when shooting. The main thing here is to install the application on your Android phone or iPhone, after which the coordinates and shooting angle will be saved automatically, and where and in what you will later view the captured images is your business. Also, your friends, relatives and acquaintances will be able to view the sent photos. in any services that support receiving information from EXIF, and there are hundreds of such services. conclusions The service is very interesting and helpful. I tested it for about a week - I was very pleased. That on an android phone, that on an iPhone everything worked as expected, and I already started to compose a separate collection of geophotos for myself, which later, apart from the main collection, can be used as geo-referenced images. ... Photos with wired GPS data are great, but many users of the same social networks (and just my readers) have no idea how to get such information from the images I publish. And this is not their fault: my task is to provide a convenient opportunity to receive such data. What is needed for this? That's all: so that with the help of GeoCam I could prepare a photo for sending by mail or in social networks with geographic coordinates superimposed directly on the image - this is the easiest option. I talked with the developers, they said that this is all quite feasible and that in the next versions, such an opportunity will certainly appear. Yes, the service practically does not solve the problem of imposing geocoordinates on photographs taken not by a communicator, but by cameras. (It is possible, of course, for cameras that support Eye-Fi cards, to use Wi-Fi transmission of frames to a communicator with a GeoCam with subsequent binding to the area, but this is too haemorrhoid.) However, binding is usually required not for artistic photographs taken a DSLR or other high-quality photographic unit, but for purely reportage photography (from the series - here we live, here is a cool restaurant, here is a gorgeous view of the sea, here every day a blonde in a bikini sits almost without a bikini), for which modern communicators (smartphones) - just above the roof! So now, dear readers, when I publish a photo of something interesting on my blog, do not be lazy to look into EXIF ​​(I traditionally almost never erase this data) - most likely, there will be the GPS coordinates you are interested in, if the frame is made on the communicator. And now you don't have to ask me unnecessary questions about what kind of address it is, on what street, in what country, on what continent, what planet or galaxy. Provided, of course, that it was filmed in the same universe with you. But - try it yourself!