Map Annotation 1.5.4
english
français
last update / dernière mise à jour :
08-Feb-2004
Map Annotation 1.5.4 - Freeware
WHAT IS MAPANNOT?
Map Annotation is a small utility capable of doing simple geometric constructions
over a digital map. It speaks english and you can use any (road, geographical...)
map with it. It started off intending to help treasure hunters...
FEATURES (new features since v1.5.3)
- Map format: JPEG and PNG; grayscale or RGB. Paletted images will be
handled as grayscale.
- Map configuration: automatic or manual (see
below for manual configuration).
- Vector graphics; ability to draw a:
- point,
- midpoint of a segment,
- line segment,
- point to point line,
- line perpendicular to another one and going through some point,
- line parallel to another one and going through some point,
- vertical/horizontal line going through some point,
- midperpendicular of a segment,
- tangent line to a circle going through some point,
- line going through a point given another line and an angle,
- circle centered on a point and going through another one,
- circle centered on a point and of given radius,
- circle passing through 3 points,
- circle given it's diameter (2 points).
- Additionnaly, you can:
- change color and line width,
- erase an object,
- measure the distance between two points,
- measure the distance from a point to a line or circle,
- measure the angle between 2 lines (updated),
- read a circle's radius or a line segment's length.
- Saving/loading of your constructions.
- Windows and Linux versions. Source code freely available. Compatible with
Qt 3.x.
CONFIGURATION
A copyright-free map (testmap.jpg) is given in the distribution package as
an example. Of course, you'll quickly want to use your own ! You'll need either:
- to digitalize one using a scanner,
- to get one already digitalized (Internet...).
Then, use the "Option/Load map image" menu to pick the file. After
loading (processing a big RGB image may take a few minutes), you'll be prompted
for the pixel to meters ratio (i.e. how many meters
a pixel on the image represents). The easiest (but less precise) way of setting
it is to click on the "Auto Compute" button, then follow the instructions.
That's all folks !
Configuration (current map file name and its ratio) is saved at exit.
While doing this, please bear in mind that you must own the paper-version
of the digital map you're using. Think about copyright...
USE
- To zoom in/out, use the mouse wheel, or +/- keys or the "Zoom"
menu. Mouse wheel is much better, as the view is centered where the mouse
pointer is.
- You can save/load geometric constructions using the File menu.
- Drawing: (using left mouse button)
- Select a drawing tool (pick one from the toolbar),
- Then, follow the instructions in the window's status bar,
- To cancel the current operation, do a right click.
- An example :
- Select the Circle/Point-Radius tool (that's the second leftmost toolbar
button),
- The status bar says "Pick the center on the map". When you
click on the map, you'll point at the center of the circle that's going
to be created. (you don't need to have created a point object before).
- Do it ! Point at the center...
- An input dialog then prompts you for "the radius in kilometers".
Enter for instance 20. Press "Ok". And voila !
PIXEL TO METERS RATIO
That's simple maths and a zest of proportionality... If you're okay to lose
some precision, just use the automatic setting.
- You need to compute this ratio for every map you want to use in mapannot.
Don't reuse ratios between maps, unless you've understood what it is !!
- Let's consider two distinct towns (town A and town B) on the map. First,
you measure their distance on the real (paper) map with a ruler. For instance
you measure 8.7 cm. Then, using the scale of the map (let's say 1/1,000,000),
you get the distance between the two towns in meters. Let's call it
D.
In my example, that's 8.7*1,000,000 cm = 87,000 meters.
- Now, you take your favourite picture editor and you look at the coordinates
of A and B in pixels on the digitalized (same!) map. Let's say A is at (Ax=1205,
Ay=1655) and B at (Bx=1103, By=1796).
Now compute d = SquareRoot(Square(Ax-Bx) + Square(Ay-By))
That's the distance in pixels between the two towns.
In my example we have d = 174.025 pixels
If you're lost here, you'd better take a piece of paper and figure it out
yourself ;)
- So now we know that D meters are equivalent to d pixels... Our pixel to
meters ratio is therefore the ratio D/d
In my example, again, we get 87000/174.025 = 499.9
NON METRIC SYSTEM USERS
Of course, nothing prevents you from using a mile and a thousandth of a mile
instead of kilometer and meter. You can enter exactly what you want (and what
has a meaning to you) during the ratio config...
KNOWN ANOMALIES
- When zooming in, some objects disappear.
That's a known bug. It happens when you change the object width. It's
Qt's fault, sorry.
- Loading a big RGB image (png or jpeg) takes a long time.
Actually, loading is quite fast, but then mapannot generates zoomed-out images
and if your system has less free RAM than needed, this process will be sloooow,
due to memory swapping.
How much RAM does it need ? For a grayscale image, that's WIDTH * HEIGHT *
4/3 bytes. For a RGB image, that's WIDTH * HEIGHT * 4 * 4/3 bytes. For instance,
a 6000x6000 RGB image takes 183Mb.
In conclusion, use RGB images sparingly.
- The pixel to meters ratio prompt says "989maxi : 169meters; 989mini
: 500; testmap : 1744". What's that ?
These are values for some well known maps. testmap.jpg 's ratio is 1744. If
you've never heard about map 989, then the two other values are worthless.
- What if I enter a wrong pixel to meters ratio ?
Distance measurement tool won't work properly. Neither will the Circle/Point-radius
tool.
- Point objects are mostly useless.
I know ! But why getting rid of something so easy to implement ?
- I build a perpendicular and the result doesn't look perpendicular on
my screen !
Blame your monitor for that.
DISCLAIMER
This software is Freeware : it cannot be sold. Never.
If this software doesn't work, don't blame the author; just tell him friendly
;)
This software shouldn't be distributed along with illegal material (digitalized
maps...).
The map testmap.jpg in the distribution package comes form the french Institut
Geographique National (http://www.ign.fr).
They set it free of rights.
It uses the Independent JPEG Group's libjpeg version 6b (ftp://ftp.uu.net/graphics/jpeg/)
and non commercial Qt version 2.3 (http://www.trolltech.com)
under Windows.
It's packed using UPX (http://www.oberhumer.com/opensource/upx/).
CONTACT
Web site: http://mapannot.sourceforge.net/
Author: Marc Madaule
Bugs, suggestions and questions to mapannot@gmail.com
Map Annotation 1.5.4 - Freeware
QU'EST CE QUE C'EST, MAPANNOT?
Map Annotation est un logiciel pour faire des constructions géométriques
simples sur une carte numérisée. Vous pouvez utiliser n'importe
quelle carte (plan routier, géographique...).
Pour la petite histoire, il a été réalisé pour
faire les tracés de la chasse au trésor "la chouette".
Il permet de ne pas abimer la carte papier au fil des tracés. Il est
en anglais, mais ne devrait pas poser de problème aux francophones.
FONCTIONNALITES (nouveautés depuis la v1.5.3)
- Format de la carte: JPEG et PNG; en niveaux de gris ou RGB. Les images
à palette seront traitées en niveaux de gris.
- Configuration de la carte: automatique ou manuelle
(configuration manuelle).
- Construction géométriques vectorielles:
- point,
- point milieu d'un segment,
- segment d'un point à un autre,
- ligne d'un point à un autre,
- ligne perpendiculaire à une autre passant par un point donné,
- ligne parallèle à une autre passant par un point donné,
- verticale/horizontale passant par un point,
- médiatrice d'un segment défini par deux points,
- tangente à un cercle passant par un point,
- ligne faisant un angle donné avec une autre ligne,
- cercle de centre donné et passant par un point donné,
- cercle de centre et rayon (en km) donnés,
- cercle passant par 3 points,
- cercle étant donné un diamètre (par 2 points).
- Mais aussi:
- choisir les couleurs/épaisseur de trait,
- effacer un objet,
- mesurer la distance entre 2 points sur la carte,
- mesurer la distance d'un point à une droite ou un cercle,
- mesurer l'angle entre deux lignes (modifié),
- lire le rayon d'un cercle ou la longueur d'un
segment.
- Sauvegarde/restauration des constructions géométriques.
- Versions Windows et Linux. Code source disponible gratuitement. Compatible
avec Qt 3.x.
CONFIGURATION
Une carte libre de droits (testmap.jpg) est fournie avec le logiciel pour
exemple. Bien sûr, vous voudrez rapidement utiliser votre propre carte
! Il vous faudra:
- soit en scanner une vous-même,
- soit en trouver une déjà scannée (sur Internet...).
Ensuite, utilisez le menu"Option/Load map image" pour choisir l'image.
Après chargement (pour un gros fichier RGB, ça peut prendre
plusieurs minutes), on vous demandera le ratio mètres
par pixels (combien de mètres sur le terrain vaut un pixel de l'image).
La manière la plus simple de l'obtenir (mais également la moins
précise...), c'est de cliquer sur "Auto Compute" et de suivre
les indications. C'est tout !
La configuration (carte courante et son ratio) est sauvée à
la sortie du programme.
Bien entendu, vous devez posséder la version papier de toute
carte que vous utilisez dans Mapannot. Pensez aux droits d'auteur...
UTILISATION
- Pour zoomer/dézoomer, utilisez la molette de la souris, les touches
+/- ou le menu "Zoom". La molette de la souris est plus pratique
car la vue est centrée sur le pointeur de la souris.
- Sauvegarde et ouverture d'une construction : utilisez le menu "File".
- Dessiner: (avec le bouton gauche de la souris)
- Sélectionnez un outil de dessin (dans la barre d'outils),
- Puis suivez les instructions apparaissant dans la barre de status,
- Pour interrompre l'opération en cours, cliquez avec le bouton
droit.
- Exemple :
- Sélectionnez l'outil Cercle/Point-Rayon (second bouton à
gauche dans la barre d'outils),
- La barre de status indique "Pick the center on the map" (désignez
le centre sur la carte). En cliquant sur la carte, vous désignerez
le centre du cercle qui va être créé (vous n'avez
pas besoin de créer un objet "Point" au préalable).
- Allez-y, cliquez à l'endroit où vous voulez placer le
centre...
- Une boite de dialogue vous demande alors le "radius in kilometers"
(rayon en kilomètres). Entrez la valeur que vous voulez.
Validez. Le cercle apparait.
RATIO METRES PAR PIXEL
Un peu de maths niveau seconde et un zeste de proportionalité... Pour
faire simple, vous pouvez utiliser la fonction de calcul automatique (vous
aurez alors besoin seulement d'une distance mesurée sur la carte papier).
- Il vous faut calculer ce ratio pour chaque carte que vous voulez
utiliser avec mapannot. Ne réutilisez pas un ratio d'une carte à
l'autre, sauf si vous avez compris à quoi ça correspond !!
- Considérez deux villes (ou points remarquables) distinctes sur la
carte (ville A et ville B). Tout d'abord, mesurez la distance qui les sépare
sur la (vraie) carte papier à l'aide d'une règle. Par exemple,
disons que vous mesuriez 8,7 cm. Ensuite, à l'aide de l'échelle
de la carte (par exemple 1/1.000.000), vous obtenez la distance sur le terrain
entre ces deux villes, en mètres. Appelons cette distance D.
Dans mon exemple, j'obtiens 8.7*1.000.000 cm = 87.000 mètres.
- Maintenant, prenez un éditeur d'images (Paint, Paint Shop Pro, Photoshop...)
et notez les coordonnées en pixels de ces villes sur la version scannée
de cette carte. Disons par exemple que vous obteniez A à (Ax=1205,
Ay=1655) et B à (Bx=1103, By=1796).
Calculez d = RacineCarrée(Carré(Ax-Bx) + Carré(Ay-By)).
C'est la distance en pixels entre les deux villes sur la carte scannée.
Dans mon exemple, j'obtiens d = 174,025 pixels.
C'est pas vraiment compliqué à faire et en plus, je vous donne
la recette. Courage ;)
- On sait donc maintenant que D mètres sont équivalents à
d pixels... Notre ratio mètres par pixel est donc D/d.
Toujours dans mon exemple, j'obtiens 87000/174,025 = ratio = 499,9
PROBLEMES CONNUS
- En zoomant, certains objets disparaissent.
C'est un bug connu. Cela se produit lorsque l'épaisseur de l'objet
a été changée. C'est la faute de Qt, désolé.
- Le chargement d'une grosse image RGB (png ou jpeg) prend plusieurs minutes.
En fait, le chargement en lui même est assez rapide, mais mapannot génère
ensuite des versions miniatures de la carte et si votre système a moins
de RAM que nécessaire, ca risque d'être lent (swap disque).
Combien de RAM est nécessaire ? Pour une image en niveaux de gris,
c'est LARGEUR * HAUTEUR * 4/3 octets. Pour une image RGB, c'est LARGEUR *
HAUTEUR * 4 * 4/3 octets. Par exemple, une image RGB de 6000 pixels par 6000
pixels demande 183 Mo.
En conclusion, utilisez des images RGB avec parcimonie.
- La boite de dialogue demandant le ratio mètres par pixel indique
"989maxi : 169 meters; 989mini : 500; testmap : 1744". Qu'est-ce
que c'est ?
Ce sont les ratios pour des cartes connues. Le ratio de testmap.jpg est 1744.
Si vous n'avez jamais entendu parler de la carte 989, les autres valeurs vous
sont inutiles.
- Que se passe-t-il si j'entre un mauvais ratio mètres par pixel
?
L'outil de mesure de distance ne fonctionnera pas bien. La construction de
cercle connaissant le centre et le rayon non plus.
- L'outil de construction de point ne sert pas à grand chose...
Je sais ;)
- J'ai construit une perpendiculaire, et elle n'a pas l'air si perpendiculaire
que ça sur mon écran !
Cela dépend des réglages de votre moniteur.
LICENCES
Ce logiciel est Freeware : entièrement et en toutes circonstances
gratuit.
Ce logiciel ne marche pas bien ? A qui la faute ? Pas à moi ! Je répète,
Pas à moi !
Il ne faut pas le distribuer avec des fichiers illégaux (cartes numérisées...).
La carte testmap.jpg fournie provient du site de l'Institut Geographique National
(http://www.ign.fr) français. Elle
est libre de droits.
Ce logiciel utilise la librairie libjpeg (version 6b) du Independent JPEG
Group (ftp://ftp.uu.net/graphics/jpeg/)
et la version non-commerciale de Qt (version 2.3) (http://www.trolltech.com)
sous Windows.
Il est compressé avec UPX (http://www.oberhumer.com/opensource/upx/).
CONTACT
Site web: http://mapannot.sourceforge.net/
Auteur: Marc Madaule
Bugs, suggestions et questions à mapannot@gmail.com