이번 포스팅에서는 지리공간 데이터 중에서 실제 세계를 도형으로 표현(graphical representation) 하는 벡터 데이터 모델 (Vector data model)에서 사용하는 기하 유형 (geometry types)에 대해서 소개하겠습니다.

(* 참고로 레스터 데이터는 실제 세계를 픽셀로 이루어진 그리드 안에 지리특성 값을 가지는 형태라고 하였습니다.)

벡터 데이터의 기하 유형에는 총 17개가 있는데요, 이번 포스팅에서는 그중에서도 많이 사용되는 아래의 7개의 대표적인 유형에 대해서만 설명을 하겠습니다.

(1) 점 (Point)
(2) 선 (LineString)
(3) 면 (다각형) (Polygon)
(4) 다중점 (MultiPoint)
(5) 다중선 (MultiLineString)
(6) 다중면 (MultiPolygon)
(7) 기하집합 (GeometryCollection)

총 17개의 기하 유형 중에서 위에서 설명한 7개 이외에 나머지 유형에 대해서는 PostGIS 사이트를 참고하시기 바랍니다. ( http://postgis.net/docs/using_postgis_dbmanagement.html )

[ 벡터 데이터의 기하 유형 (Geometry Types of Vector data) ]



  (1) 점 (Point), 다중점 (MultiPoint)


점은 2D (위도, 경도), 3D (위도, 경도, 해발고도), 또는 4D (위도, 경도, 고도, 측정 정확도) 공간 상의 하나의 위치 좌표에 해당합니다.

예: Point (3 3)

(Point)은 0 차원으로서, 각 기하도형의 가장 기본이 되는 형태입니다. 여러개의 점을 이어주면 선이 되고, 선을 닫아주면 면이 되는 식이니깐요. 이렇게 점 --> 선 --> 면 혹은 점 --> 다중점, 선 --> 다중선, 면 --> 다중면 방향으로 기하도형을 변환하는 것을 구성(composition) 한다고 하며, 그 반대 방향으로의 변환을 해체(Decompostion) 한다고 합니다.

점은 우물, 랜드마크, 관심지역(Point of Interest) 등의 지리특성을 정의할 때 사용합니다.

R에서 점(point)을 만들 때 st_point() 함수를 사용합니다. st_point(dim="XYM") 에서 dim 은 차원(dimension)을 의미하고, M은 보통 Measurement 의 M (측정 정확도, measurement accuracy)을 의미합니다. 점의 2D, 3D, 4D 좌표는 c() 로 묶어줍니다.(concatenate)

참고로, 접두사 'ST_' 는 PostGIS의 함수에서도 동일하게 사용되며, 'standard Spatial Type (ST)' 의 앞글자를 딴 것입니다.


install.packages("sf")

library(sf)


##----------------
## point

## XY point
st_point(c(3, 3))
# POINT (3 3)

## XYZ point
st_point(c(3, 3, 2))
# POINT Z (3 3 2)

## XYM point
st_point(c(3, 3, 1), dim = "XYM")
# POINT M (3 3 1)

## XYZM point
st_point(c(3, 3, 2, 1))
# POINT ZM (3 3 2 1)





  (2) 선 (LineString)


선(LineString) 은 점들을 직선으로 연결한, 여러개 점들의 연속적인 집합입니다. 선은 아래의 예처럼 몇 개 점들의 집합으로 표현할 수 있습니다(이들 점을 순서대로 직선으로 연결).

예: LineString (1 1, 1 3, 3 5)

선은 1차원(dimension of 1)이며 길이(length)가 있습니다. (반면, 점은 0 차원이고 길이가 없음)
선은 길, 철도, 강, 전선 등과 같이 선형 특성을 가진 지형지물을 정의하는데 사용합니다.

R에서 선(LineString)은 st_linestring() 함수를 사용하여 만들 수 있습니다. 선을 이루는 여러개 점들의 좌표는 rbind()로 행렬을 만들어서 사용합니다.


##----------------
## LineString using matrices
linestring_matrix = rbind(c(1, 1), c(1, 3), c(3, 5))


st_linestring(linestring_matrix)
# LINESTRING (1 1, 1 3, 3 5)





  (3) 면 (다각형) (Polygon)


(Polygon)은 2차원의 표면을 가지는 형태로 점들이 연결된 것으로서, 안에 구멍(hole)이 있을 수도 있고 또는 없을 수도 있습니다. (위의 그림 예에서는 면 안에 구멍이 없음).  면이 되기 위해서는 시작점과 끝점이 동일해야 하며, 이를 닫혀있어야 한다(closed, not open)고 말합니다. 아래 예의 경우 면의 시작점과 끝점이 (x=1, y=1) 로서 동일하며, 즉 닫혀있습니다.


예: Polygon ((1 1, 1 3, 3 5, 3 1, 1 1))


면(Polygon)은 육지, 저수지, 건물 등과 같이 공간적인 외곽 (spatial extent)과 면적(area)을 가진 지리지형을 나타내는데 사용할 수 있습니다.


R의 st_polygon() 함수를 사용해서 면(Polygon)을 만들 수 있습니다. 면을 만들 때는 점 행렬의 리스트(list of matrices of points)를 입력값으로 사용합니다.



## Polygon using list of matrices of points
polygon_list = list(rbind(c(1, 1), c(1, 3), c(3, 5), c(3, 1), c(1, 1)))


st_polygon(polygon_list)
# POLYGON ((1 1, 1 3, 3 5, 3 1, 1 1))





  (4) 다중점 (MultiPoint)


다중점(MultiPoint)은 점을 여러개 모아놓은 것(a collection of points)입니다.

예: MultiPoint (1 1, 3 3, 3 5)

R에서 점은 st_point() 함수로 만들었다면, 다중점(MultiPoint)은 st_multipoint() 로 만들 수 있습니다. 이때 st_point() 에서는 점의 좌표를 c()로 묶어주기만 했다면, 다중점(MultiPoint)을 만들 때는 rbind()로 묶어서 점의 행렬(matrices)을 만들어서 st_multipoint() 함수를 사용합니다.


## MultiPoint using matrices of points
multipoint_matrix = rbind(c(1, 1), c(3, 3), c(3, 5))


st_multipoint(multipoint_matrix)
# MULTIPOINT ((1 1), (3 3), (3 5))





  (5) 다중선 (MultiLineString)


다중선(MultiLineString)은 선(LineString)을 여러개 모아놓은 것(a collection of LineStrings)입니다.


예: MulLineString ((1 1, 1 3, 3 5), (2 2, 5 2))

R에서 선(LineString)은 st_linestring()으로 만들었다면, 다중선(MultiLineString)은 st_multilinestring() 함수로 만듭니다. 여러개의 선(LineSting)을 리스트(list)로 묶어서 st_multilinestring() 함수에 넣어주면 됩니다.


## MultiLineString
multilinestring_list = list(rbind(c(1, 1), c(1, 3), c(3, 5)),
                            rbind(c(2, 2), c(5, 2)))

st_multilinestring((multilinestring_list))
# MULTILINESTRING ((1 1, 1 3, 3 5), (2 2, 5 2))





  (6) 다중면 (MultiPolygon)


다중면(MultiPolygon)은 면(Polygon)을 여러개 모아놓은 것(a collection of Polygons)입니다.


예: MultiPolygon (((1 1, 1 3, 3 5, 3 1, 1 1), (4 1, 4 5, 5 5, 5 1, 4 1)))


R에서 면(Polygon)은 st_polygon() 함수로 만들었다면, 다중면(MultiPolygon)은 st_multipolygon() 함수로 만들 수 있습니다. 면(Polygon)을 만들 때 점 행렬의 리스트를 st_polygon() 함수에 넣어주었다면, 다중면(MultiPolygon)을 만들 때는 여러개의 면이 모인 것이므로 점 행렬 리스트들의 리스트 (list of lists)를 st_multipolygon() 함수에 넣어줍니다.


## MultiPolygon
multipolygon_list = list(
  list(rbind(c(1, 1), c(1, 3), c(3, 5), c(3, 1), c(1, 1))),
  list(rbind(c(4, 1), c(4, 5), c(5, 5), c(5, 1), c(4, 1)))
  )

st_multipolygon(multipolygon_list)
# MULTIPOLYGON (((1 1, 1 3, 3 5, 3 1, 1 1)), ((4 1, 4 5, 5 5, 5 1, 4 1)))





  (7) 기하집합 (GeometryCollection)


기하(도형)집합(GeometryCollection)은 위에서 설명한 점(Point), 선(LineString), 면(다각형)(Polygon), 다중점(MultiPoint), 다중선(MultiLineString), 다중면(MultiPolygon) 중에서 여러개의 기하 유형을 모아놓은 것이며, 어떤 조합(any combination of geometries)도 가능합니다.


아래 예에서는 점(Point), 다중선(MultiLineString), 면(Polygon)이 혼합된 조합의 기하집합(GeometryCollection) 입니다.




R의 st_geometrycollection() 함수를 사용해서 기하집합(GeometryCollection)을 만들 수 있습니다. 이때 각 기하 유형을 리스트(list)로 묶어서 넣어주면 됩니다.


## GeometryCollection using list of combination of geometries
point_coord = c(3, 3)
multilinestring_list = list(rbind(c(1, 1), c(1, 3), c(3, 5)),
                            rbind(c(2, 2), c(5, 2)))
polygon_list = list(rbind(c(4, 3), c(4, 5), c(5, 5), c(5, 3), c(4, 3)))

gemetrycollection_list = list(
  st_point(point_coord),
  st_multilinestring((multilinestring_list)),
  st_polygon(polygon_list)
  )

st_geometrycollection(gemetrycollection_list)
# GEOMETRYCOLLECTION (POINT (3 3),
#                     MULTILINESTRING ((1 1, 1 3, 3 5), (2 2, 5 2)),
#                     POLYGON ((4 3, 4 5, 5 5, 5 3, 4 3)))

## plot GeometryCollection
plot(st_geometrycollection(gemetrycollection_list))





이번 포스팅이 많은 도움이 되었기를 바랍니다.
행복한 데이터 과학자 되세요!  :-)



