개발자
안녕하세요, 이번에 지역 기반 어플리케이션을 개발하는 프로젝트를 하게되었는데 DB에 모든 위치정보(시,도,면,읍,리,동,x좌표,y좌표 등)를 넣고 그 테이블을 참조하는식으로 백엔드를 설계하는게 나을까요? 아니면 프론트에서 geolocator를 사용해서 지역 좌표를받아오고 나서Google Maps Geocoding API 지역주소로 변환한뒤 데이터에 입력하는게 나을까요?
답변 2
내가 위치한 위/경도 좌표를 사람이 읽을 수 있는 지역 주소로 변환하는 작업이라면.. 업체에서 제공하는 API를 활용하는 것이 적합한 것 같습니다. 지역 좌표를 DB화 하는 것이, 구조를 만드는 것 자체는 어렵지 않더라도, 그 구조에 데이터를 입력하는 부분이 현실적으로 어렵습니다. 데이터를 구하는 부분이라던가.. 계속 업데이트되는 정보를 갱신하는 부분 같은 것들입니다. 만약, 정확한 좌표를 알고 있는 제한된 시설을 중심으로 한 서비스라면.. 예를 들어 내가 있는 곳을 중심으로 반경 몇 미터 안에 있는 시설을 찾는 작업과 같은 것은.. 시설 정보를 직접 DB화 해도 좋겠습니다. 보통 지역 기반 DB는 postgreSQL을 많이 사용하지만 MySQL로 구현하는 방법도 있습니다. 아래는 MySQL에서 특정 시설의 위치를 DB화 했을 때 내 위치와의 거리를 계산하는 글이니 필요하다면 참고하시기 바랍니다. https://purumae.tistory.com/198
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2023년 11월 05일
개발 프로젝트의 목적, 사용자 경험, 비용 및 유지관리 측면을 고려해야 합니다. DB에 모든 위치정보를 저장하는 방식은 많은 양의 데이터를 필요로 하며, 지속적인 업데이트와 관리가 필요할 수 있습니다. 예를 들어, 행정구역이 변경되거나 위치 정보가 정확하지 않을 경우 DB를 수동으로 업데이트 해야할 수도 있습니다. 그러나 이 방식은 오프라인 상황에서도 작동하며 사용자의 위치 정보를 직접 제어 가능하다는 장점이 있습니다. 반면에 Google Maps Geocoding API를 사용하는 방법은 실시간으로 정확한 위치 정보를 가져올 수 있으며 DB 유지 관리에 들어가는 노력이 줄어듭니다. 그러나 연속된 요청이 많아질 경우 비용이 상당히 높아질 수 있으며, 인터넷 접속이 원활하지 않은 상태에서는 서비스가 제한될 수 있다는 단점이 있습니다. 따라서 프로젝트 목표와 예상 사용 환경을 근거로 위 두 가지 선택지 중 최적의 방법을 선택하시면 됩니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!