UTM Building Bytes for tally() in SANb.c  Scripps
xml1() xm[0],ym[1] =
nwxm0,nwym0
^ <dxg0> utmexm[0] = 700m +
 0,0 ^ 
  d = utmnym[1] =350m 
  y 
  g utme,utmn t
  0 o y ym[1]nwym0
  G0 Ground Zero 0
  
  
  
  tx0=xm[0]nwxm0 xm[0],ym[1]  xm[1],ym[1]
 +o+
  dx_d 
 1__________2 iyt /<======<====by  ^
   /   dym
  Building  /  Tile # 
  x[],y[n] /  xmid,ymid 
    
 __________ iyb  dxm >
 0 3 ____________
 ixmin ixmax xm[0],ym[0] xm[1],ym[0]


!
We want a coordinate system, that when the G0 building is reached, we have the building center
coordinate as 0,0. However, the initial coordinate system's origin should be an intermediate
point between G0 and any building 'b'. The choice is to use the NW corner's initial (G0) tile
seen as nwxm0,nwym0. After we find this initial tile that contains ground zero, we pass through
xml1() and hold xm[0] by nwxm0 and ym[1] by nwym0. Anywhere FROM this NW corner inside the initial
tile is SE so nwxm0 is always + and nwym0 always .
Now lets assume the building is the G0 building (o). The building's 4 corners ix,iy's are indicated
ixmin,ixmax,iyt & iyb. After correcting for the cell size's (cs), we might end up with 600,800,200,500
respectively. That is, the rectangle surrounding the G0 building is 200' wide (EW), 300' long (NS).
However, we process based on the NW corner's initial tile coordinate system first so that would be
x[0]=x[1]=600,x[2]=x[3]=800, y[1]=y[2]=200 & y[0]=x[3]=500 as seen below:
600 800
1__________2 iyt ?200
  Here, iyb is the bottom (ix) but it's value > iyt. So, to keep the
  initial NW tile's NESW coordinate system going, we need the y distance
 700,350  from the N, so we should have y[1]=y[2]=200 & y[0]=x[3]=500 as now
 +  the mid y (+) 350 matches. So ?=. Now now we shift from the initial
dxg0,dyg0  NW tile's coordinate system to the G0 coordinate system in tally() so in
  SANxb18b.c x,y = dx,dy from G0 with smaller values to rotate around G0.
__________ iyb ?500 That is, we want the difference between point G0 and the 4 corners of 'o',
0 3 as long as they are in the same coordinate system, regardless of it's
ixmin ixmax same origin. So here, new x[]'s=dxg0old x[]'s, y[]'s=dyg0old y[]'s.
x[n],y[n] x[01]=600dxg0,x[23]=800dxg0 and y[0&3]=500dyg0,y[12]=200dyg0.
The final coordinates of the G0 building's surrounding corners FROM G0 are x[0]=x[1]=100, x[2]=x[3]=+100,
y[0]=y[3]=150, y[1]=y[2]=+150 with center (+) = dxg0,dyg0dxg0,dyg0 = 0,0.
Then for any other tile, we add the tx0,ty0 distance FROM the NW corner of the initial tile to this next tile by
tx0,ty0 which both can be any sign +,. That is, tx0=xm[0]nwxm0 & ym[1]nwym0 as seen above. Finally, the total
distance (range) FROM G0 to the building corners is rngx,rngy = bdxdxg0+tx0, rngy=bdydyg0+ty0 where bdx,bdy is
the midpoint of the scaled and sign corrected building corners x[n],y[n].
Then range rng=(rngx^2 + rngy^2)^1/2 in m, x fpm in '.
** We must change ?= to a + by (y[n]) back again for GridScreen Coord in utmll(),pcx() after use in tally(). **
We want to eliminate those buildings > 5.25 mi = 8400m = 27720'. However for 27720 > +27720 = 55,440 < 65,535
(2 bytes). This must be done before the tally() because buildings > 65,535', start at 0 again and would be included.
So our bias correction factor should be +27720 to keep 27720 @ 0. We could use a higher rounded 30,000 so even
+27720=57,720 still < 65,535. Since the max possible dx,dy = 2048, then +57,720 = 59768 still < 65,535. Since we
include the ix's & iy's in building corner ranges, we don't need both NW Tile Corners now but the 4 x,y mins & maxes.
This puts us back to 21(2x2) = 17 bytes. However, we have 300 type 2's and 820 Type 1's tiles so our 1st byte,
tile # must be increased from 1 to 2 bytes for a total 18 bytes. The xmin building corner would be
bb18((int) (x[0]dxg0+.5 + tx0 + 30000)) with the other x,y mins & maxes following suit.
For SAN, dxg0=53.4', dyg0=553.9' @ One America Plaza determined manually by using ruler tool in Google Earth
on the initial tile when found. Everything seems fine except for this last statement  a problem. The G0 tile
is not in a Scripps' UTM's but in the State Plane '. We have 300 Type 2's and 820 Type 1's State Planes.
We have to change the G0 initial tile's nwxf0,nwyf0 to nwxm0,nwym0 by llutm4.c. We would do this manually 1
time for the NW corner. Here, nwxm0=UTME=484177.31 & nwym0=UTMN=3619180.97 but for Corpscon 6.0.1, nwxm0=484178.65
& nwym0=3620000.73. Checking 000006.xml, converting their NW's corner Lat/Lon to UTM by Corpscon 6.0.1, we were only
off by < .5 m by their UTM NW corner also in 000006.xml.