728x90
반응형
Posted by Rfriend
,

지리공간 데이터 (GeoSpatial data)를 처리하고 분석하는데 있어서 첫번째 관문이자 큰 도전사항 중에 하나가 지리공간 데이터 포맷이 매우 다양하다는 것입니다. 


아래에 다양한 지리공간 데이터(various GeoSpatial data foramts)의 리스트를 소개하고, 특히 이중에서 점, 선, 다각형으로 구성된 벡터 데이터 포맷의 이미지 시각화를 예시로 보였습니다. 지리공간 데이터 포맷이 상당히 많지요?


이들 지리공간 데이터 포맷별로 데이터를 DB나 R로 불러오기 (importing)할 때 사용하는 DB utility tools 이나 R의 package가 달라지다 보니 번거롭고 또 어려운 점이 있습니다.



[ 다양한 지리공간 데이터 포맷 (various GeoSpatial data formats) ]




R을 활용한 지리공간 데이터의 처리 및 분석, 시각화를 본격적으로 들어가기 전에 먼저, 이들 지리공간 데이터 포맷들 중에서 특히 벡터 데이터(Vector data)와 레스트 데이터 (Raster data) 모델에 대해서 이들이 무엇이고, 어떻게 활용이 되며, 무슨 R 패키지를 사용해서 분석할 수 있는지에 대해서 알아보겠습니다.


