¿¹Àü¿¡´Â POI, ÁöÀû, °Ç¹°, Ç¥±âÁö¸í, µµ·Î¸í, ÇàÁ¤°æ°è µîÀ» ÀÌ¿ëÇØ °Ë»öâÀ» ¸¸µé°í, DB¸¦ ±¸ÃàÇÏ°í À妽º¸¦ ¸¸µå´Â µî ÀÛ¾÷ÀÌ ¸¹¾Ò´Ù. ¿äÁò¿¡´Â OpenAPI·Î Áö¸í°Ë»ö, Áö¹ø°Ë»ö, µµ·Î¸íÁÖ¼Ò°Ë»ö, Geocoder µîÀ¸·Î µ¥½ºÅ©Å¾¿¡¼ ½±°Ô »ç¿ëµµ ÇÏ°í ÀÖ´Ù.
ÇÏ¿©°£ ÁÁÀº Äõ¸®¹®µµ Áß¿äÇÏÁö¸¸ ÁÁÀº µ¥ÀÌÅ͵µ ÇÊ¿äÇÕ´Ï´Ù.
Áö³¹ø ±æã±âµµ ³×ºñ°ÔÀÌ¼Ç ¾÷üÀÇ µ¥ÀÌÅ͸¦ ÀÌ¿ëÇÏµí ³×ºñ°ÔÀ̼ÇÀÇ °Ë»ö±â´Éµµ GISÀÀ¿ëÇÁ·Î±×·¥¿¡ Á¢¸ñÇϱ⿣ ÁÁÀº ¾ÆÀ̵ð¾îÀÔ´Ï´Ù. ÁÖº¯/ÃÖ±Ù/Ãʼº ã±âµµ ÀÖ°í, ´ë¿ë·®À» »¡¸® ã°í, Å׸¶¶ó°íÇؼ ´ëÁß¼Ò ºÐ·ù·Î À½½ÄÁ¡/ÁÖÀ¯¼Ò µî DB Å×À̺íÀÇ Ä÷³¿¡ ºÐ·ùü°è°¡ Àß µÇ¾î ÀÖ¾î È°¿ë¼ºÀÌ ÁÁ½À´Ï´Ù.
1. ±¹°¡°ü½ÉÁöÁ¡(Point of interest)À» MDB·Î ¸¸µç ÆÄÀÏÀº ¾à 600¸¸°Ç(6,065,659)À¸·Î,
Äõ¸® ¼Óµµ¸¦ À§ÇØ À妽º Çϳª ¸¸µé¾î ³ÖÀ¸¸é ¾à1.2GB (¾ÐÃàÇϸé 324MB)ÀÔ´Ï´Ù.
- ´ë¿ë·®À̶ó °Ô½ÃÇÒ ¼öµµ ¾ø¾î¼, ³×À̹öŬ¶ó¿ìµå µå¶óÀ̺꿡 ¿Ã·Á ¸µÅ©¸¦ °É¾ú½À´Ï´Ù
- ¸µÅ©´Â ¿ø¹®(http://cafe.naver.com/gisapplication/905)¿¡¸¸ °Ô½ÃÇÕ´Ï´Ù. (Á¤È¸¿ø¸¸ Á¢±ÙÇÏ°Ô µÇ¾îÀÖ½À´Ï´Ù)
Á¦°¡ ¹«·á·Î¸¸ »ç¿ëÇϹǷΠURL ¸¸·áÀÏ(2016.03.14)µµ ÀÖ°í 100¿©¸í Á¦Çѵµ ÀÖ¾î¼¿ä ¤Ð¤Ð
- °Ë»öÀº ¾Æ·¡ ´ëÁ߼Һзù¿Í PNU/ÁÖ¼Ò µîÀ» È°¿ëÇؼ »ó¼¼ Áö¸íÀ» °Ë»öÇϵµ·Ï ÀÀ¿ëÇÒ ¼ö ÀÖ´Â ±¸Á¶ÀÔ´Ï´Ù
- ÁÂÇ¥´Â ÀÌÀü ±âÁØÀÎ "UTM-K GRS80"À» »ç¿ëÇÕ´Ï´Ù.
2. POI MDB¸¦ ÀÌ¿ëÇÑ ´Ü¼ø Áö¸í°Ë»ö ¿¹Á¦ ÇÁ·Î±×·¥
- À§¿¡¼ º» Å×ÀÌºí ±¸Á¶¸¦ º¸¸é ´ëÁ߼Һзù¿Í PNU/ÁÖ¼Ò µîÀ» È°¿ëÇؼ »ó¼¼ Áö¸íÀ» °Ë»ö ÀÀ¿ëÇÒ ¼ö ÀÖÁö¸¸
º» ¿¹Á¦´Â ´Ü¼ø ¸íĪ¸¸ °Ë»öÇÕ´Ï´Ù. Àε¥½º »ý¼ºÇÏÁö ¾ÊÀ¸¸é ¾à 20~25ÃÊ °É¸®³ª À妽º »ý¼ºÇϸé 1Ãʵµ ¾È°É¸³´Ï´Ù.
±×¸®°í, Äõ¸®½Ã Äõ¸®¾çÀÌ ¸¹°Å³ª ¾à 600¸¸°ÇÀ» ´Ù µ¹¸®´Â°Íº¸´Ù´Â "select TOP 50 " µîÀÇ Á¦ÇÑÀ¸·Î ¸Þ¸ð¸® ÃÊ°úµî
¿À·ù¸¦ ¿¹¹æÇϼ¼¿ä.
- Äõ¸®¸¦ ½º·¡µå(Thread)¸¦ »ç¿ëÇÏ¿© ÇÁ·Î±×·¥ ¸ØÃãÀ̳ª ¹ö¹÷°Å¸²À» ¿¹¹æÇÏ¿´½À´Ï´Ù.
- ÁÂÇ¥´Â ÀÌÀü ±âÁØÀÎ "UTM-K GRS80"À» »ç¿ëÇÕ´Ï´Ù. ¼Ò½º¿¡¼´Â °£´ÜÇÑ ¼ö½ÄÀ¸·Î ±Ù»çÄ¡ WGS84·Î º¯È¯ÇÏ¿© ºêÀÌ¿ùµå¸¦
À̵¿½Ãŵ´Ï´Ù
- µ¨ÆÄÀ̼ҽº·Î ¿¹Á¦¸¦ ¿Ã·ÈÀ¸³ª ¸¶Âù°¡Áö·Î ¿ø¹®(http://cafe.naver.com/gisapplication/905)¿¡¸¸ °Ô½ÃÇÕ´Ï´Ù.
(¼Ò½º¼öÁ¤°ü¸®)
- ½ÇÇà¹æ¹ýÀº ¾ÐÃàÀ» Ç®°í, ½ÇÇàÆÄÀÏÀÌ ÀÖ´Â ReleaseÆú´õ¿¡ À§¸µÅ©¿¡¼ ´Ù¿î¹ÞÀº TN_NPOIBASS.mdb¸¦ °°Àº
À§Ä¡¿¡ ³Ö¾î¼ ½ÇÇàÆÄÀÏÀ» °¡µ¿Çϼ¼¿ä
* ÁÖ¿ä¼Ò½º
function YLconnect (aConn: TADOConnection): boolean; var sSql, sPath: string; begin result := True; if aConn.Connected then exit; result := False; try sPath := ExtractFilePath (Application.ExeName); aConn.ConnectionString := format (CSConnStr, [sPath + 'TN_NPOIBASS.mdb', sPath]); //6,065,659°Ç aConn.Open; result := True; except end; end;
function MyThread(P:pointer):LongInt;StdCall; begin with Thread_aQuery do begin close; sql.Clear; //sql.add(Thread_asSql); SQL.Text := Thread_asSql; open; //ExecSQL; end; end;
function YLExeQueryThread (aQuery: TADOQuery; asSql: string; End_Proc:TEndProc): integer; var waitresult: Dword; begin result := -1;
try if(Thread_hThread = 0)then begin result := 0; Thread_aQuery := aQuery; Thread_asSql := asSql;
Thread_hThread := CreateThread(nil, 0, @MyThread, nil, 0, Thread_ID); if(Thread_hThread <> 0)then begin repeat try Application.ProcessMessages; if Thread_NowClose then exit; waitresult := WaitForSingleObject(Thread_hThread, 100); // ½º·¹µå°¡ Á¾·áÇÒ ¶§±îÁö ´ë±â INFINITE except end; until waitresult <> WAIT_TIMEOUT; if waitresult <> WAIT_FAILED then begin try CloseHandle(Thread_hThread); TerminateThread(Thread_hThread,0); Thread_hThread := 0; End_Proc(0); finally end; end; end; end; except end; end;
/////////////////////////////////////////////////////////////////////
procedure TFormMain.BitBtn1Click(Sender: TObject); var sSql, FieldValue: string; strArr : TStringList; i : integer; begin if(YLConnect(ADOConnection1))then begin strArr := TStringList.Create; ExtractStrings([' '],[],Pchar(Edit1.Text),strArr); FieldValue := ''; for i:= 0 to strArr.Count-1 do begin if(strArr.Strings[0] <> '')then begin if(i = 0)then FieldValue := '(FMYNM Like ' + '''' + strArr.Strings[i] + '%'')' else FieldValue := FieldValue + 'AND'+ '(FMYNM Like ' + '''%' + strArr.Strings[i] + '%'')'; end; end; strArr.Free;
if(FieldValue <> '')then begin sSql := format ('select TOP 50 FMYNM,LEGALCD,RNADRES,ETCADRES,XCOORD,YCOORD from TN_NPOIBASS where %s ', [FieldValue]); sSql := sSql + ' and LEGALCD IS NOT NULL '; TGIFImage(Image1.Picture.Graphic).Animate := true; Image1.Visible := true; YLExeQueryThread(ADOQuery1, sSql, End_Query); end; end; //FMYNM LEGALCD (¹ýÁ¤ÄÚµå10ÀÚ¸®) RNADRES(µµ·ÎÁÖ¼Ò) ETCADRES(ÁöÀûÁÖ¼Ò) XCOORD YCOORD end;
|