๋ ˆ์Šคํ† ๋ž‘ <-> ์‚ฌ์šฉ์ž ์œ„์น˜ ๊ฑฐ๋ฆฌ ๊ตฌํ•˜๊ธฐ

์‚ฌ์šฉ์ž ์œ„์น˜์™€ ๋ ˆ์Šคํ† ๋ž‘ ์‚ฌ์ด์— ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜์—ฌ ๊ฐ€๊นŒ์šด ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•ด์•ผ ํ–ˆ๋‹ค. 

์šฐ์„  ๋ ˆ์Šคํ† ๋ž‘ Data์—๋Š” ๋„๋กœ๋ช… ์ฃผ์†Œ๋Š” ์กด์žฌํ•˜์ง€๋งŒ ์œ„์น˜ ์ •๋ณด๋Š” ๋”ฐ๋กœ ์กด์žฌํ•˜์ง€ ์•Š์•„ ์œ„์น˜ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ด์•ผ๋งŒ ํ–ˆ๋‹ค. ๋„๋กœ๋ช…์ฃผ์†Œ์—์„œ ์ œ๊ณตํ•˜๋Š” DB ๋ฐ์ดํ„ฐ๋“ค์ด ์กด์žฌํ•˜๋Š”๋ฐ ๊ทธ ์ค‘์— ๋„๋กœ๋ช… ์ฃผ์†Œ DB๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋„๋กœ๋ช… ์ฃผ์†Œ DB์—๋Š” ๋„๋กœ๋ช… ์ฃผ์†Œ ๋ณ„ UTM-K ์ขŒํ‘œ๊ณ„ ๊ธฐ๋ฐ˜ ์ขŒํ‘œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์œ„์น˜ ์ •๋ณด๋ฅผ ๋งคํ•‘์‹œ์ผœ์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

๊ฐ€์žฅ ๋จผ์ € ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๊ณผ์ •์„ ์ •๋ฆฌํ•˜์ž๋ฉด 

1. ๋ ˆ์Šคํ† ๋ž‘ ์ •๋ณด๋ฅผ DB์— ์ž…๋ ฅ ์‹œํ‚จ ํ›„ 
2. ๋„๋กœ๋ช… ์ฃผ์†Œ DB์˜ ์ขŒํ‘œ ์ •๋ณด๋ฅผ DB์— ์ž…๋ ฅ ์‹œํ‚จ๋‹ค. 
3. ๊ทธ ํ›„์— ๋ ˆ์Šคํ† ๋ž‘ ์ •๋ณด์™€ ๋„๋กœ๋ช… ์ฃผ์†Œ๋ฅผ ๋งคํ•‘์‹œํ‚จ๋‹ค.

 

์ด์ œ ๋ ˆ์Šคํ† ๋ž‘์˜ ์ขŒํ‘œ๋ฅผ ๋ชจ๋‘ ์ž…๋ ฅํ•˜์˜€๋‹ค. 

 

๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•ด๋ณด์ž. ๋ณดํ†ต ์‚ฌ์šฉ์ž์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฝ์šฐ gps ์ขŒํ‘œ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋Š” WGS ์ขŒํ‘œ๊ณ„์ด๋‹ค.  ๋ ˆ์ŠคํŠธ๋ž‘ ์ขŒํ‘œ๋Š” UTM-K ์ขŒํ‘œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ณ€ํ™˜์ด ํ•„์š”ํ•˜๋‹ค. ์ขŒํ‘œ ๋ณ€ํ™˜์€ Proj4js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•ด์„œ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.

 

        if('geolocation' in navigator) {
            navigator.geolocation.getCurrentPosition((position => {

                Proj4js.reportError = function(msg) { alert(msg); }
                Proj4js.defs['GRS80'] = '+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs';
                Proj4js.defs['WGS84'] ='+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs';

                var GRS80 = new Proj4js.Proj('GRS80');
                var WGS84 = new Proj4js.Proj('WGS84');

                var utmk = new Proj4js.Point(position.coords.longitude, position.coords.latitude);
                Proj4js.transform(WGS84, GRS80, utmk);

                document.cookie = "location=" + utmk.x + "|" + utmk.y;
            }));
        }

 

์ž ์ด์ œ, ์‚ฌ์šฉ์ž ์œ„์น˜ ์ •๋ณด๋ฅผ UTM-K๋กœ ๋ณ€ํ™˜ํ•˜์˜€์œผ๋‹ˆ ๋ง˜๊ป ๊ฑฐ๋ฆฌ ์ •๋ณด๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. 

 

์ตœ์ข…์ ์œผ๋กœ ๋กœ์ง์„ ์ •๋ฆฌํ•˜์ž๋ฉด 

1ํšŒ์„ฑ
๋ ˆ์Šคํ† ๋ž‘ ๋„๋กœ๋ช… ์ฃผ์†Œ์™€, ๋„๋กœ๋ช… ์ฃผ์†Œ ์ขŒํ‘œ ์ •๋ณด๋ฅผ ๋งคํ•‘ํ•˜์—ฌ ์ขŒํ‘œ ์ •๋ณด๋ฅผ ๊ตฌํ•œ๋‹ค. 
์‚ฌ์šฉ์ž ์œ„์น˜ ์ •๋ณด๋ฅผ UTM-K ์ขŒํ‘œ๊ณ„๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ฟ ํ‚ค์— ์ €์žฅํ•œ๋‹ค.

for(๋ชจ๋“  ์‹๋‹น์— ๋Œ€ํ•˜์—ฌ ๋ฐ˜๋ณตํ•œ๋‹ค.)
		1. ํ˜„์žฌ์œ„์น˜ ↔  ๋ ˆ์Šคํ† ๋ž‘ ์œ„์น˜ ๊ณ„์‚ฐ

๊ฑฐ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ

 

๊ฑฐ๋ฆฌ ๊ตฌํ•˜๊ธฐ ๋!