[ 지리공간 벡터 데이터(Vector data) vs. 레스터 데이터 (Raster data) ]






  (1) 지리공간 벡터 데이터 (Vector data)


벡터 데이터에는 KML(.kml or .kmz), GML, GeoJSON, Shapefile (.shp), WKT 등의 데이터 포맷이 있습니다.


KML (Keyhole Markup Language), GML (Geography Markup Language) 데이터 포맷은 XML 기반으로 지리공간 데이터를 저장합니다. KML은 OGC(Open Geospatil Consortium)의 공식 표준입니다. KML과 GML 데이터 포맷은 non-GIS 사용자들과 인터넷을 통해 쉽게 지리공간 데이터를 공유하는데 많이 사용됩니다.


GeoJSON 데이터 포맷은 이름에서 짐작할 수 있듯이 JSON 기반으로 간단한 지리공간 데이터와 그 외 일반 데이터를 저장합니다. GeoJSON 데이터는 인터넷으로 지리공간 & 일반 데이터를 공유하는데 역시 많이 사용됩니다.


Shapefile 데이터 포맷은 GIS (Geographic Information System) 소프트웨어를 위한 지리공간 벡터 데이터입니다. Shapefile 은 GIS 의 국제적인 제공사인 Esri(Environmental Systems Research Institute)에서 개발하고 관리하며, GIS 소프트웨어 간 상호운용성(interoperability)를 보장합니다.


WKT 데이터 포맷은 Well-Known Text 의 약자로서, 벡터 지리공간 데이터를 표현하는데 텍스트 마크업 언어(Text Markup Language)를 사용합니다. WKB (Well-Known Bianry)는 WKT와 같은 정보를 저장하는데 있어 이진(binary) 포맷을 사용해 보다 간소하고 컴퓨터가 처리하기에 편리하도록 하며, 대신 사람이 읽을 수는 없습니다.



