欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于經(jīng)緯度定位行政區(qū)劃的方法與流程

文檔序號:12010002閱讀:1468來源:國知局
基于經(jīng)緯度定位行政區(qū)劃的方法與流程
本發(fā)明涉及導(dǎo)航技術(shù)領(lǐng)域,特別是涉及一種基于經(jīng)緯度定位行政區(qū)劃的方法。

背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展和社會需求的快速推動(dòng),使得地理信息技術(shù)已經(jīng)廣泛地應(yīng)用在城市智能交通系統(tǒng)、車輛導(dǎo)航系統(tǒng)、個(gè)人位置服務(wù)系統(tǒng)和數(shù)字化武器裝備等等各種嵌入式系統(tǒng)中,其經(jīng)濟(jì)和社會效益顯著。隨著移動(dòng)終端軟硬件技術(shù)的不斷進(jìn)步,越來越多的移動(dòng)設(shè)備裝配了用于定位的GPS(GlobePositioningSystem)芯片,使得基于位置信息的服務(wù)(LocationBasedService,LBS)得到了迅猛的發(fā)展。根據(jù)用戶的實(shí)時(shí)位置返回或者主動(dòng)傳送對用戶比較有價(jià)值的數(shù)據(jù),是當(dāng)下十分流行的服務(wù)模式。目前,越來越多的服務(wù)商與網(wǎng)絡(luò)運(yùn)營商,例如電信運(yùn)營商(移動(dòng)或者聯(lián)通等等)合作開展了很多基于用戶地理位置上報(bào)的相關(guān)服務(wù),而這種合作一般是在省、市的層面上開展的。因此利用用戶上報(bào)的經(jīng)緯度快速定位其所在行政區(qū)劃的需求也越來越多。然而提供專利的地理位置定位服務(wù)需要詳細(xì)的專業(yè)測繪數(shù)據(jù),其一般只能高價(jià)購買專業(yè)的測繪數(shù)據(jù)或者調(diào)用商業(yè)公司(例如Google、Nokia、高德等商業(yè)公司)開放的API接口來完成。專業(yè)的測繪數(shù)據(jù)信息比較豐富,其一般包括道路、河流等細(xì)節(jié)信息,但是這些專業(yè)的測繪數(shù)據(jù)通常十分地昂貴,而定位行政區(qū)劃的定位服務(wù)是一種粗粒度的定位服務(wù),因此采用專業(yè)的測繪數(shù)據(jù)只是用來定位行政區(qū)劃,則其成本過高。而且,由于專業(yè)的測繪數(shù)據(jù)關(guān)于地理信息的各類細(xì)節(jié)信息十分地豐富,因此在使用這些專業(yè)的測繪數(shù)據(jù)時(shí)需要進(jìn)行非常復(fù)雜的預(yù)處理,以將有用的信息剝離出來,則其響應(yīng)時(shí)間比較慢,用于定位行政區(qū)劃這種粗粒度的定位服務(wù),則顯得大材小用且得不償失。而調(diào)用商業(yè)公司開放的API接口,其業(yè)務(wù)系統(tǒng)的穩(wěn)定性完全依賴于各個(gè)商業(yè)公司所提供的API接口,且定位服務(wù)商接口數(shù)據(jù)格式變更時(shí)其不一定會主動(dòng)地通知調(diào)用方,因此其風(fēng)險(xiǎn)是不可控的。此外,各個(gè)商業(yè)公司所開放的API接口大部分是需要收費(fèi)的,例如Google公司的API接口只在一定的調(diào)用量之內(nèi)免費(fèi),超出部分需要按次收費(fèi),因此其成本也比較高,特別是對于調(diào)用次數(shù)較多的客戶而言,其支出巨大。

