/// <summary> /// /// </summary> /// <param name="positions"></param> /// <param name="lats">左下 右下 左上 右上</param> /// <param name="lons">左下 右下 左上 右上</param> private static void GetPosition(byte[] positions, out float[] lats, out float[] lons) { lats = new float[4]; lons = new float[4]; byte[] lon = new byte[4]; byte[] lat = new byte[4]; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { lat[j] = positions[j + 8 * i]; lon[j] = positions[j + 4 + 8 * i]; } lats[i] = ToLocalEndian.ToFloatFromBig(lat); lons[i] = ToLocalEndian.ToFloatFromBig(lon); } }
private void ExtractLatAddLonInfo(byte[] geoInfo, out double[] lats, out double[] lons) { byte[] lon = new byte[4]; byte[] lat = new byte[4]; lons = new double[51]; lats = new double[51]; int pt = 0; for (int j = 0; j < 51; j++) { for (int k = 0, i = 4; i < 8 && k < 4; i++, k++) { lon[pt] = geoInfo[i + 8 * j]; lat[pt++] = geoInfo[k + 8 * j]; } pt = 0; lons[j] = (float)(ToLocalEndian.ToFloatFromBig(lon)); lats[j] = (float)(ToLocalEndian.ToFloatFromBig(lat)); } }