벡터 데이터는 실제 세상을 그래픽으로 재표현(graphical representation of the real world)한 것으로서, 점, 선, 다각형(points, lines, polygons) 유형의 그래픽을 이용합니다. 벡터 데이터는 지구 표면의 객체나 특징을 일반화하여 표현하는데 사용됩니다.


벡터 데이터는 별개로 분리되고, 경계가 잘 정의되어 있어서 보통 높은 수준의 정밀도 (high level of precision) 을 가지고 있습니다. 이런 이유로 벡터 데이터는 사회 과학 (social sciences) 분야에서 많이 사용됩니다.


R 의 sf 패키지 (spatial data frame) 를 사용하여 벡터 데이터를 불러오고, 처리 및 분석, 시각화를 할 수 있습니다. (다음 포스팅에서 소개) sf 패키지는 이전의 sp 패키지, rgeos, rgdal 패키지를 모두 아우르고 있고, GEOS, GDAL, PROJ 와 R 의 interface를 제공해주어서, R로 지리공간 벡터 데이터를 다루는데 있어 매우 편리하고 강력합니다.




[ 강과 도심 지역을 나타낸 벡터 데이터(vector data)와 레스터 데이터(raster data) 비교 ]


* source: https://blog.rmotr.com/spatial-data-with-python-lets-begin-e29b5c41ead3



  (2) 지리공간 레스터 데이터 (Raster data)


레스터 데이터(Raster data)에는 ESRI Grid, GeoTIFF, JPEG 2000, NITF 등이 데이터 포맷이 있습니다.


레스터 데이터는 픽셀의 격자(grid of pixels) 로 지구의 표면을 표현합니다. 각 픽셀 안에는 색, 측정 단위 등과 같이 질문의 요소에 대한 정보를 전달하는 값이 있습니다.


레스터 데이터는 인공위성이나 항공장비에서 지구 표면을 향해 위에서 아래로 수직으로 찍은 사진으로 생각하면 이해하기가 쉽습니다.(예: NASA에서 제공하는, 인공위성에서 찍은 지구의 야간 사진 등) 이 지구표면을 수직으로 찍은 사진을 픽셀의 격자로 나누어서 각 픽셀(pixel, cell)에 지리특성정보 값을 가지고 있는 것입니다. 


레스터 데이터의 품질은 사진을 찍었던 장비의 해상도의 한계나, 활용하고자 하는 분야의 목적에 따라서 다양합니다. 레스터 데이터는 많은 환경관련 과학 분야 (environmental sciences)에 많이 사용되고 있습니다.


R의 raster 패키지를 사용하면 R에서 레스터 데이터를 처리할 수 있습니다.


위에서 각각 소개한 벡터 데이터와 레스터 데이터는 상호 간에 변환(converting from vector to raster data, from raster to vector data)이 가능하며, 하나의 분석 목적에 두 유형의 데이터 포맷이 동시에 사용되기도 합니다.


다음번 포스팅에서는 R의 spData 패키지에 내장되어 있는 지리공간 벡터 데이터 모델(Vector data model)을 가지고 sf 패키지로 시각화하는 간단한 예를 소개하겠습니다.


이번 포스팅이 많은 도움이 되었기를 바랍니다.

행복한 데이터 과학자 되세요!  :-)


728x90
반응형
Posted by Rfriend
,

이번에는 동화책 두 권을 소개해드리고자 합니다.

 

피터 레이놀즈(Peter H. Reynols)의 『점』, 그리고 『느끼는 대로』

 

정말 아름답고 감동적인 동화책이예요.

아이들 있는 집이라면 꼭 추천하고 싶은 책이예요.

선물로도 만점입니다.

두 권을 세트로 사도 Good.

 

 

글과 그림을 그린 피터 레이놀즈는 미술을 아이들에게 가르치다가 미술에 어려움을 겪는 아이들을 보고 『점』과 『느끼는 대로』의 두권의 동화책을 그리고 쓰게 되었다고 해요.

 

 

 

 

 

 

줄거리를 대략 말씀드리자면,

 

그림 그리는데 자신감이 없는 베티가 있었는데요,

선생님께서 "어떤 것이라도 좋으니 한번 시작해 보렴. 그냥 네가 하고 싶은 대로 해봐"라고 격려해주시지요.

베티는 연필로 도화지에 쿡!  점 하나 찍어버리고 말아요.

선생님은 '점' 그림에 이름을 쓰라고 하지요.

 

 

 

                  (* 출처 : 피터 레이놀즈, 점, 문학동네어린이) 


 

