BBS.ChinaUnix.net
今日推荐    首页 | 新闻 | Linux | 博客 | 论坛 | 人才 | 培训 | 知识库 | 资料 | 读书 | 手册 | 精华 | 下载 | 沙龙 | 搜索     
  会员: 密码: 免费注册 | 忘记密码 | 会员登录 | 搜索 | 帮助 


地球坐标中如何判断一个点是否落在某一不规则区域中?
首页 » 论坛 » C/C++ »  
[打印] [订阅] [收藏] [推荐给朋友] [本帖文本页]
titansword2000   帅哥
精灵



UID:208011
注册:2004-12-15
最后登录: 2008-05-14
帖子:239
精华:0

可用积分:175
信誉积分:100
专家积分:0 (本版)

来自:山东
状态:...离线...

[个人空间] [短信] [博客]


顶部
1楼 发表于 2008-4-29 09:12 
兄弟们,请教一个问题:
如何判断地球上一个点是否在某不规则区域内?在网上找了下,发现基本是利用Windows的API函数,且该函数是用来判断平面上的点,其与地球坐标的最大区别在于:地球坐标在跨越360度的经度后,经度重新变为0度。而我现在要求跨平台(也就是既能在Windows下编译通过,也能在 Unix下编译通过),故只能使用标准C或C++。

有做过这方面的朋友没?我初步定义函数如下:int PtInPolyRgn(float point[2],float array[][2],int nCount);
其中point[2]用来存放被判断的点,array[][2]用来存放该不规则区域上的边界点,nCount存放边界点的数目。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

用FB真好,有BF更好;
大家好才是真的好,好的真好.
IBM 集群技术资源全面接触 |赠送linux之父推荐的经典书 | CU-2008奥运之春摄影赛 | 新版开张:《IT爱车族》分享香车美女
net_robber   帅哥 (迷茫的羔羊)
精灵使
堕落的鬼魂




UID:159572
注册:2004-5-20
最后登录: 2008-05-16
帖子:2690
精华:4

可用积分:2363
信誉积分:99
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
2楼 发表于 2008-4-29 09:18 
如果不是干这个的,基本上没办法回答你的问题了



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

update `cdb_posts` as A
inner join (SELECT uid FROM `cdb_memberfields` WHERE sightml='No Signed') as B
on A.authorid=B.uid set A.message='Deleted By Net_robber'
http://www.timectrl.net
IBM 集群技术资源全面接触 |赠送linux之父推荐的经典书 | CU-2008奥运之春摄影赛 | 新版开张:《IT爱车族》分享香车美女
titansword2000   帅哥
精灵



UID:208011
注册:2004-12-15
最后登录: 2008-05-14
帖子:239
精华:0

可用积分:175
信誉积分:100
专家积分:0 (本版)

来自:山东
状态:...离线...

[个人空间] [短信] [博客]


顶部
3楼 发表于 2008-4-29 09:22 
那兄弟的意思是可以回答还是没法回答啊



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

用FB真好,有BF更好;
大家好才是真的好,好的真好.
IBM 集群技术资源全面接触 |赠送linux之父推荐的经典书 | CU-2008奥运之春摄影赛 | 新版开张:《IT爱车族》分享香车美女
net_robber   帅哥 (迷茫的羔羊)
精灵使
堕落的鬼魂




UID:159572
注册:2004-5-20
最后登录: 2008-05-16
帖子:2690
精华:4

可用积分:2363
信誉积分:99
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
4楼 发表于 2008-4-29 09:23 
哎~

没办法回答

我不是干这个的

你的问题根本没看懂



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

update `cdb_posts` as A
inner join (SELECT uid FROM `cdb_memberfields` WHERE sightml='No Signed') as B
on A.authorid=B.uid set A.message='Deleted By Net_robber'
http://www.timectrl.net
IBM 集群技术资源全面接触 |赠送linux之父推荐的经典书 | CU-2008奥运之春摄影赛 | 新版开张:《IT爱车族》分享香车美女
titansword2000   帅哥
精灵



UID:208011
注册:2004-12-15
最后登录: 2008-05-14
帖子:239
精华:0

可用积分:175
信誉积分:100
专家积分:0 (本版)

来自:山东
状态:...离线...

[个人空间] [短信] [博客]


顶部
5楼 发表于 2008-4-29 09:28 
啊,没描述清楚吗?意思就是:在地区上有一个不规则区域,该区域是通过很多点来规定其边界的,现在有一个点(经纬度已知),要求判断这个点是否在那个不规则区域中。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