技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于,克服現(xiàn)有定位行政區(qū)劃技術(shù)所存在的缺陷,而提供一種新的基于經(jīng)緯度定位行政區(qū)劃的方法,其成本較低,風(fēng)險(xiǎn)低,可擴(kuò)展性和靈活性較強(qiáng)。本發(fā)明的目的及解決其技術(shù)問題是采用以下技術(shù)方案來實(shí)現(xiàn)的。本發(fā)明提供一種基于經(jīng)緯度定位行政區(qū)劃的方法,其利用獲取的測繪數(shù)據(jù)而快速地定位所述經(jīng)緯度所在的行政區(qū)劃,在執(zhí)行所述基于經(jīng)緯度定位行政區(qū)劃的方法之前,所述測繪數(shù)據(jù)進(jìn)行預(yù)處理以使每一個(gè)第一級行政區(qū)劃分別對應(yīng)一個(gè)矩形邊界,且每一個(gè)第一級行政區(qū)劃分別由多個(gè)多邊形所組成。其中所述基于經(jīng)緯度定位行政區(qū)劃的方法包括定位所述經(jīng)緯度所在的第一級行政區(qū)劃,其包括:步驟S11:逐個(gè)掃描每一個(gè)第一級行政區(qū)劃所對應(yīng)的矩形邊界,判斷所述經(jīng)緯度在哪些第一級行政區(qū)劃所對應(yīng)的矩形邊界內(nèi),從而挑選出候選的第一級行政區(qū)劃;步驟S12:逐個(gè)掃描任一個(gè)選中的候選第一級行政區(qū)劃所包含的多個(gè)多邊形,并判斷所述經(jīng)緯度是否在所述選中的第一級行政區(qū)劃的任一個(gè)多邊形內(nèi);步驟S13:如上述步驟S12判斷為是,則判定所述選中的候選第一級行政區(qū)劃為所述經(jīng)緯度所在的第一級行政區(qū)劃;否則,則返回步驟S12,繼續(xù)掃描其余的候選第一級行政區(qū)劃。優(yōu)選地,所述步驟S11包括步驟S111:選中任一個(gè)第一級行政區(qū)劃,并獲取所述選中的第一級行政區(qū)劃所對應(yīng)的所述矩形邊界的任一對角線的兩個(gè)頂點(diǎn)的坐標(biāo);步驟S112:判斷所述經(jīng)緯度的X軸坐標(biāo)是否位于所述兩個(gè)頂點(diǎn)的X軸坐標(biāo)之間,并判定所述經(jīng)緯度的Y軸坐標(biāo)是否位于所述兩個(gè)頂點(diǎn)的Y軸坐標(biāo)之間;步驟S113:如判定為是,則選中的第一級行政區(qū)劃作為所述候選的第一級行政區(qū)劃;否則,反之;步驟S114:返回繼續(xù)執(zhí)行上述步驟S111-S113,直至挑選出所有的所述候選的第一級行政區(qū)劃。優(yōu)選地,所述步驟S12包括步驟S121:從所述經(jīng)緯度作一條水平向左的射線;步驟S122:判斷所述射線與所述選中的第一級行政區(qū)劃中的任一選中的多邊形是否有奇數(shù)個(gè)交點(diǎn);步驟S123:如上述步驟S122判斷為是,則判定所述經(jīng)緯度位于所述選中的多邊形內(nèi);否則,反之;步驟S124:更換所述選中的多邊形,并返回繼續(xù)執(zhí)行上述步驟S122-S123,直至掃描完所述選中的第一級行政區(qū)劃中的所有多邊形。優(yōu)選地,所述步驟S122包括步驟S1221:判斷所述選中的多邊形中的任一選中的邊是否與所述射線相交;步驟S1222:統(tǒng)計(jì)與所述射線相交的所述選中的多邊形的邊的數(shù)量,如所述數(shù)量為奇數(shù),則所述選中的多邊形與所述射線具有奇數(shù)個(gè)交點(diǎn);否則,反之。優(yōu)選地,在所述步驟S1221中,所述選中的多邊形的任一選中的邊與所述射線相交的必要充分條件是通過快速排斥實(shí)驗(yàn)且相互跨立。優(yōu)選地,所述第一級行政區(qū)劃為省級行政區(qū)劃。優(yōu)選地,所述基于經(jīng)緯度定位行政區(qū)劃的方法在步驟S12與S13之間進(jìn)一步包括步驟S14:判斷所述經(jīng)緯度所在的多邊形是否屬于直轄市的境界,如果判斷為是,則以所述直轄市為所述經(jīng)緯度所在的第一級行政區(qū)劃。優(yōu)選地,所述測繪數(shù)據(jù)在進(jìn)行預(yù)處理時(shí)還進(jìn)一步使每一個(gè)第一級行政區(qū)劃下屬的每一個(gè)第二級行政區(qū)劃分別對應(yīng)于一個(gè)正方形邊界,其中所述基于經(jīng)緯度定位行政區(qū)劃的方法進(jìn)一步包括定位所述經(jīng)緯度所在的第二級行政區(qū)劃,其包括步驟S21:逐個(gè)掃描所述經(jīng)緯度所在的第一級行政區(qū)劃下屬的任一選中的第二級行政區(qū)劃所對應(yīng)的正方形邊界;步驟S22:判斷所述經(jīng)緯度是否在所述選中的第二級行政區(qū)劃所對應(yīng)的正方形邊界內(nèi);步驟S23:如上述步驟S22為是,則判定所述選中的第二級行政區(qū)劃為所述經(jīng)緯度所在的第二級行政區(qū)劃;否則,更換所述選中的第二級行政區(qū)劃,并返回繼續(xù)執(zhí)行上述步驟S22。優(yōu)選地,所述測繪數(shù)據(jù)在進(jìn)行預(yù)處理時(shí)對每一個(gè)第二級行政區(qū)劃的預(yù)處理與對每一個(gè)第一級行政區(qū)劃的預(yù)處理相同,其中所述基于經(jīng)緯度定位行政區(qū)劃的方法進(jìn)一步包括定位所述經(jīng)緯度所在的第二級行政區(qū)劃,且其與定位所述經(jīng)緯度所在的第一級行政區(qū)劃的方法相同。優(yōu)選地,所述第二級行政區(qū)劃為地市級行政區(qū)劃。綜上所述,本發(fā)明所述的基于經(jīng)緯度定位行政區(qū)劃的方法,無需重金購買專業(yè)的測繪數(shù)據(jù),其使用免費(fèi)提供的測繪數(shù)據(jù)即可快速地定位出所述經(jīng)緯度所在的行政區(qū)劃,從而降低了成本,節(jié)省了大筆的開支。另,本發(fā)明所述的基于經(jīng)緯度定位行政區(qū)劃的方法無需依賴外部接口,數(shù)據(jù)可以完全保存在內(nèi)存中,因此不用承擔(dān)任何接口調(diào)用方式所帶來的風(fēng)險(xiǎn)。且由于行政區(qū)劃本身的穩(wěn)定性,因此數(shù)據(jù)本身可以長時(shí)間無需更新。此外,本發(fā)明的可擴(kuò)展性和靈活性很強(qiáng),例如想要定位粒度更細(xì)的行政區(qū)劃(如市區(qū)、鄉(xiāng)鎮(zhèn)等),用戶可以下載國家基礎(chǔ)地理信息系統(tǒng)提供的免費(fèi)測繪數(shù)據(jù),直接用本發(fā)明提出的方法進(jìn)行處理即可,代碼僅需做少量更改且不會影響之前的功能。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉較佳實(shí)施例,并配合附圖,詳細(xì)說明如下。附圖說明圖1為省級行政區(qū)劃的映射表的示意圖。圖2a為一種省級行政區(qū)劃所對應(yīng)的矩形邊界之間相互關(guān)系的示意圖。圖2b為另一種省級行政區(qū)劃所對應(yīng)的矩形邊界之間相互關(guān)系的示意圖。圖3為地市級行政區(qū)劃所對應(yīng)的正方形邊界的示意圖。圖4為省級與地市級行政區(qū)劃之間關(guān)系的映射表的示意圖。圖5為本發(fā)明實(shí)施例所示之基于經(jīng)緯度定位行政區(qū)劃的方法的流程示意圖。具體實(shí)施方式為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對依據(jù)本發(fā)明提出的基于經(jīng)緯度快速定位其行政區(qū)劃的方法其具體實(shí)施方式、方法、步驟、結(jié)構(gòu)、特征及其功效,詳細(xì)說明如下。有關(guān)本發(fā)明的前述及其他技術(shù)內(nèi)容、特點(diǎn)及功效,在以下配合參考圖式的較佳實(shí)施例的詳細(xì)說明中將可清楚呈現(xiàn)。通過具體實(shí)施方式的說明,當(dāng)可對本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù)手段及功效得以更加深入且具體的了解,然而所附圖式僅是提供參考與說明之用,并非用來對本發(fā)明加以限制。其中,本發(fā)明是利用免費(fèi)的測繪數(shù)據(jù),例如國家基礎(chǔ)地理信息系統(tǒng)(http://nfgis.nsdi.gov.cn)所提供的免費(fèi)的測繪數(shù)據(jù),而實(shí)現(xiàn)快速定位行政區(qū)劃。其中,國家基礎(chǔ)地理信息系統(tǒng)所提供的免費(fèi)的測繪數(shù)據(jù)提供了權(quán)威的國級境界、省級境界、地市級境界、縣級境界以及其它常用的河流、公路和鐵路等地理信息測繪數(shù)據(jù),其可以供用戶免費(fèi)下載使用。本發(fā)明所揭示的基于經(jīng)緯度快速定位行政區(qū)劃的方法主要是采用上述免費(fèi)的測繪數(shù)據(jù)中的省級、地市級和縣級境界作為基礎(chǔ)數(shù)據(jù),從而利用經(jīng)緯度而定位到相應(yīng)的行政區(qū)劃。雖然,本發(fā)明實(shí)施例是以國家基礎(chǔ)地理信息系統(tǒng)所提供的免費(fèi)的測繪數(shù)據(jù)來實(shí)現(xiàn)應(yīng)用,但是,本領(lǐng)域技術(shù)人員可以理解的是,本發(fā)明也可以利用其它免費(fèi)的測繪數(shù)據(jù)來實(shí)現(xiàn)。在獲得免費(fèi)的測繪數(shù)據(jù)后,首先會對獲得的測繪數(shù)據(jù)進(jìn)行預(yù)處理,以方便后續(xù)需要執(zhí)行的基于經(jīng)緯度定位行政區(qū)劃的方法。在對測繪數(shù)據(jù)進(jìn)行預(yù)處理時(shí),受限于免費(fèi)獲得的測繪數(shù)據(jù)的精確程度的影響,因此對各個(gè)級別的行政區(qū)劃的測繪數(shù)據(jù)的預(yù)處理可以相應(yīng)進(jìn)行調(diào)整。以下以一種精確程度較低的測繪數(shù)據(jù)為例簡要地介紹相關(guān)的測繪數(shù)據(jù)預(yù)處理過程。如果測繪數(shù)據(jù)的精確程度只到地市級境界,也就是說,獲得的測繪數(shù)據(jù)的最細(xì)粒度的行政區(qū)劃只到地市級境界,則在本發(fā)明中,只需要對省級和地市級境界的測繪數(shù)據(jù)進(jìn)行預(yù)處理即可,即省級行政區(qū)劃作為第一級的行政區(qū)劃,而地市級行政區(qū)劃作為第二級的行政區(qū)劃,在此對測繪數(shù)據(jù)的預(yù)處理包括:(1)對省級行政區(qū)劃的測繪數(shù)據(jù)的預(yù)處理:從地圖上直觀來看,每一個(gè)省都是可以由多個(gè)多邊形所組成的,而每個(gè)多邊形的各個(gè)頂點(diǎn)所在的經(jīng)緯度包含在上述國家基礎(chǔ)地理信息系統(tǒng)所提供的測繪數(shù)據(jù)中,如果利用這些數(shù)據(jù)來進(jìn)行定位,則需要將每個(gè)多邊形抽象成數(shù)據(jù)結(jié)構(gòu)并進(jìn)行保存。其中,絕大部分的省級行政區(qū)劃只是由少數(shù)幾個(gè)多邊形所組成,而極少數(shù)的省級行政區(qū)劃由于其地理邊界復(fù)雜,由較多的多邊形所組成。一般組成省級行政區(qū)劃的多邊形的數(shù)量不會超過200個(gè)。圖1為省級行政區(qū)劃的映射表的示意圖。如圖1所示,欄位-行政區(qū)劃代碼下的key值代表著省級行政區(qū)劃的代碼,例如黑龍江省的代碼為230000;而欄位-多邊形下的value值代表著組成此省級行政區(qū)劃的各個(gè)多邊形的相關(guān)數(shù)據(jù)。此外,為了方便后續(xù)的處理,在本發(fā)明中,還在對省級行政區(qū)劃的測繪數(shù)據(jù)進(jìn)行預(yù)處理時(shí),還進(jìn)一步將每一個(gè)省級行政區(qū)劃分別對應(yīng)于一個(gè)矩形邊界,并將其添加至圖1的映射表中的欄位-矩形邊界處。需要注意的是,省級行政區(qū)劃所對應(yīng)的矩形邊界相互之間可能會有部分的重疊,例如,如圖2a所示,黑龍江省所對應(yīng)的矩形邊界和吉林省所對應(yīng)的矩形邊界具有部分的重疊,比如黑龍江省下屬的哈爾濱市的市中心坐標(biāo)就既在黑龍江省所對應(yīng)的矩形邊界內(nèi),也在吉林省所在的矩形邊界內(nèi)。另,省級行政區(qū)劃所對應(yīng)的矩形邊界相互之間也可能會出現(xiàn)包含關(guān)系,當(dāng)然,此種情況一般只會出現(xiàn)在直轄市和其附近的省級行政區(qū)劃之間。例如,如圖2b所示,北京市所對應(yīng)的矩形邊界就在河北省所對應(yīng)的矩形邊界內(nèi)。此外,對于具有較多的多邊形的省級行政區(qū)劃,其主要區(qū)域所對應(yīng)的多邊形面積較大,而其余的多邊形面積較小,而用戶一般都集中在面積較大的多邊形里面,因此為了方便后續(xù)的處理,可以在建立如圖1所示的省級行政區(qū)劃的映射表時(shí),將組成省級行政區(qū)劃的這些多邊形按照其矩形面積從大到小的順序進(jìn)行排列。(2)對地市級行政區(qū)劃的測繪數(shù)據(jù)的預(yù)處理眾所周知,每一個(gè)省級行政區(qū)劃下都包含若干個(gè)地市級行政區(qū)劃,而每一個(gè)地市級行政區(qū)劃的面積相對于省級行政區(qū)劃而言是非常下的。因此,受限于免費(fèi)獲得的測繪數(shù)據(jù)的精確程度的影響,在本發(fā)明中,如圖3所示,可以將每一個(gè)地市級行政區(qū)劃分別對應(yīng)于一個(gè)正方形邊界。根據(jù)相關(guān)數(shù)據(jù)分析,絕大多數(shù)的地市級行政區(qū)劃的面積都在10000km2以下,因此為了方便進(jìn)行分析,在本發(fā)明中,可以近視地認(rèn)為每一個(gè)地市級行政區(qū)劃所對應(yīng)的正方形邊界的邊長都是100km。然后,可以將每一個(gè)地市級行政區(qū)劃的數(shù)據(jù)保存在一個(gè)類似于圖1所示的地市級行政區(qū)劃的映射表中。其中,欄位-地市級行政區(qū)劃代碼下的key值代表著地市區(qū)劃代碼,例如哈爾濱市的代碼為230100,而欄位-正方形下的value值代表著其對應(yīng)的正方形邊界的相關(guān)數(shù)據(jù)。(3)確定省級與地市級行政區(qū)劃之間的關(guān)系在此,可以建立一個(gè)省級與地市級行政區(qū)劃之間關(guān)系的映射表,其如圖4所示。在圖4中,欄位-省級行政區(qū)劃代碼下的key值代表著省級行政區(qū)劃的代碼;而欄位-地市級行政區(qū)劃代碼下的key值分別代表著相應(yīng)的省級行政區(qū)劃下屬的各個(gè)地市級行政區(qū)劃的代碼。在本發(fā)明的上述說明中,只是以測繪數(shù)據(jù)的精確程度只到地市級境界為例來進(jìn)行說明,但是,本領(lǐng)域技術(shù)人員可以理解的是,如果獲得的測繪數(shù)據(jù)的最細(xì)粒度的行政區(qū)劃到縣級境界,則對地市級行政區(qū)劃的測繪數(shù)據(jù)的預(yù)處理也可以按照上述對省級行政區(qū)劃的測繪數(shù)據(jù)的處理方式來進(jìn)行預(yù)處理,而對縣級行政區(qū)劃的測繪數(shù)據(jù)按照上述對地市級行政區(qū)劃的測繪數(shù)據(jù)的處理方式來進(jìn)行預(yù)處理。在對獲得的免費(fèi)測繪數(shù)據(jù)進(jìn)行預(yù)處理后,然后可利用獲得的測繪數(shù)據(jù)而執(zhí)行本發(fā)明所述的基于經(jīng)緯度定位行政區(qū)劃的方法。具體地,圖5為本發(fā)明的基于經(jīng)緯度定位行政區(qū)劃的方法的流程示意圖。在本發(fā)明實(shí)施例中以獲得的免費(fèi)測繪數(shù)據(jù)的精確程度只到地市級境界為例來介紹本發(fā)明,以對應(yīng)上述對測繪數(shù)據(jù)的預(yù)處理方式,即以第一級行政區(qū)劃為省級行政區(qū)劃,第二級行政區(qū)劃為地市級行政區(qū)劃為例來介紹本發(fā)明。如圖5所示,本發(fā)明的基于經(jīng)緯度定位行政區(qū)劃的方法包括:步驟S1:定位所述經(jīng)緯度所在的省級行政區(qū)劃。眾所周知,在地圖上,各個(gè)經(jīng)緯度分別對應(yīng)X-Y坐標(biāo)系中的一個(gè)坐標(biāo),如需要進(jìn)行定位的經(jīng)緯度的坐標(biāo)為(P,Q),其中P對應(yīng)經(jīng)度,而Q對應(yīng)于緯度。其中,步驟S1包括:步驟S11:逐個(gè)掃描每一個(gè)省級行政區(qū)劃所對應(yīng)的矩形邊界,判斷需要進(jìn)行定位的經(jīng)緯度(P,Q)在哪些省級行政區(qū)劃所在的矩形邊界內(nèi),以挑選出候選的省級行政區(qū)劃。在執(zhí)行步驟S11時(shí),可選中任一省級行政區(qū)劃,并獲取選中的省級行政區(qū)劃所對應(yīng)的矩形邊界的任一對角線的兩個(gè)頂點(diǎn)的坐標(biāo),例如坐標(biāo)(Mx,My)和(Nx,Ny)。然后,判斷所述經(jīng)緯度(P,Q)的X軸坐標(biāo)P是否位于所述兩個(gè)頂點(diǎn)的X軸坐標(biāo)Mx與Nx之間,并判定所述經(jīng)緯度(P,Q)的Y軸坐標(biāo)Q是否位于所述兩個(gè)頂點(diǎn)的Y軸坐標(biāo)My與Ny之間;如判定為是,則選中的省級行政區(qū)劃作為候選的省級行政區(qū)劃;否則,則反之,然后返回繼續(xù)執(zhí)行上述步驟,直至挑選出所有的所述候選的省級行政區(qū)劃。也就是說,本發(fā)明在執(zhí)行步驟S11時(shí)只需要判斷是否滿足條件Mx≤P≤Nx且My≤Q≤N就可以判斷出任一選中的省級行政區(qū)劃所對應(yīng)的矩形邊界是否包含所述需要進(jìn)行定位的經(jīng)緯度(P,Q),從而挑選出所有的候選省級行政區(qū)劃。一般來說,需要進(jìn)行定位的經(jīng)緯度(P,Q)最多只會落在2-3個(gè)省級行政區(qū)劃所對應(yīng)的矩形邊界內(nèi),因此,利用上述步驟S11所挑選出來的候選的省級行政區(qū)劃的數(shù)量不會很多。步驟S12:逐個(gè)掃描任一個(gè)選中的候選省級行政區(qū)劃所包含的多個(gè)多邊形,并判斷需要進(jìn)行定位的經(jīng)緯度(P,Q)是否在選中的省級行政區(qū)劃的任一個(gè)多邊形內(nèi)。具體地,在執(zhí)行步驟S12時(shí),可首先從所述經(jīng)緯度作一條水平向左的射線,其與Y軸相交于頂點(diǎn)(0,Q),因此所述射線可由兩個(gè)頂點(diǎn)(0,Q)和(P,Q)所確定。然后,判斷所述射線與選中的省級行政區(qū)劃中的任一個(gè)選中的多邊形是否有奇數(shù)個(gè)交點(diǎn)。具體地,可判斷所述選中的多邊形中的任一個(gè)選中的邊是否與所述射線相交,然后統(tǒng)計(jì)與所述射線相交的所述選中的多邊形的邊的數(shù)量,如所述數(shù)量為奇數(shù),則所述選中的多邊形與所述射線具有奇數(shù)個(gè)交點(diǎn);否則,反之。其中,本領(lǐng)域技術(shù)人員可以理解的是,所述射線就是由兩個(gè)頂點(diǎn)(0,Q)和(P,Q)所確定的線段。而選中的多邊形的任一個(gè)選中的邊可以由其兩個(gè)頂點(diǎn)(Ax,Ay)和(Bx,By)而確定,即任一個(gè)選中的邊是由兩個(gè)頂點(diǎn)(Ax,Ay)和(Bx,By)所確定的線段。因此可通過判斷兩個(gè)頂點(diǎn)(Ax,Ay)和(Bx,By)所確定的線段與由兩個(gè)頂點(diǎn)(0,Q)和(P,Q)所確定的線段是否相交,來判斷任一個(gè)選中的邊是否與所述射線相交。兩個(gè)頂點(diǎn)(Ax,Ay)和(Bx,By)所確定的線段與由兩個(gè)頂點(diǎn)(0,Q)和(P,Q)所確定的線段相交的必要充分條件是通過快速排斥實(shí)驗(yàn)且相互跨立。其中,快速排斥實(shí)驗(yàn)是指判斷以頂點(diǎn)(Ax,Ay)和(Bx,By)所確定的線段作為對角線的矩形區(qū)域和由頂點(diǎn)(0,Q)和(P,Q)所確定的線段作為對角線的矩形區(qū)域是否相交,其可以用上述兩條線段中的任一條線段的任一頂點(diǎn)是否在另一條線段作為對角線的矩形區(qū)域來進(jìn)行快速判斷,如果在,則通過快速排斥實(shí)驗(yàn),否則,不通過快速排斥實(shí)驗(yàn)。相互跨立是判斷上述兩條線段的任一條線段的兩個(gè)頂點(diǎn)是否在另一條線段的兩側(cè)。假設(shè)P1=(Ax,Ay),P2=(Bx,By),Q1=(0,Q),Q2=(P,Q),則如果滿足下述公式:[(P1-Q1)*(Q2-Q1)]*[(P2-Q1)*(Q2-Q1)]≤0且[(Q1-P1)*(P2-P1)]*[(Q2-P1)*(P2-P1)]≤0則可以判定上述兩條線段是相互跨立的,否則,則判定上述兩條線段是不相互跨立的。然后,當(dāng)判斷出所述射線與選中的省級行政區(qū)劃中的任一選中的多邊形具有奇數(shù)個(gè)交點(diǎn)時(shí),則可以判定所述經(jīng)緯度(P,Q)位于選中的多邊形內(nèi);否則,反之,并再更換所述選中的多邊形,并返回繼續(xù)執(zhí)行上述步驟,直至掃描完選中的省級行政區(qū)劃中的所有多邊形。每一個(gè)多邊形的邊數(shù)可能會比較多,為了加速掃描的速度,可以將多邊形的各個(gè)邊按照緯度進(jìn)行排序,由于國家基礎(chǔ)地理信息系統(tǒng)所提供的數(shù)據(jù)中各個(gè)多邊形的所有邊的最大長度不會超過某一個(gè)預(yù)定的長度LEN,因此在掃描時(shí),可只掃描滿足下述公式的邊:0≤Ay-Q≤LEN或者0≤By-Q≤LEN這樣的邊一般比較少,只有幾個(gè),而且由于多邊形各個(gè)邊已經(jīng)按照緯度進(jìn)行了排序,因此查找起來非常快,從而很快地判定所述射線是否與選中的多邊形是否有奇數(shù)個(gè)交點(diǎn)。步驟S13:如上述步驟S12判斷為是,則判定選中的候選省級行政區(qū)劃為所述經(jīng)緯度(P,Q)所在的省級行政區(qū)劃;否則,則返回步驟S12,繼續(xù)掃描其余的候選省級行政區(qū)劃。由于直轄市一般也歸屬于省級行政區(qū)劃,因此,在本發(fā)明的基于經(jīng)緯度快速定位行政區(qū)劃的方法,在上述步驟S12與S13之間,可還進(jìn)一步包括:步驟S14:判斷所述經(jīng)緯度所在的多邊形是否屬于直轄市的境界,如果判斷為是,則以所述直轄市為所述經(jīng)緯度所在的省級行政區(qū)劃。然后,本發(fā)明的基于經(jīng)緯度定位行政區(qū)劃的方法還進(jìn)一步包括:步驟S2:定位所述經(jīng)緯度所在的地市級行政區(qū)劃。具體地,步驟S2包括:步驟S21:逐個(gè)掃描所述經(jīng)緯度所在的省級行政區(qū)劃下屬的任一選中的地市級級行政區(qū)劃所對應(yīng)的正方形邊界;步驟S22:判斷所述經(jīng)緯度是否在選中的地市級行政區(qū)劃所對應(yīng)的正方形邊界內(nèi);步驟S23:如判斷為是,則判定選中的地市級行政區(qū)劃為所述經(jīng)緯度所在的地市級行政區(qū)劃;否則,更換選中的地市級行政區(qū)劃,并返回繼續(xù)執(zhí)行上述步驟S22。需要注意的是,本發(fā)明上述定位經(jīng)緯度所在地市級行政區(qū)劃的方法是由于獲得的免費(fèi)測繪數(shù)據(jù)的精確程度只到地市級境界,但是,本領(lǐng)域技術(shù)人員可以理解的是,如果獲得的免費(fèi)測繪數(shù)據(jù)比較精確,例如其精確程度可以到縣級境界,則定位所述經(jīng)緯度所在地市級行政區(qū)劃的方式也可以使用按照上述定位所述經(jīng)緯度所在省級行政區(qū)劃的方式來進(jìn)行,且本發(fā)明也可以進(jìn)一步定位所述經(jīng)緯度所在的縣級行政區(qū)劃,其定位方式如上述對地市級行政區(qū)劃的定位方式相同,從而自上而下逐級定位到所需要的行政區(qū)劃。綜上所述,本發(fā)明所述的基于經(jīng)緯度定位行政區(qū)劃的方法,無需重金購買專業(yè)的測繪數(shù)據(jù),其使用免費(fèi)提供的測繪數(shù)據(jù)即可快速地定位出所述經(jīng)緯度所在的行政區(qū)劃,從而降低了成本,節(jié)省了大筆的開支。另,本發(fā)明所述的基于經(jīng)緯度定位行政區(qū)劃的方法無需依賴外部接口,數(shù)據(jù)可以完全保存在內(nèi)存中,因此不用承擔(dān)任何接口調(diào)用方式所帶來的風(fēng)險(xiǎn)。且由于行政區(qū)劃本身的穩(wěn)定性,因此數(shù)據(jù)本身可以長時(shí)間無需更新。此外,本發(fā)明的可擴(kuò)展性和靈活性很強(qiáng),例如想要定位粒度更細(xì)的行政區(qū)劃(如市區(qū)、鄉(xiāng)鎮(zhèn)等),用戶可以下載國家基礎(chǔ)地理信息系統(tǒng)提供的免費(fèi)測繪數(shù)據(jù),直接用本發(fā)明提出的方法進(jìn)行處理即可,代碼僅需做少量更改且不會影響之前的功能。以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非對本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述揭示的技術(shù)內(nèi)容作出些許更動(dòng)或修飾為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對以上實(shí)施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
隆昌县| 安龙县| 长阳| 休宁县| 普安县| 和顺县| 涡阳县| 瓮安县| 阜南县| 伊川县| 如东县| 克什克腾旗| 武乡县| 旬阳县| 怀集县| 涞源县| 凤凰县| 且末县| 义马市| 留坝县| 盐山县| 元朗区| 蒙阴县| 都昌县| 阿拉善盟| 南昌县| 颍上县| 广德县| 三江| 班玛县| 南乐县| 乌兰浩特市| 新邵县| 新密市| 华池县| 汕尾市| 绥芬河市| 四子王旗| 政和县| 吉安市| 大足县|