Ho una mappa da qui . Voglio essere in grado di convertire semplicemente coppie lon / lat arbitrarie in pixel sulla mappa (anche la possibilità di fare la conversione inversa). Le mappe vengono fornite con il file .tfw e le informazioni di proiezione, eccole:
0.02222222222222
0.00000000000000
0.00000000000000
-0.02222222222222
-180.00000000000000
90.00000000000000
e informazioni sulla proiezione:
Projection: Plate Carree aka Geographic or "LatLong"
Earth ellipsoid: Sphere, radius 6370997 m
Datum: WGS84
Extent: 180 West to 180 East, 90 North to 90 South
Size: 16,200 height samples wide x 8,100 high
Resolution: 2.47 km/pixel
Sono completamente nuovo alle cose relative alla cartografia e, per quanto ho capito, dovrei prima fare la trasformazione da WGS84 (coppia lon / lat) a proiezione geografica (non sono gli stessi?). Mi sembra che siano gli stessi, in realtà, ma il raggio della sfera nelle informazioni di proiezione sopra è 6370997 ed è diverso dalla pagina spatialreference.com che ho trovato per la proiezione di Plate Carree. Comunque, ho trovato la libreria DotSpatial.Projections in grado di fare questo per me, con il seguente codice:
var kievCoordinates = new[] { 50.4546600, 30.5238000 };
var z = new[] { 1.0 };
var wgs84 = KnownCoordinateSystems.Geographic.World.WGS1984;
var dest = new ProjectionInfo();
dest.ParseEsriString(
"PROJCS[\"WGS 84 / Plate Carree (deprecated)\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137,298.257223563]],PRIMEM[\"Greenwich\",0],UNIT[\"Degree\",0.017453292519943295]],PROJECTION[\"Equidistant_Cylindrical\"],PARAMETER[\"central_meridian\",0],PARAMETER[\"false_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"Meter\",1]]");
Reproject.ReprojectPoints(kievCoordinates, z, wgs84, dest, 0, 1);
E poi devo tradurre le coordinate risultanti in pixel sulla mappa usando il file world. Sono a conoscenza della seguente formula:
Ma sembra che ci siano gradi non metri nel file mondiale e non so cosa farne. In generale, sto facendo le cose giuste? O c'è un modo più semplice, dati i miei dati?