1.redeem 및 인증

일반적으로 Foursquare의 Special Offer를 사용하기 위해 가게 Venue의 직원에게 체크인을 한 것을 보여주어 자신이 쿠폰이나 할인정보에 대해 "unlocking"되어 있고 혜택을 줄 것을 요구한다.

 

그림 1 Foursquare Special Offer 획득 전과 획득 후(unlocked)

Business 사업자의 Dash Board에는 사용자의 Check-In이 기록될지는 몰라도 사실 가게주인이 이것이 사용된 Special Offer인지 아닌지 확인하기 위해서는 별도의 인증번호를 통해 POS(Point of Sales)시스템과 연동된 좀 더 정교한 방법이 필요하다.

카카오톡의 플러스 친구는 아래와 같이 매장직원용 확인 버튼을 만들어서 사용을 확인할 수 있게 돕고 있다.

그림 2 카카오톡 플러스 친구 쿠폰 인증

아마도 Facebook이 태그를 기반으로 할인혜택이나 스탬프를 적립하게 하는 회사인 Tagtile을 인수한 것도 자신들의 서비스인 Facebook Deals에서 사용자들에 대한 행동이나 Deal에 대해 좀 더 정교하고 편리한 프로세스를 통해 사용자들의 행동을 추적하려는 것이라고 생각된다.

그림 3 태그기반의 체크인 서비스인 Tagtile

Foursquare도 American Express 카드사와의 제휴를 통해 새로운 방법을 생각해 냈다. American Express Special이라는 새로운 Offer를 제공하는 것이다. 구체적으로는 먼저 사용자가 American Express 카드사의 홈페이지에서 Foursquare Connect를 통해 Foursquare 계정으로 로그인을 한다. 그 다음 American Express Special Offer를 제공하는 Venue에서 카드로 결제를 하면 자동을 체크인을 하게 되고 혜택을 받게 되는 것이다.

그림 4 American Express 홈페이지에 foursquare계정을 연결

 

그림 5 foursquare connect 권한 설정

 

그림 6 American Express 카드번호 설정

 

 

 

 

그림 7 American Express , Foursquare 체크인 프로세스

 

2. Deals(소셜커머스)

Foursquare는 Business 사업자(가게주인)를 위해 전용 페이지와 DashBoard, Special Offer 기능 등을 제공하고 있다. Special Offer의 종류는 아래 그림과 같다.

이러한 Special Offer는 사용자의 화면에 아래와 같이 표시된다.

 

소셜커머스 업체에서도 소상공인들을 위한 소셜커머스 딜을 진행하고 있는데 이러한 소셜커머스의 쿠폰 정보가 Foursquare와 통합된다. Foursquare는 LivingSocial, Gilt City, AT&T Interactive, BuyWithMe, Zozi , Groupon(예정)같은 소셜커머스 업체와 제휴를 통해 Foursquare 앱에서 사용자들이 소셜커머스를 이용할 수 있게 해준다. Foursquare의 Explore메뉴를 클릭하면 Venue정보와 Special Offer를 확인할 수 있는데 Special Offer에 Business 사업자의 할인정보 뿐만 아니라 소셜커머스 업체의 소셜커머스 쿠폰정보도 보여주는 것이다.

 

3. Explore

Foursquare는 2011년 Explore는 Venue추천엔진을 기반으로 사용자가 관심 있어 할 장소를 제공하는 서비스로 geosocial과 지역검색을 새로운 단계로 향상시켰다. 이 서비스는 사용자가 POI를 검색어로 검색할 때, 위치기반으로 검색을 할 수 있게 해주는데 결과 값은 자신의 친구들의 데이터를 기반으로 믿을 만한 데이터를 제공한다고 했는데 실제로 제가 써본 결과 상당히 괜찮은 결과를 보여주는 것 같았습니다.

그림 8 Foursquare Explore 웹 화면