다음주에 선생님께서 베티의 '점' 그림을 금테 액자에 넣어서 선생님 책상 위에 걸어놓지요. 그러자 베티가 자신감을 얻고는 각양각색의 '점' 그림을 그리기 시작하고, 급기야 전시회까지 해요. 

 

전시장에서 감명을 받은 한 아이가 베티에게 찾아와 물어요.

"누난 정말 굉장해!  나도 누나처럼 잘 그렸으면 좋겠어"라고요.

(이 부분에서 저희 집 아이들은 이구동성으로 "베티가 여자였어요? 꼭 남자애 같이 생겼는데..."라고 해요. ㅋㅋ)

 

그러자 베티가 "너도 할 수 있어. 한번 그려봐"라고 하지요.

그리고 그 아이가 그린 비뚤비뚤한 선을 한참 바라보더니 말하지요.

 

"자! 이제 여기 네 이름을 쓰렴"

 

 

 

(* 출처 : 피터 레이놀즈, 점, 문학동네어린이) 

 

 

 

동화책 사서 아이들과 함께 읽어보세요.

어른이 읽어도 참 아름답고 가슴 훈훈한 내용에 그림들 또한 걸작입니다.

 

 

위의 책 『점』의 가장 마지막 장에 나왔던 오른쪽의 꼬마 이름이 레이먼이예요.

레이먼의 그림그리기 이야기가 두번째 책 『느끼는 대로』예요.  이 두개의 책을 세트로 읽으면 더 좋은 이유이지요. 

 

형이 레이먼의 그림을 보고 놀리고 나자 레이먼이 급 자신감을 상실하고 "이제 안그려"하고 토래져있지요.  그때 동생 마리솔이 나타나서는 레이먼이 구겨서 버린 그림을 가지고 방안으로 도망을 가요.  레이먼이 그림 내놓으라며 쫒아갔더니 마리솔의 방안에 레이먼이 구겨서 버린 그림들이 방 벽에 다닥다닥 붙여져있는거예요.  마리솔이 한마디 하지요.

 

""내가 제일 좋아하는 그림이야.  꽃병 느낌이 나는 걸"

 

 

 

 

(* 출처 : 피터 레이놀즈, 느끼는 대로, 문학동네어린이) 

 

 

이 말에 영감을 얻은 레이먼은 급기야 감정까지 그림으로 그리게 돼요.

'오후 느낌'이라든지 '평화로운 느낌', '바보 같으 느낌', '신나는 느낌' 등을요.

 

시도 쓰게 되지요.  느낌이 가득한 시를요.

 

 

아이들이 잠자기 전 이들 두 권을 책을 읽어주면 아이들이 너무나 너무나 좋아라 한답니다. ^^

 

  

 

부모, 선생님, 멘토의 말 한마디가 참 중요하지요.

두 가지의 실제 사례를 소개할께요.

 

 

 첫번째 실제 이야기예요. 『통찰의 기술』(신병철 저)의 184p 에 소개된 내용 인용합니다.

 

「눈먼 소년이 한 명 있었습니다. 그 소년은 앞이 안 보이기 때문에 친구들과 뛰어놀 수 없었고 늘 혼자 지냈습니다. 그야말로 대단한 약점을 가진 것이죠.

 

  그런데 이 소년의 인생에 큰 전환점이 되는 사건이 하나 일어났습니다.  교실에 쥐가 한 마리 나타난 것입니다.  교실은 순식간에 난장판이 되었습니다.  쥐를 잡기 위해 선생님과 학생들이 야단법석을 떨었지만 아무도 그 쥐가 어디로 숨었는지 알지 못했습니다.  그런데 눈은 보이지 않지만 귀가 아주 밝은 이 학생은 쥐가 벽장 속에 숨어 있다는 것을 알아챘고 덕분에 쉽게 쥐를 잡을 수 있었습니다.  수업이 끝난 뒤 선생님은 눈먼 아이를 불러 이렇게 칭찬했습니다.

 

너에게는 놀라운 능력이 있구나. 
네 귀는 정말 특별하구나!

 

 

 이 말이 이 소년의 인생을 바꾸어 놓았습니다. 소년은 자신의 강점인 밝은 귀를 활용해서 인생을 살아야겠다고 결심합니다.」

 

 

이 소년이 바로 Stevie Wonder 입니다!

 

 

 

 


 

 

