OpenLayers
์คํ๋ ์ด์ด๋ ์คํ ์์ค ์น ๋ธ๋ผ์ฐ์ ์์ ์ง๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๊ธฐ ์ํ javaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ
OpenLayers๋ ์ง๋์๋ฒ๋ฅผ ์ด์ฉํด์ ์ง๋๋ฅผ ๋์ธ ์ ์๋ ์คํ์์ค
- ์ง๋ ์๋น์ค๋ฅผ ์ ๊ณตํ์ง ์์.
- ์ง๋์๋น์ค๋ฅผ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ๋๊ตฌ
- ๊ธฐ๋ฅ๋ณ๋ก ๋๋ js / ์ ์ฒด๋ก ๋ฌถ์ธ js
1 ) map
์น ์ง๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๊ธฐ๋ณธ์ด ๋๋ ํด๋์ค
์์ฑ์ : OpenLayers Map(div, options)
div | ์ง๋๋ฅผ ๋ณด์ฌ์ค ์์ญ ์์ฑ์ ์ํ div์ง์ |
options | Map๊ฐ์ฒด ์์ฑ์ ์ํ ์ต์ ๋ค๋ก ์์ญ, ์ขํ๊ณ, ๋จ์ ๋ฑ์ ๋ช ์ํ๋ ๋ถ๋ถ |
2 ) Layer
Layer๋ฅผ ์์ฑํ๊ณ ์กฐ์ํ๋ ํ๋กํผํฐ ๋ฐ ํจ์๋ก ๊ตฌ์ฑ๋ ํด๋์ค.
WMS , WFS , GML , Vector Layer ๋ฑ์ ์ง์ํ๋ค. |
Layer๋ ํ์ค์ธ๊ณ feature ์ ์งํฉ์ด๋ค. |
ํ์(feature)์ด๋ ํ์ค์ธ๊ณ์ ๋์๋ค์ ํํ |
ex) ๊ฑด๋ฌผํ๋ = feature / ์ด๋ค์ ์งํฉ = Layer |
Map ์ปจํ
์ด๋ ์์ ์ฌ๋ฌ๊ฐ์ Layer๋ฅผ ๋ฑ๋กํ์ฌ ๋ณด์ฌ์ค ์ ์๋ค. |
{OpenLayers.Strategy}.class
๋ฒกํฐ ๋ ์ด์ด ๋ด์ ์กด์ฌํ๊ณ ์๋ feature๋ฅผ ์ด๋ค ์์ผ๋ก ์ง๋์ ํํํ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํ๋ ์ ๋ต์ผ๋ก zoom, level, Extent ๋ฑ์ ๋ณํ๋ฅผ ๋ฐ๋ผ Feature๋ค์ด ํํ๋๋ ๋ฐฉ์์ ๋ณํ๊ฒ ๋๋ค.
์ข ๋ฅ๋ก๋ BBOX, Cluster, Filter, Fixed, Paging, Refresh, Save ํผํฉํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅ.
{OpenLayers.Filter}.class
๊ณต๊ฐ ๋ฐ ์์ฑ์ ์กฐํํ ๋ ๊ธฐ์ค์ ๋ง์กฑํ๋ Feature๋ฅผ ์ ํ
๋น๊ต ์ฐ์ฐ, ๋ ผ๋ฆฌ ์ฐ์ฐ, ๊ณต๊ฐ ์ฐ์ฐ, ํจ์ ๋ฑ์ ์กฐ๊ฑด๋ฌธ์ ์์ฑํ ์ ์๋ค.
{OpenLayers.Symbolizer}.class
๋ฒกํฐ ์ฌ๋ณผ์ ์ข ๋ฅ์ ๋ฐ๋ผ ์คํ์ผ์ ์ค์ ํ ์ ์๋๋ก ์ ๊ณตํ๋ ํด๋์ค
์ฌ๋ณผ์ ์ข ๋ฅ์๋ Line, Point, Polygon, Raster, Text๊ฐ ์์ด ๊ฐ ์ ํ๋ณ๋ก ์คํ์ผ์ ์์ฑํ ์ ์๋๋ก ํ๋กํผํฐ ์ ๊ณต
{OpenLayers.Style}.class
Symbolizer์ ํด์ ํ๋กํผํฐ๋ฅผ ์ ๋ฌํ์ฌ Style ํด๋์ค ์์ฑ
ํ๋์ ์คํ์ผ์ ์ง์ ํ ์ ์๋ค.
{OpenLayers.StyleMap}.class
Style ํด๋์ค๋ฅผ ํตํด ์์ฑ๋ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ฒด๋ฅผ StyleMap์ ์์ฑ์์ ์ฌ์ฉ๋ ์ ์๋ค.
StyleMap์๋ ๋ค ๊ฐ์ง ์ข ๋ฅ ( “default” , “temporary”, “select” ,”delete”) ํ์ ์ด ์๋ค.
3) Controls
OpenLayers์์ Control์ ์ง๋ ์์ญ ๋ด์ ์ง๋๋ฅผ ํ๋, ์ถ์, ์ด๋๊ณผ ๊ฐ์ ์กฐ์ ํ์๋ฅผ ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฐ์ฒด์ด๋ค.
OpenLayer๋ ์ฝ 40๊ฐ์ ์ปจํธ๋กค์ ์ง์
- ์ฌ์ฉ์์ ์ง๋ ๊ฐ์ ์ํธ์์ฉ์ ์ํ ๋๊ตฌ
- ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๋ฉฐ ์ฃผ์ํ ์์์ด๋ค.
- ์ข ๋ฅ๋ ์ฝ 46๊ฐ์ง
control ์ถ๊ฐ | map.addControl(); |
control ์ญ์ | map.removeControl(); |
4) view
์ง๋์ ํด์๋ ๋ฐ ํ์ ๊ฐ์ ๋น์ฃผ์ผ ๊ด๋ฆฌ ํด๋์ค
EPSG:3857 ๊ตฌ๊ธ ์ขํ๊ณ = ๊ธฐ๋ณธ๊ฐ
EPSG:4326 ๊ฒฝ์๋ ์ขํ๊ณ
OpenLayers ์ง๋ ๋์ฐ๊ธฐ
1) div ์์ญ ์ค์
<div id="map" style="width: 1024px; height: 768px"></div>
2) OpenLayers๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด JS, CSS ํ์ผ
<link rel="stylesheet" href="./GIMap/Theme/default/style.css" type="text/css" />
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="./GIMap/OpenLayers/OpenLayers.js"></script>
3) {OpenLayers.Map} class๋ก Map Object ์์ฑ
{OpenLayers.Layer} class๋ก Layer ์์ฑ
<script type="text/javascript">
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: ol.proj.fromLonLat([37.41, 8.82]),
zoom: 4
})
});
</script>
'Basic' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[html] table colspan rowspan (0) | 2021.04.14 |
---|---|
[java] equals ๊ณผ == ์ ์ฐจ์ด (0) | 2021.04.07 |
์ ๋๊ฒฝ๋ก ์๋๊ฒฝ๋ก ์ฐจ์ด (0) | 2021.01.14 |
Simple jquery coding test site (0) | 2021.01.12 |
์๋ฃ๊ตฌ์กฐ (Data Structure) (0) | 2020.09.17 |