시작 ->실행 ->cmd

Mysql -u계정 –p 패스워드를 입력합니다.

 

버전,날짜를 확인하기 위해 아래와 같은 쿼리를 날립니다.

select version(),current_date;

 

버전에 따라 spatial기능을 지원하는 것이 다를 수도 있기 때문에 우선 버전을 확인하였습니다.

 

Create database geo;

를 실행시켜 데이터 베이스를 생성합니다.

 

Use geo;

를 입력시켜 데이터베이스를 활성화 시킵니다.

즉 geo라는 데이터베이스 쓰겠다는 뜻입니다.

 

"Points"라는 Table을 만든다

 

create table Points (

name VARCHAR(20) PRIMARY KEY,

location Point NOT NULL,

description VARCHAR(200),

SPATIAL INDEX(location)

);

 

Select를 해봐도 아무것도 나오지 않는다. 데이터가 없기 때문에…

 

INSERT INTO Points (name, location) VALUES ( 'point1' , GeomFromText( ' POINT(31.5 42.2) ' ) );
INSERT INTO Points (name, location) VALUES ( 'point2' , GeomFromText( ' POINT(1.1 2.2) ' ) );
를 실행시킨다.

GeomFromText('<text>') 는 WKT(Well Known Text)를 WKB(Well Known Binary)로 변환한다.
Geometry From Text라고 생각 하면 되겠다. <text>에 올 수 있는 것은 모든 지오메트리 타입의 WKT이다.

참고)WKT를 사용해서 WKB를 만드는 함수

GeomCollFromText(wkt[,srid]) or GeometryCollectionFromText(wkt,[,srid])
GEOMETRYCOLLECTION값을 생성
GeomFromText(wkt[,srid]) or GeometryFromText(wkt[,srid])
모든 타입의 지오메트리 WKB를 생성
LineFromText(wkt[,srid]) or LineStringFromText(wkt[,srid])
LINESTRING WKB를 생성
MLineFromText(wkt[,srid]) or MultiLineStringFromText(wkt[,srid])
MULTILINESTRING WKB를 생성
MPointFromText(wkt[,srid]) or MultiPointFromText(wkt[,srid])
MULTIPOINT WKB를 생성
MPolyFromText(wkt[,srid]) or MultiPolygonFromText(wkt[,srid])
MULTIPOLYGON WKB를 생성
PointFromText(wkt[,srid])
POINT WKB를 생성
PolyFromText(wkt[,srid]) or PolygonFromText(wkt[,srid])
POLYGON WKB를 생성

자 이제 데이터를 조회하기 위해
Select * from Points;
를 실행시키면 아래와 같이 location 컬럼이 이상하게 표현된다. WKB이기 때문이다.

 

이것이 올바른 쿼리이다.
SELECT name, AsText(location) FROM Points;

다음은 location의 longitude가 30보다 작은 지오메트리를 반환한다
SELECT name, AsText(location) FROM Points WHERE X(location) <30

 

Converts as readable text the envelope of the specified Geometry.
SELECT AsText(Envelope(GeomFromText('LineString(1 1,2 2)')));

 

Returns the size (float) of the specified Geometry.
SELECT Dimension(GeomFromText('LineString(1 1,2 2)'));

 

 

Returns the Geometry type (varchar) of the specified Geometry.
SELECT GeometryType(GeomFromText('POINT(1 1)'));

 

 

Find points in a bounding box.
SET @bbox = 'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0))';
SELECT name, AsText(location) FROM Points WHERE Intersects( location, GeomFromText(@bbox) );

 

Posted by 강부자아들
,

인사이드 맵

기타 2008. 7. 28. 16:26
Posted by 강부자아들
,
RevU 세상 모든것에 대한 리뷰 

각종 리뷰들을 아이템으로 제공하고 있는 사이트가 있어서 분석해 보았다.

사용자 삽입 이미지



이 아이템들을 모아 컬렉션으로 만들 수 있다.

아래의 플래시형태로  컬렉션들을 퍼가게 해서 필자가 가져온 것이다.

쉽게 생각하면 유튜브나 엠군 같은 동영상을 embed태그나 object태그로 해서 가져오는 것이라고 생각하면 된다.

바로 아래는 필자가 아이템들을 모아 하나의 컬렉션을 만듯 것이고 그 아래 나머지 그냥 다른 사람의 컬렉션을 퍼온 것이다.


 

 

Posted by 강부자아들
,