다음과 같은 질문에 Explore 서비스가 적합하다고 합니다.

  • 내가 예전에 가봤던 혹은 가보지 않았던 장소는 어디인가?
  • 어느 장소가 인기 있는가?
  • 내 친구들이 추천하는 장소는 어디인가?
  • Special Offer나 소셜커머스를 진행하고 있는 곳은 어디인가?
  • 내가 저 장소에 가면 무엇을 해야하나?

 

 

아래 그림 Foursquare의 개발자 블로그에서 가져온 사진인데여 Explore에서 추천이 이뤄지는 방식에 대한 기본적인 그래프로 x축으로 증가할수록 많은 사용자가 방문한 것이고, y축으로 증가할수록 체크인 횟수가 많은 것입니다. 정말 많은 사용자들이 체크인을 조금한 지역은 관광지나 꼭 한 번쯤은 가봐야 할 장소이며, 사용자가 조금 많고 체크인 수가 많다면 특정 지역에서 유명한 맛집이나 특정지역에서 가볼만한 정도의 장소인 것입니다. 사용자는 거의 없지만 방문횟수가 높으면 직장일 확률이 높고, 사용자도 많고 체크인수도 많다면 학교일 가능성이 높다고 합니다.

그림 9 사용자수와 방문수에 따른 카테고리 구분(뉴욕 )

Posted by 강부자아들
,

HTTP 프로토콜은 캐시 메커니즘을 정의하고 있다. 프록시 웹서버는 페이지, 파일, 이미지 등을 캐시 할 수 있다. 클라이언트가 서버로 요청을 보낼 때, 클라이언트는 서버에게 요청하는 웹페이지가 갱신되었는지 아닌지 확인하는 요청을 보낼 수 있다. 클라이언트는 Conditional GET Request라는 특별한 파라미터를 가진 요청을 서버로 보냄으로써 서버에 있는 웹페이지와 같은 리소스가 갱신되었는지 안 되었는지 확인할 수 있다. 이 요청에는 If-Modified-Since라는 특별한 헤더 정보가 붙게 된다. 이 해더는  RFC 2822 형태로 날짜와 시간 값이 붙게 된다. 서버와 클라이언트 사이의 프록시 서버는 이 날짜와 시간 값을 확인하여 조건이 맞으면 캐시된 웹페이지를 전달하게 되고 304 Not Modified 헤더를 클라이언트에 응답으로 보낸다.

Posted by 강부자아들
,

gdal_merge.py

Open Source 2012. 4. 5. 10:48

 

 

gdal_merge.py

여러 개의 이미지들을 결합시켜 하나로 합쳐준다. FWTools보다는 OSGEO4W를 설치해서 사용하기를 권장한다.

OSGEO4W를 설치하고 gdal16을 입력하여 gdal1.6라이브러리를 활성화 한 뒤 사용하기를 바란다. –co(Creation Options)과 같은 경우 출력될 파일 포멧에 따라 다른 옵션을 지정할 수 있다. http://www.gdal.org/formats_list.html에 가서 출력될 파일 포멧을 찾은 후 Creation Options 항목을 찾아 적절한 옵션을 기입하면 된다. GeoTIFF의 경우 .tfw파일을 생성하게 하고 싶으면 http://www.gdal.org/frmt_gtiff.html에 가서 Creation Options 항목을 찾은 후 .tfw와 관련된 Creation Options을 찾은 후 TFW=YES와 같은 형식으로 기입하는 것을 확인한다. 이후 gdal_merge.py 커맨드의 옵션에 –co TFW=YES와 같은 형식으로 기입한다. -co은 여러번 지정이 가능하다.

 

개요

gdal_merge.py [-o 출력될_파일] [-of 출력될_파일포멧] [-co NAME=VALUE]*
              [-ps pixelsize_x pixelsize_y] [-tap] [-separate] [-v] [-pct]
              [-ul_lr ulx uly lrx lry] [-n nodata_value] [-init "value [value...]"]
              [-ot datatype] [-createonly] input_files

설명

