ํƒœ๊ทธ ๋ณด๊ด€๋ฌผ: qgis

qgis

QGIS ์ธ์‡„ ์ž‘๊ณก๊ฐ€์—์„œ ํžˆ์Šคํ† ๊ทธ๋žจ ๋ฒ”๋ก€๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฒ”๋ก€ / ํžˆ์Šคํ† ๊ทธ๋žจ

๋‚ด๊ฐ€ ๋ฐœ๊ฒฌ ํ•œ ์ด ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์„ ๋™์ ์œผ๋กœ ์ธ์‡„ ์ž‘๊ณก๊ฐ€์˜ ๊ทธ๋ž˜ํ”„ (ํžˆ์Šคํ† ๊ทธ๋žจ)์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๊ณ ์žˆ๋‹ค.

๋ธ”๋กœ๊ทธ์—์„œ ๋ณต์ œํ•˜๋ ค๋Š” ๊ธฐ๋Šฅ์€ qgis ์ธ์‡„ ์ž‘๊ณก๊ฐ€์— ์ •์  ์‚ฌ๊ฐํ˜•์„ ๊ทธ๋ฆฐ ๋‹ค์Œ์ด ๊ฒฝ์šฐ ํ•„๋“œ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ํžˆ์Šคํ† ๊ทธ๋žจ์˜ ๋ง‰๋Œ€๋กœ ํฌ๊ธฐ๋ฅผ ์ •ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋ฒ”๋ก€ / ํžˆ์Šคํ† ๊ทธ๋žจ ์ƒ์„ฑ

์ด ์ž์Šต์„œ๋ฅผ ๋”ฐ๋ฅผ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ a) matplotlib์—์„œ ํ•„์š”ํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ ์˜ค๋Š” ๊ฒƒ๋ณด๋‹ค ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. b)์ด ๊ธฐ๋Šฅ์ด ํ–ฅํ›„ ๋ฒ„์ „์—์„œ qgis์— ๋‚ด์žฅ ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ์ด๋ฏธ์ง€ ์„ค๋ช…์„ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค



๋‹ต๋ณ€

๊ทธ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ๋„ ๋ณด์•˜๊ณ  ๊ฐ™์€ ๊ฒƒ์„ ๊ถ๊ธˆํ•ดํ–ˆ์Šต๋‹ˆ๋‹ค!

JavaScript๋ฅผ ์กฐ๊ธˆ์ด๋ผ๋„ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๋Š”๋‹ค๋ฉด HTML ํ”„๋ ˆ์ž„ ๊ณผ D3 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .

๋‹ค์Œ์€ ๋‚ด๊ฐ€ ํ•˜๋“œ ์ฝ”๋”ฉ ํ•œ ์˜ˆ์ž…๋‹ˆ๋‹ค. QGIS Expressions๋ฅผ ํŽ˜์ด์ง€ ์†Œ์Šค์— ์‚ฝ์ž… ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (QGIS 2.14 ์ด์ƒ์—์„œ)

ํ•„์ž์˜ ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €์˜ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ html ํŒŒ์ผ์„ ๋กœ์ปฌ์— ์ €์žฅํ•˜๊ณ  ํ‘œ์‹œ ํ•  ๋•Œ๊นŒ์ง€ ํ•ดํ‚นํ–ˆ์Šต๋‹ˆ๋‹ค.

์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด ํŽ˜์ด์ง€ ์†Œ์Šค๋ฅผ โ€˜์†Œ์Šคโ€™ํ…์ŠคํŠธ ์ƒ์ž์— ์ง์ ‘ ๋ถ™์—ฌ๋„ฃ๊ณ  Insert an expression๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ QGIS ํ‘œํ˜„์‹ (์˜ˆ : ํ•„๋“œ ๊ฐ’, ๋ณ€์ˆ˜ ๋“ฑ)์„ ๋“œ๋กญ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ํ•จ๊ป˜์—์„œ ๊ทธ ์˜ˆ๋ฅผ ์ž๊ฐˆ๊ธธ alignedleft.com์„ . ์ด ์ž์Šต์„œ๋Š” ๊ฐ„๋‹จํ•œ ๋ชฉ๋ก์—์„œ ๋ง‰ ๋Œ€ํ˜• ์ฐจํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ ์ฃผ๋ฏ€๋กœ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ณธ ๋Œ€๋ถ€๋ถ„์˜ ์˜ˆ๋Š” ๋ณ„๋„์˜ TSV ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Bl.ocks.org ์—๋Š” ๋งค์šฐ ํฐ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

