POI 관리 기능은 GIS 지도에서 검색 기준으로 사용할 관심지점 정보를 등록, 조회, 수정, 삭제하기 위해 사용한다. POI ID, POI명, 분류, 주소, 수집일자, 좌표 정보를 관리하며 3D 통합검색의 기본 검색 데이터로 활용된다.
| Action URL | Controller method | QueryID |
|---|---|---|
조회 /gis/poi/poiList.do |
PoiPageController.poiList |
selectPoiList, selectPoiListCnt |
조회 /api/v1/poi/list |
PoiApiController.getPoiList |
selectPoiList, selectPoiListCnt |
등록화면 /gis/poi/poiRegist.do |
PoiPageController.poiRegist |
N/A |
목록선택 /gis/poi/poiDetail.do?nfId={nfId} |
PoiPageController.poiDetail |
selectPoiDetail |
POI 목록은 페이징 조회되며 검색조건은 POI명, 도로명, 지번명, 참조정보에 대해 수행된다.

조회 : 검색조건을 입력한 뒤 조회 버튼을 클릭하여 POI 목록을 조회한다.
등록 : 등록 버튼을 클릭하여 POI 등록 화면으로 이동한다.
상세 : 목록의 상세 버튼을 클릭하여 POI 상세조회 화면으로 이동한다.
수정 : 목록의 수정 버튼을 클릭하여 POI 수정 화면으로 이동한다.
삭제 : 목록의 삭제 버튼을 클릭하여 POI 삭제를 수행한다.
| Action URL | Controller method | QueryID |
|---|---|---|
상세조회 /gis/poi/poiDetail.do?nfId={nfId} |
PoiPageController.poiDetail |
selectPoiDetail |
상세조회 /api/v1/poi/{nfId} |
PoiApiController.getPoi |
selectPoiDetail |
수정화면 /gis/poi/poiModify.do?nfId={nfId} |
PoiPageController.poiModify |
selectPoiDetail |
POI 상세조회 화면은 POI ID 기준 단건 정보를 조회하며 주소와 좌표 정보를 함께 확인할 수 있다.

목록 : POI 목록조회 화면으로 이동한다.
수정 : 수정 버튼 클릭 시 POI 수정 화면으로 이동한다.
삭제 : 삭제 버튼 클릭 시 삭제 여부를 확인한 뒤 삭제 처리한다.
| Action URL | Controller method | QueryID |
|---|---|---|
등록화면 /gis/poi/poiRegist.do |
PoiPageController.poiRegist |
N/A |
저장 /api/v1/poi |
PoiApiController.createPoi |
selectPoiDetail, insertPoi |
POI 등록 화면에서는 POI ID, POI명, 분류, 참조정보, 주소, 수집일자, 변경일자, EPSG:5179 좌표, 경위도 좌표를 입력해 저장한다.
CURRENT_DATE를 사용한다.
목록 : POI 목록조회 화면으로 이동한다.
저장 : 입력한 POI 정보를 저장 처리한다.
| Action URL | Controller method | QueryID |
|---|---|---|
수정화면 /gis/poi/poiModify.do?nfId={nfId} |
PoiPageController.poiModify |
selectPoiDetail |
수정 /api/v1/poi/{nfId} |
PoiApiController.updatePoi |
selectPoiDetail, updatePoi |
POI 수정 화면에서는 기존 POI 정보를 조회한 뒤 수정 저장한다. POI ID는 URL의 nfId 기준으로 고정된다.

목록 : POI 목록조회 화면으로 이동한다.
저장 : 수정한 POI 정보를 저장 처리한다.
| Action URL | Controller method | QueryID |
|---|---|---|
삭제 /api/v1/poi/{nfId} |
PoiApiController.deletePoi |
selectPoiDetail, deletePoi |
POI 삭제는 목록조회 화면 또는 상세조회 화면에서 수행할 수 있다. 삭제 전 존재 여부를 확인하며 존재하지 않는 POI는 삭제할 수 없다.
선택 : 목록 화면의 삭제 버튼 또는 상세 화면의 삭제 버튼을 선택한다.
삭제 : 삭제 확인 후 POI 정보를 삭제 처리한다.
| 유형 | 대상소스명 | 비고 |
|---|---|---|
| Controller | src/main/java/allforland/gis/poi/web/PoiPageController.java |
POI 관리 화면 요청을 처리하는 컨트롤러 클래스 |
| API Controller | src/main/java/allforland/gis/poi/web/PoiApiController.java |
POI 관리 API 요청을 처리하는 컨트롤러 클래스 |
| Service | src/main/java/allforland/gis/poi/service/PoiService.java |
POI 관리를 위한 서비스 인터페이스 |
| ServiceImpl | src/main/java/allforland/gis/poi/service/impl/PoiServiceImpl.java |
POI 관리를 위한 서비스 구현 클래스 |
| Mapper | src/main/java/allforland/gis/poi/mapper/PoiMapper.java |
POI 관리를 위한 데이터 처리 Mapper 인터페이스 |
| VO | src/main/java/allforland/gis/poi/vo/PoiVO.java |
POI 정보를 담는 VO 클래스 |
| Search VO | src/main/java/allforland/gis/poi/vo/PoiSearchVO.java |
POI 목록 검색 조건 VO 클래스 |
| DTO | src/main/java/allforland/gis/poi/web/dto/PoiRequestDTO.java |
POI 등록/수정 요청 DTO 클래스 |
| JSP | src/main/webapp/WEB-INF/jsp/gis/poi/poiList.jsp |
POI 목록조회를 위한 JSP 페이지 |
| JSP | src/main/webapp/WEB-INF/jsp/gis/poi/poiDetail.jsp |
POI 상세조회를 위한 JSP 페이지 |
| JSP | src/main/webapp/WEB-INF/jsp/gis/poi/poiRegist.jsp |
POI 등록을 위한 JSP 페이지 |
| JSP | src/main/webapp/WEB-INF/jsp/gis/poi/poiModify.jsp |
POI 수정을 위한 JSP 페이지 |
| Query XML | src/main/resources/mapper/poi/PoiMapper.xml |
POI 조회/등록/수정/삭제를 위한 Query XML |
| SQL | docker/postgres/init/03-gis-schema.sql |
POI 테이블 생성을 위한 스키마 SQL |
| SQL | docker/postgres/init/04-gis-data.sql |
POI 기본데이터 적재 SQL |

| 테이블명 | 테이블명(영문) | 비고 |
|---|---|---|
| POI 정보 | afgis.tn_poi |
POI 기본정보, 주소, 좌표 정보를 관리하는 테이블 |