이 유틸리티는 여러 개의 이미지들을 자동적으로 결합시켜 준다. 결합이 되어질 이미지들을 모두 같은 좌표계(coordinate system)와 같은 이미지 밴드를 가지고 있어야 한다. 하지만 이미지들이 겹치거나 다른 해상도를 가지는 것은 상관이 없다. 이미지가 겹칠 경우에는 마지막에 입력되어진 이미지가 그 전에 입력된 이미지 위에 올라가게 된다.

-o out_filename:
중복되는 파일이름이 없다면 출력될 결과 파일의 이름(기본값으로 "out.tif").
-of format:
출력될 결과 파일의 파일 포멧명. 기본값은 GeoTIFF (GTiff).
-co NAME=VALUE:
출력될 파일의 생성 옵션으로 여러 개를 지정할 수 있다. 
-ot datatype:
지정된 출력 타입으로 결과 이미지 밴드의 타입을 만들게 한다. 다음과 같은 이름을 데이터 타입을 지정하면 된다.(Byte, Int16,...)
-ps pixelsize_x pixelsize_y:

결과 파일의 픽셀 사이즈. 만약 이 –ps 옵션이 지정되지 않으면 첫 번째 입력 파일의 해상도로 사이즈가 결정된다.

-tap:

(GDAL >= 1.8.0) (target aligned pixels) align the coordinates of the extent of the output file to the values of the -tr, such that the aligned extent includes the minimum extent.

-ul_lr ulx uly lrx lry:
출력될 결과 파일의 범위. 이 옵션이 지정되지 않는다면 모든 입력 이미지 파일로부터 전체적으로 합쳐진 범위가 사용되게 된다.
-v:
이미지 결합 작업이 일어날 때마다 그 결과의 진행과정을 출력하게 함.
-separate:
각각의 입력 파일을 분리된 stacked 밴드로 배치
-pct:
첫 번째 입력 이미지로부터 pseudocolor 테이블을 얻어와서 그 테이블을 결과 이미지의 각각의 화소 값에 을 맵핑되게 한다. 이러한 방식으로 결합된 pseudocolor 이미지들은 입력된 모든 이미지들이 똑같은 컬러 테이블을 사용하고 있다고 가정한다.
(참고: http://blog.daum.net/niast0158/8746026)
-n nodata_value:
이 픽셀 값을 가지고 있을 경우 픽셀들을 무시해 버린다.
-a_nodata output_nodata_value:
(GDAL >= 1.9.0) 출력 밴드에 지정된 nodata 값을 할당한다.
-init "value(s)":
이 값들을 가지고 결과 이미지의 밴드 값을 미리 초기화 시킨다. 하지만 이 값은 결과파일에 nodata 값으로는 기록되지 않는다. 만약 값이 하나만 지정된다면 지정된 그 하나의 값은 이미지의 모든 밴드에 적용된다. 
-createonly:
입력 이미지 값은 복사되지 않고 오로지 결과 파일만 생성됨(아마도 –init 옵션에 지정된 색으로 이미지가 생성됨).

주의: gdal_merge.py는 파이썬 스크립트이며 파이썬을 지원하는 GDAL에 빌드된 버전만 지원한다.

 

예제

모든 밴드에서 255 값으로 초기화된 값을 가진 픽셀을 가진 이미지를 생성한다.

% gdal_merge.py -init 255 -o out.tif in1.tif in2.tif

데이터가 없는 픽셀을 파랑색(0 0 255)으로 보여주는지를 RGB 이미지를 생성한다. 앞에 2 개의 벤드는 0으로 초기화 되고 3번째 밴드는 255 값으로 초기화 된다.

% gdal_merge.py -init "0 0 255" -o out.tif in1.tif in2.tif
 
 참고
http://www.gdal.org/gdal_merge.html
http://www.mikejcorey.com/wordpress/2011/02/05/tutorial-create-beautiful-hillshade-maps-from-digital-elevation-models-with-gdal-and-mapnik/
 
Posted by 강부자아들
,