선생님의 말 한마디가 스티비원더의 일생을 바꾸었고, 덕분에 우리는 스티비원더의 주옥같은 노래를 들을 수 있게 되었습니다.

 

(여담이지만, 사이먼 앤 가펑클이 Bridge over troubled water 곡이 1971 Grammy Award 상을 수상했습니다. 그때 수상소감이 이랬다고 하네요. "저희는 운이 좋았습니다. 올 해는 스티비원더가 앨범을 내지 않았거든요" ^^) 

 

 

 

두번째 사례는 황성주 박사(사랑의 클리닉, 꿈의 학교, 월드리더십센터, 국제 사랑의 봉사단 설립자, 황성주 생식의 (주)이롬 사장)의 『10대, 꿈에도 전략이 필요하다』의 40~41p에서 인용합니다.  역사상 최초로 샴 쌍둥이 분리 수술을 성공시킨 벤 카슨 박사의 이야기예요.

 

「벤은 흑인 빈민가 출신의 열등생으로 초등학교 5학년 때 꼴등의 영광을 누리며 멍청이로 불렸습니다.  그럼에도 불구하고 어머니 소냐 카슨은 아들에게

베니야, 너는 영리한 아이란다. 네가 하고 싶은 일은 무엇이든지 할 수 있단다

 

라며 격려해주었습니다. 그러나 아무리 격려하고 자신감을 심어주려고 노력해도 변화가 없자 그녀는 하나님께 아들을 도울 지혜를 구하기 시작합니다.

 

  어머니가 받은 지혜와 전략은 아들에게 책을 읽히는 것이었습니다. 바로 '독서학습'이었습니다. 그날부터 벤 카슨은 방과 후 도서관에서 지내는 시간이 많아집니다. 무슨 책이든 일주일에 두 권을 읽고 어머니에게 독후감을 제출해야 했기 때문입니다.

 

  비버로부터 시작해서 동물에 대한 책에 매료된 벤은 늑대, 야생 개, 다람주 등으로 관심을 넓혀갑니다. 그 관심은 식물, 광물, 암석 등으로 확장되어 갔습니다. 그는 독서의 묘미에 깊이 빠져 들어가게 되었습니다.

 

  5학년 2학기 과학시간에 벤은 인생의 전환점을 맞게 됩니다.  잭 선생님이 검은 돌 조각 하나를 들고 "이것이 무엇인지 아는 사람, 이것은 화산과 어떤 관계가 있지?"라고 물었습니다. 

 

  아무도 손을 들지 않자 벤이 손을 들었습니다.  "그것은 흑요석입니다.  용암이 물에 닿으면서 일어나는 급격한 냉각으로 인해 만들어집니다."라고 말문은 연 뒤, 자신이 알고 있는 모든 지식들을 줄줄이 이야기하기 시작합니다. 

 

  선생님은

네 말이 모두 맞다.  아주 놀라워.  네가 지금 이야기한 내용은 굉장한 지식이다.  나는 정말 네가 자랑스럽다.

며 칭찬을 아끼지 않았습니다.

 

  아이들은 "저 애가 벤 카슨 맞아?"하고 속삭이면서 놀라워했습니다.  그러나 이날 가장 놀란 사람은 바로 벤 카슨 자신이었다고 합니다.  이 일로 성취의 감격을 맛본 벤은 멍청한 꼴등에서 학교의 영웅이 됩니다.  단 한 번의 승리로 자신감을 얻은 벤은 더욱 독서에 열중했습니다.  결국 그는 세계 최고의 신경외과 의사로 성장합니다.」

 

황성주 저자는 벤 카슨의 사례를 '독서'의 중요성을 강조하고자 언급했습니다만,

저는 '어머니'와 '선생님'의 인생을 바꾼 말 한마디에 주목합니다. 

 

멘토의 말 한마디, 인생을 바꿀 수 있습니다.

 

그림을 못 그린다고 지레 포기한 베티와 레이먼,

눈이 안보이는 스티비원더,

학교 꼴등 벤 카슨,

 

이들에게 인생을 바꾸는 멘토가 있었던 것처럼,

아들꽈 딸이 있는 부모라면, 학생이 있는 선생님이라면, 후배가 있는 선배라면 힘이 되는 믿음의 말 한마디 해주는 하루가 되면 좋겠습니다.

 

피터 레이놀즈의 '점', '느끼는 대로' 이야기 하다가 옆으로 많이 샜습니다.

어린 아이 키우는 집이라면 두권 모두 추천해요.

 

728x90
반응형
Posted by Rfriend
,