본문 바로가기

pip psycopg2 install error in mac 사진으로 문제점에 대한 설명을 대신합니다. 구글링 해보니까 2.6.2 버전의 문제라고 하더라고요.그래서 최신 버전으로 설정하고 pip install 하니 이상없이 설치되었습니다. 이전에는 잘 설치했는데 pip freeze로 생성한 파일로 설치하니 문제가 발생했어요.아마도 제가 중간에 postgres 버전을 올렸던지. 그랬나봐요. 꼭 2.6.2 버전을 사용해야 하는 것도 아니라서 이번 기회에 버전 업하고 문제 해결했어요. 기록 끝 ! 더보기
국내 지도 서비스에서 추가되었으면 하는 구글맵 기능 제목이 조금 어려운데구글 맵에는 있으나 !! 국내 지도 서비스에는 없는 기능이라는 뜻입니다 :) 아래는 샌프란시스코 구글 맵 스크린샷의 일부 !! 건물 실내 지도를 구축해서 서비스하고 있어요. 층을 바뀌면 실내지도도 바뀌고 해당하는 상점도 다르게 표현되요. 이게 꽤 유용해요.가게가 몇 층에 있는지 !! 백화점에가서 안내판을 볼 필요가 없어요. 구글 맵에서 다 나오니깐 :) 꽤 많은 곳의 실내지도가 구축된 것 같아요.정확한 수치는 모르겠지만 호텔의 실내지도도 공유되고 있어요. 정말 멋진 기능인 것 같은데아직 국내 지도 서비스에서는 확인이 안되네요. 아쉬워요 ㅠ 정책적으로도 건물을 만들 때 실내지도를 제작해서 나라에 제출하도록 해야 한다고 생각합니다. 지도 서비스를 통해 실내 상가에 정확한 위치를 알 수 있.. 더보기
mac - postgresql & postgis install and setting 일단 분류가 좀 이상하지만 나중에 찾을 때 제가 여기를 확인할 것 같아서.. 1. PostgreSQL & PostGIS 설치는 brew로 간단하게 가능 - brew 설치는 아래 참고 linux에서 brew 설치 (http://brew.sh/linuxbrew/) apt-get install -y build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev # ---> root 이외의 사용자에서 실행해야 합니다.ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)" 스크.. 더보기
PostgreSQL serial type PostgreSQL에서 제공되는 Serial Data Type에 대해 정리 !! 1. 특정 컬럼에 serial로 데이터타입을 지정하면 새로운 행이 추가될 때 자동으로 하나 씩 증가합니다. 그래서 id와 같은 컬럼에 사용하면 편리합니다. 직접 입력하지 않아도 자동으로 증가하니깐 데이터 추가할 때 신경쓰지 않아도 되죠 :) 아래 그림은 temp라는 테이블을 생성할 때 id 컬럼에 serial 데이터타입을 지정한 sql 예시입니다. CREATE TABLE serial_test ( id serial, name character varying(128) NOT NULL, CONSTRAINT serial_test_pkey PRIMARY KEY (id), CONSTRAINT serial_test_name_key UNI.. 더보기
Leaflet 기초 01 Leaflet 기초 정리 01 앞으로 몇 번의 포스팅을 통해 Leaflet에 대한 기초 내용을 정리해두려고 합니다. 참고)Leaflet과 유사하고 많은 기능이 있는 Mapping Library로는 OpenLayers가 있습니다.OpenLayers에 대한 내용도 가끔 포스팅한 적이 있구요. Leaflet과 OpenLayers를 비교한 슬라이드는 아래에 있습니다. 2015 FOSS4G에서 발표된 내용이네요. Leaflet vs OpenLayers : http://ivansanchez.github.io/leaflet-vs-openlayers-slides/#/ 1. Leaflet은 가볍습니다. OpenLayers에 비해서 말이죠. 저도 OpenLayers만 써왔지만 Leaflet이 여러 프로젝트나 서비스에 적용.. 더보기
PostgreSQL, Pgadmin3 - Add Constraints 이번 포스팅에서는 PostgreSQL를 쉽게 활용할 수 있도록 지원하는 PgAdmin3에서 제약조건을 추가하는 방법에 대해서 간단하게 정리해둡니다 :) 1. 아래와 같은 SQL로 생성된 테이블이 있다고 가정하겠습니다. 아래 오타가 있네요 4는 왜 들어간건지..;; 내용상 큰 문제는 아니니깐 넘어갈께요. gid와 ttname 이라는 컬럼이 존재하고 gid는 pk입니다. ttname은 not null 빼고는 별다른 제약이 없구요. 이번 포스팅에서는 ttname에 unique 조건을 추가하는 것이 목표입니다. 2. 생성한 테이블을 마우스 오른쪽 클릭하면 아래와 같은 그림이 나옵니다. 여기서 Properties... 를 선택해줍니다. 3. Properties를 누르면 아래 와 같이 여러 탭이 있는 창이 하나 뜹.. 더보기
QGIS: multiple ring delete in polygon 폴리곤 내부에 존재하는 여러 ring을 삭제하는 방법을 간단하게 정리해둡니다. :) 1. 폴리곤 내부에 아래 그림과 같이 여러 ring이 존재한다면... 손으로 지우기가 매우 힘들죠. 마우스로 하나 씩 클릭해야 하기 때문입니다. ㅠ 크기가 작은 것들은 더 그렇죠. 2. 아래 그림과 같이 한 번에 변경할 수 있는 기능이 GRASS에 존재합니다. 3. Processing Toolbox를 열고 Grass 하위에 존재하는 v.clean을 찾아보세요. 여기서 cleaning tool을 rmarea로 설정하고 적당한 threshold 값을 입력합니다. !! 좌표계에 따라 threshold 값이 달라져야 하겠죠. 아마도요. 값 설정을 완료한 후에는 run을 눌러서 실행!! 더보기
QGIS Installation in Ubuntu 12.04 Server QGIS를 우분투 12.04 서버에 설치하는 방법을 간단하게 작성합니다. 설치하는 방법은 아래 URL에 자세히 나와 있긴합니다만. https://www.qgis.org/en/site/forusers/alldownloads.html#debian-ubuntu 새롭게 작성해두는 이유는 찾기 편하려고 + 실행했을 때 화면을 추가해서 확인하면서 넘어가보려고 입니다. 1. 먼저 wget을 통해서 key를 다운받고 등록하는 과정을 거치네요. command : wget -O - http://qgis.org/downloads/qgis-2015.gpg.key | gpg --import command : apt-key adv --keyserver keyserver.ubuntu.com --recv-key 3FF5FFCAD71.. 더보기
GeoJSON to SHP (ogr2ogr) ogr2ogr를 사용하면 GeoJSON을 SHP(shape file)로 변경할 수 있습니다. #참고 (GeoJSON to TopoJSON) : http://ngee.tistory.com/771 #참고 (SHP to GeoJSON) : http://ngee.tistory.com/779 ogr2ogr은 GDAL을 설치하면 사용할 수 있는 CLI 중에 하나입니다. 다만 GDAL을 빌드해서 설치하실꺼면 GEOS를 지원하도록 설정하고 빌드하세요. #참고 (GDAL build with PostgreSQL) : http://ngee.tistory.com/764 사용 방법은 간단합니다. ogr2ogr -f "ESRI Shapefile" -t_srs epsg:3857 outputShapeFileName.shp input.. 더보기
SHP to GeoJSON (ogr2ogr) ogr2ogr를 사용하면 SHP(shape file)을 GeoJSON으로 변경할 수 있습니다. #참고 (GeoJSON to TopoJSON) : http://ngee.tistory.com/771 ogr2ogr은 GDAL을 설치하면 사용할 수 있는 CLI 중에 하나입니다. 다만 GDAL을 빌드해서 설치하실꺼면 GEOS를 지원하도록 설정하고 빌드하세요. #참고 (GDAL build with PostgreSQL) : http://ngee.tistory.com/764 사용 방법은 간단합니다. ogr2ogr -f GeoJSON -t_srs epsg:3857 outputGeojsonFileName.geojson inputShapeFileName.shp 딱히 설명이 필요없을 정도로 간단합니다. -t_srs는 targ.. 더보기
GeoJSON to TopoJSON 이전에 TopoJSON을 설치하는 내용을 정리한 적이 있습니다. TopoJSON Install : http://ngee.tistory.com/766 1. 설치가 되었다면 GeoJSON을 TopoJSON으로 바꾸는 것은 일도 아니더라구요. 예를들어서 aaa.geojson 파일을 bbb.json (topojson 타입)으로 변경하기 위해서는 topojson -o bbb.json aaa.geojson 위와 같이 간단합니다. -o 옵션은 output file의 이름을 작성하는 옵션이구요. 가장 마지막에 입력 geojson 파일 이름을 작성해주면 끝이죠. 기본적으로 위와 같은데요. 위와 같이 수행하시면 모든 속성정보를 생략한 채 topojson 파일을 만들어요. 2. 속성정보를 포함하는 topojson을 만들기 .. 더보기
openlayers 3 : Vector Layer Visualization 001 (GeoJSON) ol3를 활용해서 벡터데이터를 시각화하는 방법 001 입니다. 001에서는 단순하게 하나의 geojson 파일을 ol3를 활용해서 시각화하는 것을 정리하고 002에서는 타일링된 geojson 파일을 ol3 활용 시각화하는 것을 정리해보려고 합니다. 002는 약간은 복잡한 내용이 들어갈 수 있어서 당장하지는 못할 것 같아요 ㅎㅎ 1. ol3 버전이 중요합니다. 정확하게 몇 버전 부터 달라졌는지는 검색하지 않았습니다. 다시 확인해보니깐 3.5 버전부터 입니다. 3.5 버전으로 가면서 vector layer 관련 api가 약간 변경되었다는 점이 중요합니다. 참고 웹 페이지 중 가장 마지막 링크에 들어가보시면 변경사항에 대해서 자세히 나와 있습니다. 참고 : https://github.com/openlayers.. 더보기
topojson Install in ubuntu (brew -> nodejs -> topojson) GeoJSON을 TopoJSON으로 변경하기 위해서는 topojson 이라는 툴이 필요합니다. topojson을 설치하는 방법은 한가지만 있는 것은 아닙니다. 이번 포스팅에서는 ubuntu 환경에서 topojson을 설치하는 하나의 예시를 정리해둡니다. 1. brew 설치 (http://brew.sh/linuxbrew/) apt-get install -y build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev # ---> root 이외의 사용자에서 실행해야 합니다. ruby -e "$(curl -fsSL https://raw.githubusercontent.co.. 더보기
GDAL : ogr2ogr : GeoJSON to PostgreSQL/PostGIS GeoJSON 파일을 PostgreSQL / PostGIS에 하나의 테이블로 입력할 때 사용할 수 있는 툴은 ogr2ogr 이라는 툴입니다. ogr2ogr의 기능은 꽤 다양한데요. 자세한 내용은 아래 웹 페이지를 참고하세요. ogr2ogr description web page : http://www.gdal.org/ogr2ogr.html 기능 중 하나가 GeoJSON과 같은 포맷을 공간정보 데이터베이스에 입력하는 것입니다. 예로 aaa.geojson 이라는 파일이 존재할 때 PostgreSQL / PostGIS에 입력하는 커맨드는 다음과 같습니다. ogr2ogr -s_srs EPSG:3857 -t_srs EPSG:3857 -f PostgreSQL PG:"dbname=mydb user=postgres" a.. 더보기
GDAL build with PostgreSQL GDAL을 빌드해서 설치할 때.. 향후 PostgreSQL과 연계되어 작동시키고 싶을 때는 아래와 같이 몇 가지 과정이 필요합니다. 1. PostgreSQL의 dev 패키지를 설치해줘야 합니다. PostgreSQL의 9.4 버전을 기준으로 아래와 같은 방식으로 패키지를 설치합니다. apt-get install -y postgresql-server-dev-9.4 2. gdal configure를 수행할 때 --with-pg 옵션을 통해 pg_config 파일의 위치를 잡아줍니다. ./configure --with-python --with-pg=/usr/bin/pg_config 위와 같이 PostgreSQL support yes가 나오면 성공! ./configure --with-python --with-pg.. 더보기
PostgreSQL psql command 가끔 PostgreSQL을 사용해서 작업을 해야 하는 경우가 있는데, psql를 실행해서 몇 가지 명령어만 치고 끝낸다. 가끔 사용하보니 아주 기초적인 것도 기억이 나지 않아서 매번 인터넷에 검색해서 사용하는 편인데.. 몇 가지만 간단하게 정리해두고 급할 때 찾아보려고 한다. 1. 데이터베이스 목록 출력 (List of databases) user=#\l (윈도우에서 작성하니깐 별로 좋지 못한데, 역슬래시에 소문자 엘(l)이다) 또는 user=#\list 도 가능하다. 2. 특정 데이터베이스 사용하기 예로 aaa 라는 데이터베이스가 존재할 때 user=#\c aaa (역슬래시에 소문자 c이다) 그럼 아래와 같이 변경 된다아. You are now connected to database "aaa" as u.. 더보기