emluy 개발 일기

Trip surfer - #1 Geodjango, PostGIS, googlemap 중 Trip surfer 구현 시 필요한 것 고르기 본문

웹 개발/project

Trip surfer - #1 Geodjango, PostGIS, googlemap 중 Trip surfer 구현 시 필요한 것 고르기

yulme 2020. 10. 30. 00:01
SMALL

1. Geodjango ?

: django는 맞지만 공간데이터를 다루기 쉽게 해주는 여러가지 요소들이 더 첨가된 geographic Web framework

 

1-1. Geodjango를 언제 써야할까?

: 공간데이터가 주어지는 경우 공간데이터를 웹에 나타내거나 값들을 활용해서 웹을 만들어야 하는경우 / 또는 PointField와 같은 위도,경도 저장하는 필드를 사용하고 싶은 경우

 

 

1-2. Geodjango가 사용하는 공간데이터는 어떤 것이 있을까?

<GIS 데이터 타입>

www.snpo.kr/data//file/meetshare_epilogue/2949849334_CGywx7W5_slide3.pdf

 

파일 종류에는 세가지가 있다. -> shp, shx, dbf 

 

1) shp : 건물들의 공간 데이터를 담고 있음 ( 아래의 이미지 자체가 shp 파일 내용임 )

- 한 shp 파일에는 점,선,polygan 중 한 종류의 데이터만 담긴다.

이것을 활용하기 위해 실질적인 숫자값으로 저장해놓은 데이터가 dbf 파일이다.

 

2) dbf

3) shx : 이것은 shp 파일의 인덱스만 저장해놓은 파일

 

-> Tripsurfer에서는 위도와 경도 data만 활용해서 frontend에 나타내면 되므로 Geodjango를 사용하지 않아도 된다.

 

1-3. 만약 1-2와 같은 파일들을 데이터로 사용해야한다면 어떻게 웹에 활용할 수 있을까?

: shp파일을 json이나 xml파일로 변환해주거나/    이 파일을 변환없이 바로 해석할 수 있는 프레임워크를 사용한다.

1-3-1. 파일 변환으로 웹에서 활용할 수 있게 하기

1) 파일 변환 웹사이트를 활용해서 json이나 xml파일로 바꾸기

https://ogre.adc4gis.com/

 

2) 변환 후 json파일 모습

 

1-3-2. 파일 변환 없이 Geodjango 사용하기

docs.djangoproject.com/en/3.1/ref/contrib/gis/tutorial/

 

GeoDjango Tutorial | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 

1-4. 위도 경도를 저장할 수 있는 pointField 데이터타입 쓰려는 경우에 GeoDjango를 사용함

stackoverflow.com/questions/48165329/geodjango-save-data-from-json-or-points

 

GeoDjango save data from json or points

If I already have existing MultiString cordinates in a file(as a list) or memory or in a json format, How do I override the save function to save these points instead of the user creating the objec...

stackoverflow.com

 

2. postGIS ?

: PostgreSQL 데이터베이스의 확장, 지형 공간 데이터를 저장하고 Postgres 데이터베이스에 공간 쿼리를 수행 할 수 있다.

 

* postGIS로 할 수 있는 것

  • 공간 데이터 저장 
  • 공간 쿼리를 수행하여 정보 (포인트, 영역)를 검색하고 추출 
  • 테이블에 대한 공간 정보 및 메타 데이터 관리 (예 : 사용 된 coorinate-reference-system). 
  • 하나의 좌표계에서 다른 좌표계로 지오메트리 변환 
  • 형상을 비교하고 특성을 추출 (예 : 도로 또는 건물의 모서리 길이)

이런 형태의 데이터를 저장할 수 있음

*postGIS 참고

sodocumentation.net/ko/postgis

 

postgis - Postgis 시작하기 | postgis Tutorial

postgis documentation: Postgis 시작하기

sodocumentation.net

 

=> Trip surfer에서 필요한 것은 위도와 경도이므로 googlemap API만 사용해서 구현하는 것이 맞다고 판단

developers.google.com/maps/documentation/javascript/examples/polyline-remove

 

Removing Polylines  |  Maps JavaScript API  |  Google Developers

This example adds a UI control that allows the user to remove the polyline from the map. Read the documentation. TypeScript // This example adds a UI control allowing users to remove the polyline from the // map. let flightPath: google.maps.Polyline; let m

developers.google.com

 

반응형
Comments