GitHub ์—์„œ AlignedLeft ํŠœํ† ๋ฆฌ์–ผ ์ฝ”๋“œ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์ข‹์€ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โ€ฆ ๋ช‡ ๊ฐ€์ง€ d3 ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ด๋ฏธ ์žˆ์ง€๋งŒ ๋ณผ ์ˆ˜์žˆ๋Š” ๊ธฐํšŒ๋Š” ์—†์—ˆ์ง€๋งŒ ๋ณผ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?


๋‹ต๋ณ€

DataPlotly์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

DataPlotly๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์™ธ๋ถ€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐ ๋œ ํ•„๋“œ์˜ ๋ฐฑ๋ถ„์œจ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ๊ฐํ˜•์„ ์Šค์ผ€์ผ๋งํ•˜๋Š” ๋Œ€์‹  (๋งํฌ ๋œ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ์— Excel์ด ์‚ฌ์šฉ๋จ) Atlas ๊ธฐ๋Šฅ์˜ ํžˆ์Šคํ† ๊ทธ๋žจ์„ ์ง์ ‘ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋‹ต๋ณ€ ๋์— DataPlotly ๊ฐ์ฒด์˜ ๊ตฌ์„ฑ XML์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋กฏ ํžˆ์Šคํ† ๊ทธ๋žจ์—์„œ ๋ชจ๋“  ๋ง‰๋Œ€์˜ ์ƒ‰์ƒ์€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ณ„์ ์œผ๋กœ ์ƒ‰์ƒ์ด ์ง€์ •๋œ ๋ง‰๋Œ€๋ฅผ ์–ป์œผ๋ ค๋ฉด ๋ฒ”๋ก€ ๊ฐ์ฒด (10 ์—ด, ๋ชจ๋“  ๋ฒ”๋ก€ ํ•ญ๋ชฉ ํ…์ŠคํŠธ๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๋ฐ”๊พธ๊ณ  ๋ชจ๋“  ๊ฐ„๊ฒฉ์„ ์ œ๊ฑฐํ•˜๊ณ  ๊ธฐํ˜ธ์˜ ๋†’์ด์™€ ๋„ˆ๋น„๋ฅผ ์‹ ์ค‘ํ•˜๊ฒŒ ์กฐ์ •ํ•˜๋Š” ๋“ฑ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํžˆ์Šคํ† ๊ทธ๋žจ ์œ„์— ๋ฐฐ์น˜ํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค. โ€œ์Šคํฌ๋ฆฐโ€๋ธ”๋ Œ๋”ฉ ๋ชจ๋“œ.

DataPlotly๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•„์ง ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๋“ค

  • ์ถ• ์ œํ•œ์„ ์ง€์ •ํ•˜๋Š” ๋™์•ˆ ๊ฐ€๋กœ ๋ง‰๋Œ€
  • ๋ชจ๋“  ๋ง‰๋Œ€ ๋ผ๋ฒจ๋ง
  • ๋ผ๋ฒจ ๊ธ€๊ผด ์กฐ์ •
  • ๊ทธ๋ฆฌ๋“œ ๋ผ์ธ ์ œ๊ฑฐ / ์กฐ์ •

DataPlotly ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ํ˜„์žฌ ๊ฐœ๋ฐœ ์ค‘์ด๋ฏ€๋กœ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ ์ค‘ ์ผ๋ถ€๋Š” ๋‚˜์ค‘์— ํ•ด๊ฒฐ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


DataPlotly ๊ตฌ์„ฑ ํŒŒ์ผ configuration.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dataplotly>
<Option type="Map">
 <Option type="Map" name="dynamic_properties">
  <Option type="QString" name="name" value=""/>
  <Option name="properties"/>
  <Option type="QString" name="type" value="collection"/>
 </Option>
 <Option type="Map" name="plot_layout">
  <Option type="QString" name="additional_info_expression" value=""/>
  <Option type="QString" name="bar_mode" value="group"/>
  <Option type="double" name="bargaps" value="0"/>
  <Option type="bool" name="bins_check" value="true"/>
  <Option type="bool" name="legend" value="false"/>
  <Option type="QString" name="legend_orientation" value="h"/>
  <Option type="invalid" name="legend_title"/>
  <Option type="Map" name="polar">
   <Option type="Map" name="angularaxis">
    <Option type="QString" name="direction" value="clockwise"/>
   </Option>
  </Option>
  <Option type="Map" name="range_slider">
   <Option type="int" name="borderwidth" value="1"/>
   <Option type="bool" name="visible" value="false"/>
  </Option>
  <Option type="QString" name="title" value=""/>
  <Option type="invalid" name="x_inv"/>
  <Option type="double" name="x_max" value="10.5"/>
  <Option type="double" name="x_min" value="0.5"/>
  <Option type="QString" name="x_title" value=""/>
  <Option type="QString" name="x_type" value="linear"/>
  <Option type="invalid" name="xaxis"/>
  <Option type="invalid" name="y_inv"/>
  <Option type="invalid" name="y_max"/>
  <Option type="invalid" name="y_min"/>
  <Option type="QString" name="y_title" value=""/>
  <Option type="QString" name="y_type" value="linear"/>
  <Option type="QString" name="z_title" value=""/>
 </Option>
 <Option type="Map" name="plot_properties">
  <Option type="invalid" name="additional_hover_text"/>
  <Option type="int" name="bins" value="10"/>
  <Option type="QString" name="box_orientation" value="v"/>
  <Option type="bool" name="box_outliers" value="false"/>
  <Option type="bool" name="box_stat" value="false"/>
  <Option type="invalid" name="color_scale"/>
  <Option type="bool" name="color_scale_data_defined_in_check" value="false"/>
  <Option type="bool" name="color_scale_data_defined_in_invert_check" value="false"/>
  <Option type="QString" name="cont_type" value="fill"/>
  <Option type="QString" name="contour_type_combo" value="Fill"/>
  <Option type="bool" name="cumulative" value="false"/>
  <Option type="List" name="custom">
   <Option type="QString" value="IMDD15"/>
  </Option>
  <Option type="QString" name="hover_text" value="all"/>
  <Option type="QString" name="in_color" value="#000000"/>
  <Option type="bool" name="invert_color_scale" value="false"/>
  <Option type="QString" name="invert_hist" value="increasing"/>
  <Option type="QString" name="line_combo" value="Solid Line"/>
  <Option type="QString" name="line_dash" value="solid"/>
  <Option type="QString" name="marker" value="markers"/>
  <Option type="double" name="marker_size" value="10"/>
  <Option type="int" name="marker_symbol" value="0"/>
  <Option type="QString" name="marker_type_combo" value="Points"/>
  <Option type="double" name="marker_width" value="1"/>
  <Option type="QString" name="name" value="IMDD15"/>
  <Option type="QString" name="normalization" value=""/>
  <Option type="double" name="opacity" value="1"/>
  <Option type="QString" name="out_color" value="#ffffff"/>
  <Option type="QString" name="point_combo" value=""/>
  <Option type="bool" name="selected_features_only" value="false"/>
  <Option type="bool" name="show_colorscale_legend" value="false"/>
  <Option type="bool" name="show_lines" value="false"/>
  <Option type="bool" name="show_lines_check" value="false"/>
  <Option type="bool" name="show_mean_line" value="false"/>
  <Option type="bool" name="violin_box" value="false"/>
  <Option type="QString" name="violin_side" value="both"/>
  <Option type="bool" name="visible_features_only" value="true"/>
  <Option type="QString" name="x_name" value="IMDD15"/>
  <Option type="QString" name="y_name" value=""/>
  <Option type="QString" name="z_name" value=""/>
 </Option>
 <Option type="QString" name="plot_type" value="histogram"/>
 <Option type="QString" name="source_layer_id" value="london_IMD_2004_2010_2015_081015_v120160214112646566"/>
</Option>

๋‹ต๋ณ€


์ด ๊ธ€์€ Gis ์นดํ…Œ๊ณ ๋ฆฌ์— ๋ถ„๋ฅ˜๋˜์—ˆ๊ณ  , ํƒœ๊ทธ๊ฐ€ ์žˆ์œผ๋ฉฐ ๋‹˜์— ์˜ํ•ด ์— ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.