vs 2013 에서 geos 3.4.2 의 컴 파일 과 버퍼 생 성 예제

환경: vs 2013, windows 8.1
참고:http://www.cnblogs.com/begincsdn/archive/2012/07/22/2603621.html
http://www.cnblogs.com/mazhenyu/p/4150454.html
http://blog.csdn.net/qq503690160/article/details/7055203
geos 소개  
      GEOS 는 집합 형태의 토폴로지 관계 조작 실 용 라 이브 러 리 (이렇게 말 하면 정확 하지 않 을 수 있 음) 로 쉽게 말 하면 두 기하학 적 형상 간 의 관 계 를 판단 하고 두 기하학 적 형상 을 조작 하여 새로운 기하학 적 형상 을 형성 하 는 라 이브 러 리 이다.사실 게 오 스 를 배 우 는 좋 은 곳 은 GEOS 의 메 인 스테이션 이 아니다.다른 곳 에서, JTS Topology Suite (JTS)!사실 GEOS 는 JTS 를 본 떠 만 든 것 이다.그것 은 사실 JTS 의 C + + 실현 이다.여기에 몇 개의 문서 가 있 는데 하 나 는 개발 자 안내서 이 고 하 나 는 JTS 기술 설명서 입 니 다.GEOS 는 주로 몇 가지 조작 과 계산 을 지원 합 니 다. 공간 관계 계산 은 주로 몇 가지 계산 을 지원 합 니 다.
       GEOS 를 사용 하 는 애플 리 케 이 션 은 PostGIS (C API), MapServer (C API), Quantum GIS (C API), OGR (C API), GRASS (C API), Shapely (C API), INGRES (C API), SpatiaLite (C API), MapGuide Open Source GeoDjango (C API), MapWindow GIS (C API), osm2pgsql (C + API), osgEarth (C + API), MonetDB (C API), rgeos (C API) 가 있 으 며 패키지 의 FME 와 Autodesk MapGuide Enterprise 도 있다.
번역
1. 다운로드
http://trac.osgeo.org/geos/wiki
2. 컴 파일
          CMake 를 사용 하여 vs 2013 프로젝트 sln 파일 을 만 든 다음 sln 파일 을 열 어 geos (동적 라 이브 러 리) 나 geos - static (정적 라 이브 러 리) 를 컴 파일 합 니 다.
3. 컴 파일 중 오류
1. max 와 min 이 인식 되 지 않 습 니 다. \ # include  
2. platform. h 와 version. h 파일 을 찾 을 수 없습니다. platform. h. vc 와 version. h. vc 를 제거 합 니 다. vc
3. 예시 프로그램
다음은 정사각형 버퍼 를 구 하 는 프로그램 입 니 다.
typedef Coordinate PT;
GeometryFactory factory;
	CoordinateArraySequenceFactory csf;

	CoordinateSequence* cs1 = csf.create(5, 2);
	cs1->setAt(PT(-1, 1, 0), 0);
	cs1->setAt(PT(1, 1, 0), 1);
	cs1->setAt(PT(1, -1, 0), 2);
	cs1->setAt(PT(-1, -1, 0), 3);
	cs1->setAt(PT(-1, 1, 0), 4);
	LinearRing* ring1 = factory.createLinearRing(cs1);
	Geometry* p1 = factory.createPolygon(ring1, NULL);

	int nsize2 = p1->getCoordinates()->getSize();
	Geometry*  p2 = p1->buffer(1, 2,3);

좋은 웹페이지 즐겨찾기