Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
7b6db8ee
A
apollo
项目概览
Pinoxchio
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7b6db8ee
编写于
10月 17, 2018
作者:
J
jiangyifei
提交者:
Jiangtao Hu
12月 13, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
navigator: added point utils.
上级
82e14c4e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
69 addition
and
0 deletion
+69
-0
modules/tools/navigator/dbmap/libs/__init__.py
modules/tools/navigator/dbmap/libs/__init__.py
+0
-0
modules/tools/navigator/dbmap/libs/point.py
modules/tools/navigator/dbmap/libs/point.py
+69
-0
未找到文件。
modules/tools/navigator/dbmap/libs/__init__.py
0 → 100644
浏览文件 @
7b6db8ee
modules/tools/navigator/dbmap/libs/point.py
0 → 100644
浏览文件 @
7b6db8ee
#!/usr/bin/env python
###############################################################################
# Copyright 2018 The Apollo Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
###############################################################################
import
pyproj
import
math
class
PointUtils
:
"""point utils"""
@
staticmethod
def
utm2latlon
(
x
,
y
,
zone
):
"""utm to latlon"""
proj
=
pyproj
.
Proj
(
proj
=
'utm'
,
zone
=
zone
,
ellps
=
'WGS84'
)
lon
,
lat
=
proj
(
x
,
y
,
inverse
=
True
)
return
lat
,
lon
@
staticmethod
def
latlon2utm
(
lat
,
lon
):
"""latlon to utm"""
zone
=
PointUtils
.
latlon2utmzone
(
lat
,
lon
)
projector2
=
pyproj
.
Proj
(
proj
=
'utm'
,
zone
=
zone
,
ellps
=
'WGS84'
)
x
,
y
=
projector2
(
lon
,
lat
)
return
x
,
y
,
zone
@
staticmethod
def
latlon2utmzone
(
lat
,
lon
):
"""latlon to utm zone"""
zone_num
=
math
.
floor
((
lon
+
180
)
/
6
)
+
1
if
56.0
<=
lat
<
64.0
and
3.0
<=
lon
<
12.0
:
zone_num
=
32
if
72.0
<=
lat
<
84.0
:
if
0.0
<=
lon
<
9.0
:
zone_num
=
31
elif
9.0
<=
lon
<
21.0
:
zone_num
=
33
elif
21.0
<=
lon
<
33.0
:
zone_num
=
35
elif
33.0
<=
lon
<
42.0
:
zone_num
=
37
return
zone_num
@
staticmethod
def
latlon2latlondict
(
lat
,
lon
):
"""latlon to latlon dictionary"""
return
{
'lat'
:
lat
,
'lng'
:
lon
}
@
staticmethod
def
utm2grididx
(
x
,
y
,
resolution_mm
):
"""utm to grid index"""
index_str
=
str
(
int
(
round
(
x
/
resolution_mm
))
*
resolution_mm
)
index_str
+=
","
index_str
+=
str
(
int
(
round
(
y
/
resolution_mm
))
*
resolution_mm
)
return
index_str
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录