int imgx=770; int imgy=540; void setup() { PShape mx = loadShape( "Municipalities_of_Mexico_(equirectangular_projection).svg" ); //shapeMode(CORNER); size(imgx,imgy); shape(mx,0,0,imgx,imgy); smooth(); noLoop(); plotAt(19.43333,-99.1333333,5); //DF plotAt(25.6666,-100.5, 5); //MTY plotAt(20.6666,-103.3333, 5); //GDL plotAt(32.534, -117.123,5); //Tijuana plotAt(21.227, -86.7199,5); //Isla Mujeres plotAt(14.5176, -92.2199, 5); //Sur plotAt(17.8212, -89.1551, 5); //Belice plotAt(20.7959, -90.4006, 5); //Campeche plotAt(25.9393, -97.1231, 5); //Tamps plotAt(29.8605, -102.2996, 5); //Coah Nte plotAt(31.7820, -106.5058, 5); //Chih plotAt(32.7125, -114.7015, 5); //Nte plotAt(22.8865, -109.9164, 5); //Cabos plotAt(20.6,-100.38333, 5); //Qro plotAt(16.85,-99.93333, 5); //Acapulco } void plotAt(float lat, float lng, float rad) { lng=-lng; //Si viene en long oeste int x = int( (117.271-lng)*770/(117.271-86.54) ); int y = int( (34.6586-lat)*540/(34.6586-13.064) ); println(x); println(y); fill(10,10,60,80); ellipse(x,y,rad,rad); }