當前位置:首頁 » 數據倉庫 » 百度poi資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

百度poi資料庫

發布時間: 2023-07-25 16:19:01

A. java用poi實現將資料庫裡面的數據導入已經存在的excel模板中。最好有實例參考,謝謝。

/**
*通過EXCEL模板導入團隊信息
*/
@ResponseBody
@RequestMapping("importTemp")
publicMap<String,String>importTemp(HttpServletRequestrequest,HttpSessionsession,
@RequestParam(value="excel",required=false)MultipartFilefile,HttpServletResponseresponse){
Yhbyhb=(Yhb)session.getAttribute(WebConstants.CURRENT_USER);
Stringzjr=yhb.getYhid();
List<DrTdb>tdxxList=newArrayList<DrTdb>();
Map<String,String>map=newHashMap<String,String>();
Stringsfcg="1";
Stringbcghs="";
Stringbcgyy="";
HSSFWorkbookworkbook=null;
try{
workbook=newHSSFWorkbook(file.getInputStream());
HSSFSheetsheet=workbook.getSheetAt(0);
if(sheet!=null)
{
intd=sheet.getPhysicalNumberOfRows();
other:for(inti=7;i<sheet.getPhysicalNumberOfRows();i++)
{
sfcg="2";
HSSFRowrow=sheet.getRow(i);
DrTdbtd=newDrTdb();
intrs=1;
//td.setTdbm("T"+DateUtil.CurrentTime("MM-dd"));
td.setZjr(zjr);
for(intj=0;j<8;j++)
{
HSSFCellcell=row.getCell(j);
if(j==0){
if(cell!=null){
StringcellStr=cell.toString();
if(isDigit(cellStr)!=""){
StringNDID=(String)tdglService.queryForObject("tdExcel.queryNd",isDigit(cellStr));
td.setNd(NDID);
}else{
sfcg="0";
bcghs=String.valueOf(i+1);
bcgyy="請填寫正確的年度";
breakother;
}
}else{
sfcg="0";
bcghs=String.valueOf(i+1);
bcgyy="年度不可為空";
breakother;
}
}elseif(j==1){
if(cell!=null){
StringcellStr=cell.toString();
StringYXID=(String)tdglService.queryForObject("tdExcel.queryIdByYx",cellStr);
StringYXDM=(String)tdglService.queryForObject("tdExcel.queryDmByYx",cellStr);
if(YXDM==null||YXDM==""){
sfcg="0";
bcghs=String.valueOf(i+1);
bcgyy="院系不存在";
breakother;
}
td.setSsyx(YXID);
//設置團隊編碼
StringcurrentYear=DateUtil.CurrentTime("yyyy");//當前年份
Stringtdbm="";
Stringstr=null;
str="T"+currentYear+YXDM;
StringmaxID=(String)tdglService.queryForObject("tdgl.queryMaxID",str);//當前團隊最大ID
Stringstr_q=maxID.substring(1);
intMAXID=Integer.parseInt(str_q);//將返回的字元串去掉T
tdbm="T"+(MAXID+1);
td.setTdbm(tdbm);
}else{
sfcg="0";
bcghs=String.valueOf(i+1);
bcgyy="院系不存在";
breakother;
}
}elseif(j==3){
if(cell!=null){
StringcellStr=cell.toString();
String[]zdjs=cellStr.split(",");
for(intin=0;in<zdjs.length;in++){
zdjs[in]=zdjs[in].substring(1,zdjs[in].length()-1);
//zdjs[in]=isDigit(zdjs[in]);
zdjs[in]=(String)tdglService.queryForObject("tdExcel.queryIdByZgh",zdjs[in]);
if("".equals(zdjs[in])||zdjs[in]==null){
sfcg="0";
bcghs=String.valueOf(i+1);
bcgyy="教師編號有誤";
breakother;
}
}
td.setZdjs(zdjs);
}else{
sfcg="0";
bcghs=String.valueOf(i+1);
bcgyy="指導教師不可為空";
breakother;
}
}elseif(j==5){
if(cell!=null){
StringcellStr=cell.toString();
cellStr=cellStr.substring(1,cellStr.length()-1);
//BigDecimalbg=newBigDecimal(cellStr);
//cellStr=bg.toPlainString();
cellStr=(String)tdglService.queryForObject("tdExcel.queryIdByXh",cellStr);

if("".equals(cellStr)||cellStr==null){
sfcg="0";
bcghs=String.valueOf(i+1);
bcgyy="團隊組長學號有誤";
breakother;
}
else{
StringTdid=(String)tdglService.queryForObject("tdExcel.queryryid",cellStr);
StringXM=(String)tdglService.queryForObject("tdExcel.queryXmBy",cellStr);
if(Tdid!=null){
sfcg="0";
bcghs=String.valueOf(i+1);
bcgyy="團隊組長"+XM+"已存在";
breakother;
}
}
td.setTdzz(cellStr);
}else{
sfcg="0";
bcghs=String.valueOf(i+1);
bcgyy="團隊組長不可為空";
breakother;
}
}elseif(j==7){
if(cell!=null){
StringcellStr=cell.toString();
String[]tdzy=cellStr.split(",");
for(intk=0;k<tdzy.length;k++){
tdzy[k]=tdzy[k].substring(1,tdzy[k].length()-1);
tdzy[k]=(String)tdglService.queryForObject("tdExcel.queryIdByXh",tdzy[k]);
if("".equals(tdzy[k])||tdzy[k]==null){
sfcg="0";
bcghs=String.valueOf(i+1);
bcgyy="團隊組員學號有誤";
breakother;
}
rs++;
}
td.setTdzy(tdzy);
}else{
sfcg="0";
bcghs=String.valueOf(i+1);
bcgyy="團隊組員不可為空";
breakother;
}
}
}
td.setRs(String.valueOf(rs));
tdxxList.add(td);
}
}
}catch(IOExceptione){
e.printStackTrace();
}
if("2".equals(sfcg)){


for(DrTdbtdxx:tdxxList){
tdglService.insert("tdExcel.addTdxx",tdxx);
tdglService.insert("tdExcel.addTdzz",tdxx);
tdglService.insert("tdExcel.addTdzy",tdxx);
tdglService.insert("tdExcel.addZdjs",tdxx);
}

}
map.put("sfcg",sfcg);
map.put("bcghs",bcghs);
map.put("bcgyy",bcgyy);
returnmap;
}

