User:Ucucha/Mapper

Mapper is a program that places markers on a map of Madagascar (File:Madagascar range map template.svg) from geographical coordinates. See User:Ucucha/mapper.php for the source.

Installation and use
Place the text of User:Ucucha/mapper.php in a directory with a copy of File:Madagascar range map template.svg named "Mada_temp.svg". Make sure the PHP file is executable (for example, using ). To use the program, type  and follow the instructions.
 * Color: in hexadecimal form (e.g., #afafaf). If no color is specified, #40a040 (dark green) is used.
 * Layer names: can be any string
 * Locality names: can be any string
 * Latitude and longitude: may be in decimal form (e.g., 13.140 and 45.273) or with minutes and seconds (written as "13 12 45.708" and "45 2 47.3").

The program does no meaningful input validation; meaningless input will likely produce meaningless output.

Methodology
The program uses the following formulas to translate geographical coordinates into map coordinates:

$$maplatitude = 35.38609001 * coordinate - 388.3345367$$

$$maplongitude = 34.79835974 * coordinate - 1402.352063$$

I derived these formulas by placing markers at four easily recognizable locations on the map, getting the coordinates for these markers from the SVG source file, and using OpenStreetMap to find the latitude and longitude for these locations. I then used linear regression to find the conversion formulas; both had r > 0.999.