개발공작소
728x90
article thumbnail
[Geoserver] 특정 저장소에 있는 레이어를 다른 저장소에 옮기는 방법
GIS 2023. 8. 3. 13:16

이번에 Geoserver의 특정 저장소에 있는 레이어들을 다른 저장소로 한번에 옮겨야 할 일이 있어서 정리해본다. 우선 geoserver의 저장소는 아래와 같은 구조인데 geoserver에는 여러개의 작업공간이 있고, 그 작업공간에는 또 여러개의 저장소들이 있다. 그리고 그 저장소는 여러개의 레이어들을 포함하고 있다. 근데 만약 작업공간A에 있는 저장소a에 있는 모든 레이어들을 저장소b로 옮기고 싶다면 어떻게 해야 될까? 저장소a에 있는 레이어들을 저장소b로 옮기고 저장소a는 삭제해야 되는 상황.. (물론 다 옮기는게 아니라 몇개만 옮기는 상황도 포함됨) 특정 저장소에 있는 레이어들을 다른 저장소로 옮기는 방법 geoserver의 workspaces디렉터리로 가자. 보통 D:\geoserver-2.21...

article thumbnail
[GIS] GeometryCollection과 Geoserver에 대한 이야기
GIS 2023. 7. 19. 12:03

이번에 프로젝트를 하면서 GeometryCollection을 처음 사용해보았다. 사용하게 된 계기는 단순 했는데 여러 타입의 geometry타입을 하나의 row에서 관리할 수 있다는 점이었다. 그렇게 개발을 하고, 막상 geoserver에 레이어로 발행해서 wms로 호출을 해보니 문제가 발생했다. 바로 wms이미지가 제대로 생성이 되지 않는 것... 결론은 Geoserver에서는 GeometryCollection을 지원하기는 하지만 완전히 지원하지는 않는다는 것이다. Geoserver는 하나의 레이어에는 하나의 geometry타입만을 지원한다. 아래는 샘플코드 및 결과이다. GeometryCollection타입의 샘플 테이블 CREATE CREATE TABLE ud.geo_col_sample ( geom..

article thumbnail
[GIS] QGIS : QGIS의 필터설정 기능을 통해 특정 객체만 추출해보자
GIS 2023. 1. 24. 11:40

QGIS의 필터설정 기능 사용방법 및 특정 객체 추출 아래와 같이 전남 광양의 DXF파일이 있다고 가정해보자. 연속지적도라 엄청 많은데 그중에서 하나의 객체만 추출하고 싶다면 필터설정 기능을 이용할 수 있다. 아래 과정을 따라가보자. 속성테이블을 통해 특정객체의 값(속성)을 추출 (1) 해당 레이어 객체 우클릭 (2) 속성 테이블 열기(O) [속성 테이블]에 보면 해당 레이어의 각 객체들의 값을 확인 할 수 있다. 나같은 경우에는 EntityHandle이라는 컬럼을 선택해서 미리 보았다. 리스트에 EntityHandle의 value값들이 뜬다. 여기서 value값 하나를 선택하고 [돋보기] 모양을 클릭하면 해당 value값이 있는 곳으로 이동하여 확인 가능하다. 여기서 내가 추출하고 싶은 value값을 ..

article thumbnail
[GIS] Geoserver : 조건식을 통한 레이어를 가져오는 CQL필터에 대해 알아보자
GIS 2022. 12. 12. 12:37

지오서버에서는 CQL필터를 통해 조건식으로 원하는 피쳐들만 가져 올 수 있다. 오늘은 CQL필터에 대해 한번 정리해보려 한다. CQL필터를 이용한 피쳐(Feature) 추출 1. 레이어 미리보기를 통해 OpenLayers로 레이어창을 열어준다. 2. CQL필터의 조건식을 입력하고 적용해준다. 여기서 좌측상단의 ... 버튼을 누르면 위와 같이 조건 검색창이 뜬다. 여기서 Filter를 CQL로 맞추고, 보통의 쿼리문을 작성하듯이 조건식을 입력하여 준다. 나는 ctp_kor_nm컬럼이 '전라북도'인 녀석으로 조건을 주었다. 결과는 아래와 같이 된다. 결과화면 여기까지 왔으면 URL로도 CQL필터를 주어 원하는 피쳐만 가져올 수도 있다는 것을 알 것이다. 아래를 통해 실제 URL에서 CQL필터를 적용해보자. ..

[GIS] 멀티 폴리곤에서 가장 큰 면적을 가진 폴리곤을 가져오는 메서드
GIS 2022. 8. 16. 06:13

이번에 라벨링 관련 문제를 보면서 진짜 이 방법 저 방법을 찾아보는데, 그러면서 알게 되거나 사용한 유용한 메서드들을 하나하나 정리해보려고 한다. 가장 큰 면적을 가지는 폴리곤을 구하는 함수 어려울 거 없다. 그냥 아래 메서드의 인자로 Multi-Polygons 배열을 넣어주면 알아서 반복문을 돌리면서 가장 면적이 큰 폴리곤을 return 해준다. 물론 return해주는 곳의 " polyObj.length - 1 "에서 숫자를 바꿔만 주면 2번째로 큰값, 3번째로 큰값, 가장 작은값 등 마음대로 가져올 수 있다. 피쳐의 경우 아래와 같이 getPolygons()를 통해 폴리곤들을 인자로 넣어줄 수 있다. feature.getGeometry().getPolygons() 또는 Layer에서는 다음과 같이 g..

article thumbnail
[GIS] 멀티폴리곤(MultiPolygon)에서 라벨이 여러개 뜨는 현상 및 해결방법
GIS 2022. 8. 13. 16:52

이번에 시스템상에서 shp파일로 레이어를 하나 생성해서, 라벨을 표출하였는데 이상하게 라벨링이 여러개 뜨는 현상이 발생하였다.. 라벨이 여러개 뜨는 현상 발생 분명 같은 하나의 레이어 속성정보를 바라보고 있기 때문에 하나에만 떠야하는데.. 각 폴리곤마다 라벨이 뜨는 상황.. 그래서 해당 shp파일을 QGIS에 올리고 라벨링을 해보니 아래와 같이 나왔다. 시스템과 달리 라벨이 하나만 떴다. 그래서 시스템상 에러는 아니지만 코드를 수정해야 겠다는 확신이 들었다. 원인파악 우선 레이어의 feature을 보았다. 예전에 멀티폴리곤은 아니지만 다중 라인스트링(multilinestring)에서도 비슷한 문제가 발생한 적이 있어서 그것과 비슷하게 접근해보려고 했다. (다중 라인스트링에서 멀티 라벨링 해결방법은 나중에..

728x90