用FB真好,有BF更好;
大家好才是真的好,好的真好.
IBM 集群技术资源全面接触 |赠送linux之父推荐的经典书 | CU-2008奥运之春摄影赛 | 新版开张:《IT爱车族》分享香车美女
colorful-day
新手




UID:698098
注册:2008-4-28
最后登录: 2008-04-29
帖子:3
精华:0

可用积分:3
信誉积分:0
专家积分:0 (本版)

状态:...离线...

[个人空间] [短信] [博客]


顶部
6楼 发表于 2008-4-29 09:43 
我说的不一定对,你把这些点分成N个三角形,看特定点是否落在这些三角形中。



您对本贴的看法:鲜花[0] 臭蛋[0]
IBM 集群技术资源全面接触 |赠送linux之父推荐的经典书 | CU-2008奥运之春摄影赛 | 新版开张:《IT爱车族》分享香车美女
titansword2000   帅哥
精灵



UID:208011
注册:2004-12-15
最后登录: 2008-05-14
帖子:239
精华:0

可用积分:175
信誉积分:100
专家积分:0 (本版)

来自:山东
状态:...离线...

[个人空间] [短信] [博客]


顶部
7楼 发表于 2008-4-29 09:48 
楼上的这个方法不好用,且复杂度极高。我知道可以用射线法实现,但是不好实现,特别是在地球坐标上,因为射线法构造的射线,其远段在无穷远处,而地球坐标中,当经度超过360度后,则从0重新开始。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

用FB真好,有BF更好;
大家好才是真的好,好的真好.
IBM 集群技术资源全面接触 |赠送linux之父推荐的经典书 | CU-2008奥运之春摄影赛 | 新版开张:《IT爱车族》分享香车美女
版主 cugb_cat   帅哥
版主-大法师


CU奥运火炬传递手2008
UID:342049
注册:2005-11-27
最后登录: 2008-05-17
帖子:8356
精华:6

可用积分:5752
信誉积分:110
专家积分:67 (本版)

来自:北京海淀中关村
状态:...保密...

[个人空间] [短信] [博客]


顶部
8楼 发表于 2008-4-29 09:57 
先展开成平面,然后处理一下边界。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

欢迎访问ToFree社区
www.tofree.org

IBM 集群技术资源全面接触 |赠送linux之父推荐的经典书 | CU-2008奥运之春摄影赛 | 新版开张:《IT爱车族》分享香车美女
titansword2000   帅哥
精灵



UID:208011
注册:2004-12-15
最后登录: 2008-05-14
帖子:239
精华:0

可用积分:175
信誉积分:100
专家积分:0 (本版)

来自:山东
状态:...离线...

[个人空间] [短信] [博客]


顶部
9楼 发表于 2008-4-29 10:03 
望版主详细说明下,可否?

我认为展开着一步可以不要的,它只是一个头脑中的一个概念而已,在处理的时候认为该区域在一个平面中即可,但由于该区域有可能跨越360的经度,所以面临着一个问题。



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

用FB真好,有BF更好;
大家好才是真的好,好的真好.
IBM 集群技术资源全面接触 |赠送linux之父推荐的经典书 | CU-2008奥运之春摄影赛 | 新版开张:《IT爱车族》分享香车美女
版主 cugb_cat   帅哥
版主-大法师


CU奥运火炬传递手2008
UID:342049
注册:2005-11-27
最后登录: 2008-05-17
帖子:8356
精华:6

可用积分:5752
信誉积分:110
专家积分:67 (本版)

来自:北京海淀中关村
状态:...保密...

[个人空间] [短信] [博客]


顶部
10楼 发表于 2008-4-29 10:16 


QUOTE:
原帖由 titansword2000 于 2008-4-29 10:03 发表
望版主详细说明下,可否?

我认为展开着一步可以不要的,它只是一个头脑中的一个概念而已,在处理的时候认为该区域在一个平面中即可,但由于该区域有可能跨越360的经度,所以面临着一个问题。

不一定要在0经度出展开成平面,可以以任意的经度线做为展开的分界线



您对本贴的看法:鲜花[0] 臭蛋[0]

__________________________________

欢迎访问ToFree社区
www.tofree.org

IBM 集群技术资源全面接触 |赠送linux之父推荐的经典书 | CU-2008奥运之春摄影赛 | 新版开张:《IT爱车族》分享香车美女

首页 » 论坛 » C/C++ »


 


Copyright © 2001-2008 ChinaUnix.net All Rights Reserved     联系我们:

感谢所有关心和支持过ChinaUnix的朋友们    转载本站内容请注明原作者名及出处

京ICP证041476号


清除 Cookies - ChinaUnix - Archiver - WAP - TOP

Processed in 0.103129 second(s), 10 queries , Gzip enabled