Ok, so I usually run my station with coordinate system UTM, since that's what I like to use most often. But sometimes I need to switch to Lat/Lon in DMS or DDMM.MM format when working with some groups who need things that way.
I just this moment noticed something truly bizarre about how Xastir displays the screen extents in its map border (enabled with Map->Enable Map Border and Enable Map Grid). With UTM, the extents appear to be displayed correctly, but with lat/lon the extents displayed are both (roughly) the coordinates of the lower right corner. See for example these two screen shots, which differ only by the setting of coordinate system: http://www.swcp.com/~russo/imgs/utm.jpg http://www.swcp.com/~russo/imgs/ll.jpg Note that the lat/lon coordinates displayed for upper left corner are the same as the lat/lon coordinates for the lower right. That's just plain wrong. What's puzzling, though, is the code for this, in maps.c: // Put metadata in top border. // find location of upper left corner of map, convert to Lat/Long convert_lon_l2s(xx2, grid_label1, sizeof(grid_label1), coordinate_format ); convert_lat_l2s(yy2, grid_label2, sizeof(grid_label2), coordinate_format ); xastir_snprintf(grid_label, sizeof(grid_label), "%s %s", grid_label1,grid_label2); // find location of lower right corner of map, convert to Lat/Long convert_lon_l2s(xx2, grid_label1, sizeof(grid_label1), coordinate_format ); convert_lat_l2s(yy2, grid_label2, sizeof(grid_label2), coordinate_format ); Note that both sets of "convert_lon_l2s" are working on the same pair of coordinates, xx2 and yy2, with nothing intervening to change them. In earlier code we have: // Find xastir coordinates of upper left and lower right corners. xx = NW_corner_longitude + (border_width * scale_x); yy = NW_corner_latitude + (border_width * scale_y); xx2 = NW_corner_longitude + ((screen_width - border_width) * scale_x); yy2 = NW_corner_latitude + ((screen_height - border_width) * scale_y); It *looks* like the two pairs of convert_lon_l2s should be working on xx,yy and xx2,yy2 instead, but that doesn't explain at all how the UTM version of this code actually produces a banner at the top that is correct. They should all be wrong. Can anyone spot what's going on here? -- Tom Russo KM5VY SAR502 DM64ux http://www.swcp.com/~russo/ Tijeras, NM QRPL#1592 K2#398 SOC#236 AHTB#1 http://kevan.org/brain.cgi?DDTNM "It's so simple to be wise: just think of something stupid to say and then don't say it." --- Sam Levinson _______________________________________________ Xastir mailing list [email protected] http://lists.xastir.org/cgi-bin/mailman/listinfo/xastir
