Python utm.from 您所在的位置:网站首页 lat函数 Python utm.from

Python utm.from

2024-04-21 10:57| 来源: 网络整理| 查看: 265

本文整理汇总了Python中utm.from_latlon函数的典型用法代码示例。如果您正苦于以下问题:Python from_latlon函数的具体用法?Python from_latlon怎么用?Python from_latlon使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了from_latlon函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: circle def circle(latlng_origin=None, pid_origin=None, radius=15): """ Returns a validator function for a Panorama. which Returns True if the Panorama is inside a circle of the radius r around the center point latlng_0. :param latlng_0: tuple (lat, lng) - center GPS :param r: float - radius in meters :return: validator(panorama) - given Panorama it returns True if the Panorama is inside the circle """ if latlng_origin: (easting, northing, z_number, z_letter) = utm.from_latlon(latlng_origin[0], latlng_origin[1]) elif pid_origin: latlng_origin = Panorama(pid_origin).getGPS() (easting, northing, z_number, z_letter) = utm.from_latlon(latlng_origin[0], latlng_origin[1]) else: raise ValueError("One of the arguments 'latlang_origin' or 'pid_origin' must be given.") def isClose(p): ll = p.getGPS() (est, nth, zn, zl) = utm.from_latlon(ll[0], ll[1], force_zone_number=z_number) x, y = est-easting, nth-northing d = sqrt(x**2+y**2) return d < radius return isClose开发者ID:gronat,项目名称:streetget,代码行数:25,代码来源:validator.py 示例2: test_force_zone def test_force_zone(self): # test forcing zone ranges # NYC should be zone 18T self.assert_zone_equal(UTM.from_latlon(40.71435, -74.00597, 19, 'T'), 19, 'T') self.assert_zone_equal(UTM.from_latlon(40.71435, -74.00597, 17, 'T'), 17, 'T') self.assert_zone_equal(UTM.from_latlon(40.71435, -74.00597, 18, 'u'), 18, 'U') self.assert_zone_equal(UTM.from_latlon(40.71435, -74.00597, 18, 'S'), 18, 'S')开发者ID:TUFLOW-Support,项目名称:QGIS-TUFLOW-Plugin,代码行数:7,代码来源:test_utm.py 示例3: global_to_local def global_to_local(origin, lon, lat, heading=0.0): """ Converts from the WGS84 lon/lat global frame into the local frame in meters. Note that heading is in degrees! @param origin (lon, lat, heading) @return (x, y, theta) in WGS84 """ # Create local transformation frame. import utm ox, oy, zone, hemi = utm.from_latlon(origin[1], origin[0]) o_theta = (90 - origin[2]) * (math.pi/180.0) # Convert global point into local frame. px, py, zone, hemi = utm.from_latlon(lat, lon) p_theta = math.pi/2.0 - heading # Translate and rotate point to origin. point = shapely.geometry.Point(px - ox, py - oy) point = shapely.affinity.rotate(point, -o_theta, origin=ORIGIN, use_radians=True) theta = p_theta - o_theta # Return transformed point. return point.x, point.y, theta开发者ID:cephalsystems,项目名称:srr,代码行数:25,代码来源:util.py 示例4: test_from_latlon_range_checks def test_from_latlon_range_checks(self): '''from_latlon should fail with out-of-bounds input''' self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, -100, 0) self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, -80.1, 0) for i in range(-8000, 8400): UTM.from_latlon(i / 100.0, 0) self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, 84.1, 0) self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, 100, 0) self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, 0, -300) self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, 0, -180.1) for i in range(-18000, 18000): UTM.from_latlon(0, i / 100.0) self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, 0, 180.1) self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, 0, 300) self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, -100, -300) self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, 100, -300) self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, -100, 300) self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, 100, 300) # test forcing zone ranges # NYC should be zone 18T self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, 40.71435, -74.00597, 70, 'T') self.assertRaises(UTM.OutOfRangeError, UTM.from_latlon, 40.71435, -74.00597, 18, 'A')开发者ID:TUFLOW-Support,项目名称:QGIS-TUFLOW-Plugin,代码行数:25,代码来源:test_utm.py 示例5: optimize_rotate_UTMconvert def optimize_rotate_UTMconvert(angle,df,base): import numpy as np import math import utm from HCF_functions import rotate_xy import matplotlib.pyplot as plt sum = 0 pick = np.isfinite(df['gps_lat']) k = utm.from_latlon(df.loc[base]['y_working'],df.loc[base]['x_working']) x0 = k[0] y0 = k[1] for index, row in df[pick].iterrows(): i = utm.from_latlon(row['y_working'], row['x_working']) j = utm.from_latlon(row['gps_lat'], row['gps_lon']) gpsX, gpsY = j[0], j[1] newX, newY = rotate_xy(i[0],i[1],x0,y0, angle * math.pi / 180) a = newX - gpsX b = newY - gpsY c = np.square(a) + np.square(b) misfit = np.sqrt(c) misfit = np.sqrt(c) / row['gps_horiz_acc'] sum = sum + misfit # print angle, index, misfit plt.scatter(df['x_working'], df['y_working'], color='orange') print angle, sum return sum开发者ID:jasondec,项目名称:HCF_python,代码行数:28,代码来源:HCF_functions.py 示例6: box def box(latlng_origin=None, pid_origin=None, width=15, height=15): """ Returns a validator function of Panorama that returns True is the Panorama is inside a box of the size w,h around center point latlng_0. :param latlng_origin: tuple (lat, lng) - center GPS :param w: float - width in meters :param h: float - height in meters :return: validator(Panorama) - given a Panorama it returns True if the panorama is inside the box """ if latlng_origin: (easting, northing, z_number, z_letter) = utm.from_latlon(latlng_origin[0], latlng_origin[1]) elif pid_origin: latlng_origin = Panorama(pid_origin).getGPS() (easting, northing, z_number, z_letter) = utm.from_latlon(latlng_origin[0], latlng_origin[1]) else: raise ValueError("One of the arguments 'latlang_origin' or 'pid_origin' must be given.") def isClose(p): ll = p.getGPS() (est, nth, zn, zl) = utm.from_latlon(ll[0], ll[1], force_zone_number=z_number) x, y = est-easting, nth-northing return abs(x) < w/2 and abs(y) < h/2 return isClose开发者ID:gronat,项目名称:streetget,代码行数:26,代码来源:validator.py 示例7: distance_2d def distance_2d(lon1, lat1, lon2, lat2): ym1, xm1, _, _ = utm.from_latlon(lat1, lon1) ym2, xm2, _, _ = utm.from_latlon(lat2, lon2) arr1 = numpy.array((xm1, ym1)) arr2 = numpy.array((xm2, ym2)) dist = numpy.linalg.norm(arr1-arr2) return dist开发者ID:pollo,项目名称:categorizers,代码行数:9,代码来源:experiment6.py 示例8: latlon_to_meters def latlon_to_meters(coord_list, origin): # Convert coord_list to UTM coord_list[:] = [utm.from_latlon(*coord) for coord in coord_list] # Convert origin to UTM origin = utm.from_latlon(*origin) # Convert coord_list to meters relative to origin coord_list[:] = [(coord[0] - origin[0], coord[1] - origin[1]) for coord in coord_list]开发者ID:jkamalu,项目名称:agricopter,代码行数:10,代码来源:coordtransform.py 示例9: calc_utm_distance def calc_utm_distance(lat1, lon1, lat2, lon2): """ Returns distance in millimeters """ point1 = utm.from_latlon(lat1, lon1) point2 = utm.from_latlon(lat2, lon2) x = point2[1]-point1[1] y = point2[2]-point1[2] return 1000*math.sqrt(x*x+y*y)开发者ID:tlillis,项目名称:vidro,代码行数:11,代码来源:vidro.py 示例10: getPolygon def getPolygon(row,coordinateDir,coordinateFileName): polygonData = openCSVFile(coordinateDir+coordinateFileName) UTM1 = utm.from_latlon(float(polygonData[row][0]),float(polygonData[row][1])) UTM1 = [UTM1[0],UTM1[1]] UTM2 = utm.from_latlon(float(polygonData[row][2]),float(polygonData[row][3])) UTM2 = [UTM2[0],UTM2[1]] UTM3 = utm.from_latlon(float(polygonData[row][4]),float(polygonData[row][5])) UTM3 = [UTM3[0],UTM3[1]] UTM4 = utm.from_latlon(float(polygonData[row][6]),float(polygonData[row][7])) UTM4 = [UTM4[0],UTM4[1]] return Polygon([(UTM1[0],UTM1[1]),(UTM2[0],UTM2[1]),(UTM3[0],UTM3[1]),(UTM4[0],UTM4[1])])开发者ID:jrstromme,项目名称:CabSpotting,代码行数:11,代码来源:ShapelyRemoveOutsideSF.py 示例11: events def events(): """Gets isc data.""" missing_params = [] for p in ['lat', 'lon', 'distance', 'start', 'end', 'mag', 'catalog']: if p not in request.args: missing_params.append(p) if missing_params: return 'Missing parameters: {}'.format(','.join(missing_params)) start = datetime.datetime.strptime(request.args.get('start'), DATE_FORMAT) end = datetime.datetime.strptime(request.args.get('end'), DATE_FORMAT) time_delta = end - start logging.info('Start Time {}'.format(start)) logging.info('End Time {}'.format(end)) logging.info('Time Delta {}'.format(time_delta)) # Read the isc data. isc_data = isc.ReadISCData('gs://clouddfe-cfs/isc', request.args.get('catalog'), start, abs(time_delta.days), (long(request.args.get('lat')), long(request.args.get('lon'))), int(request.args.get('distance'))) # Prepare the ISC data by: # 1) Filtering out magnitude events smaller than specified. # 2) Projecting the lat/lon to UTM. ret = [] _, _, num, let = utm.from_latlon(float(request.args.get('lat')), float(request.args.get('lon'))) proj = lambda lat, lon: utm.from_latlon(lat, lon, num)[0:2] mag = float(request.args.get('mag')) num_filtered = 0 for data in isc_data: if data['magnitude'] < mag: num_filtered += 1 continue x, y = proj(data['lat'], data['lon']) ret.append({ 'lat': data['lat'], 'lon': data['lon'], 'utm_x': x, 'utm_y': y, 'depth': data['depth'], 'mag': data['magnitude'], 'date': data['date_time'].isoformat(' '), # YYYY-MM-DD HH:MM:SS }) logging.info('Filtered (%d) ISC events due to magnitude', num_filtered) if 'callback' in request.args: return '{}({})'.format(request.args.get('callback'), json.dumps(ret)) return json.dumps(ret)开发者ID:google,项目名称:stress_transfer,代码行数:54,代码来源:main.py 示例12: get_distance def get_distance(origin_lat, origin_lng, dest_lat, dest_lng): xy = utm.from_latlon(origin_lat, origin_lng) # convert origin from lat-lng to xy originXY = point(float(xy[0]), float(xy[1])) xy = utm.from_latlon(dest_lat, dest_lng) # convert destination from lat-lng to xy destinationXY = point(float(xy[0]), float(xy[1])) distance = math.sqrt((originXY.x - destinationXY.x) ** 2 + (originXY.y - destinationXY.y) ** 2) res = [(destinationXY.x - originXY.x) * 4, (destinationXY.y - originXY.y) * 4] # print res return res # return the distance vector开发者ID:hyperchris,项目名称:LogoDetector,代码行数:11,代码来源:gps_dist.py 示例13: calc_utm_distance def calc_utm_distance(lat1, lon1, lat2, lon2): """ Returns distance in millimeters This is not currently used in any of the code. Left for now in case needed """ point1 = utm.from_latlon(lat1, lon1) point2 = utm.from_latlon(lat2, lon2) x = point2[1]-point1[1] y = point2[2]-point1[2] return 1000*math.sqrt(x*x+y*y)开发者ID:tlillis,项目名称:vidro,代码行数:12,代码来源:vidro.py 示例14: calc_list_core def calc_list_core( l_points, EP, func_fretch ): npos1 = 0 npos2 = 0 npos3 = 0 list_count = len(l_points) ret_list = {} ret_list[3]=[] ret_list[5]=[] while npos1 < list_count - 2: try: la1, lo1, dis1 = func_fretch(l_points[npos1]) npos1 = npos1 + 1 if not la1 or not lo1 or not dis1: continue u1 = utm_point(*utm.from_latlon(la1,lo1), r=int(dis1)) except Exception as e: continue npos2 = npos1 while npos2 < list_count - 1: try: la2, lo2, dis2 = func_fretch(l_points[npos2]) npos2 = npos2 + 1 if not la2 or not lo2 or not dis2: continue u2 = utm_point( *utm.from_latlon(la2,lo2), r=int(dis2)) except Exception as e: continue s, p1, p2 = calc_cross_point(u1, u2) if not p1 or not p2: continue npos3 = npos2 while npos3 < list_count: try: la3, lo3, dis3 = func_fretch(l_points[npos3]) npos3 = npos3 + 1 if not la3 or not lo3 or not dis3: continue u3 = utm_point( *utm.from_latlon(la3,lo3), r=int(dis3)) except Exception as e: continue ret, level = calc_list_core_cross_point(s, p1, p2, u3, EP) if ret: return ret, level return None, 0开发者ID:johnzhd,项目名称:gpsmap,代码行数:52,代码来源:calc_postion.py 示例15: calc def calc( latitude1, longitude1, r1, latitude2, longitude2, r2, latitude3, longitude3, r3, EP = global_EP): try: u1 = utm_point( *utm.from_latlon(latitude1,longitude1), r=r1) u2 = utm_point( *utm.from_latlon(latitude2,longitude2), r=r2) u3 = utm_point( *utm.from_latlon(latitude3,longitude3), r=r3) except Exception as e: return None pr = calc_distance_utm(u1,u2,u3, EP) if pr: latitude, longitude = utm.to_latlon(pr.x, pr.y, pr.zone, pr.mark) return latitude, longitude, pr.r return None开发者ID:johnzhd,项目名称:gpsmap,代码行数:15,代码来源:calc_postion.py

注:本文中的utm.from_latlon函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有