看不懂留言

B. POI是什麼如何使用

POI
中國POI(Point of Interest)資料庫
什麼是POI?
POI是「Point of Interest」的縮寫,可以翻譯成「興趣點」吧,每個POI包含四方面信息,名稱、類別、經度、緯度。
這個計劃的遠景目標是建立全國的POI資料庫,並且全部開放。
目前POI資料庫計劃已經發布有北京市區POI數據16000條,全國村鎮POI數據8萬余條。全國其它地區的POI數據正在搜集整理中,同時還有一個全國公路收費站POI數據的計劃也在進行。
一、道路收費站標注計劃
1 估計總數據量:目前全國總共有2000多個路橋收費站,其中廣東有418個,居全國之首。點這里看詳情...
2 估計完成時間:2004年6月30日。
3 適用機型:根據我們目前掌握的技術,這些數據可以作為地圖的一部分用於任何能載入自製地圖的GPS上,比如GARMIN、MAGELLAN的手持GPS。對沒有地圖功能或者自己無法上載地圖的GPS,可以作為航點(WAYPOINT)上傳,GPS手持機一般都有至少500航點的存儲能力,足以應付日常用途。
4 數據提供模式:
融合到拼音版地圖中。有GARMIN、MAGELLAN兩種格式。
OZI航點文件格式。每個省的收費站作為一個單獨的WAYPOINT文件,可以分別上傳到GPS上。
MAPINFO交換文件格式,也以省為單位劃分成獨立的文件,方便用於其它場合。
5 數據更新周期:每周更新一次。
6 項目起因:
平常行車,最花錢的部分就是道路通行費,甚至高達油錢的3倍。不僅高速公路收費,就連國道省道縣道也收費,收費標准甚至高於高速公路。「貸款修路,收費還貸」成了想方設法收費的「理由」。違規設立道路收費站、出讓道路收費權、延長道路收費期限等現象在全國屢見不鮮。道路高收費也是超載現象產生的根源之一。我們個人無法改變這種現狀,走不起只能繞過去。要避開這些國道收費點,在GPS普及之前是個相當困難的問題,因為那些地方我們可能一輩子也就去那麼一兩次,看到收費站的時候,就算想繞道,恐怕都不知道該走哪條路繞。而對當地人來說,凡是有收費站的地方,一定就有小路繞行。有個朋友說,「國道進天津收費20,我提前左轉彎,多開3公里,就躲過去了,至今最少已經節約了幾百塊」。集合大家的力量,把全國范圍的道路收費站確切位置標注出來,善莫大焉。當然,最好能同時提供繞行路線,並標注繞行的代價,比如多繞的距離、路面質量以及需要注意的地方。
7 參與方式:
這個項目的特點決定了這是一個需要全國GPS愛好者共同參與才能作好的項目,對每一個參與者來說,不用花費多少時間,只要在路過收費站的時候,在GPS上打個點(WAYPOINT),然後將這個點的坐標、所在道路、收費站名稱、收費起止時間、收費標准等信息發EMAIL給俺,當然如果有GPS軌跡形式或者ROUTE形式的繞行路線就更理想了。俺的郵箱在網站首頁,來信的時候請在標題中帶上「POI」三個字母。
希望對這個項目有興趣的朋友將這個項目推薦給別的GPS愛好者,大家共同努力,盡快完成這個項目。
二、全國POI數據
目前正在整理、搜集、製作更多的POI數據,將會陸續發布。對此事有興趣的朋友請根據首頁聯系方法隨時與兄弟聯系。
1. 北京市區POI資料庫
這個資料庫包含了北京城區的16000多個POI數據,POI名稱有漢字和拼音兩種版本,這些POI數據可以傳輸到GPS中,前提條件是GPS支持POI或者地圖。支持POI的手持GPS有Magellan GPS315/320系列,比如GPS315可以儲存18220個POI數據(僅限英文版。兄弟測試過中文版315,無法上傳POI數據)。常見的支持上傳地圖的手持GPS有Garmin eTrex系列的Legend和Vista,Magellan的Meridian系列和Sportrak系列。對地圖機來說,POI數據可以作為地圖,因此只要地圖機的內存允許,就可以添加任意數量的POI。

C. 百度地圖Place API返回poi數據不全怎麼解決

用php寫後台程序,連接資料庫! /wiki/static/map/API/examples/?v=1.3&3_0#3&0裡面的自家數據+前端搜索可供參考!網路地圖Place API返回poi數據不全怎麼解決