2011-08-26 3 views
2

다음 저장된 함수 호출에서 위도가 긴 좌표를 수동으로 입력하는 대신 다른 테스트 테이블에서 다각형을 선택하고 싶습니다. 나는 문법의 권리를 얻는 데 문제가있다.MySQL 함수 호출 Select 문 사용

SELECT IS_POINT_IN_POLYGON(
POINTFROMTEXT(CONCAT('POINT(', latitude, ' ', longitude, ')')) , POLYFROMTEXT('POLYGON((43.40930419213147, -72.5537109375 
43.40884544242924, -72.53695249557495 
43.38754804789373, -72.5437331199646 
43.378580946950244, -72.58398771286011 
43.40930419213147, -72.5537109375))') 
)AS result, latitude, longitude 
FROM sport 
WHERE sport_type = 'lacrosse' AND IS_POINT_IN_POLYGON(
POINTFROMTEXT(CONCAT('POINT(', latitude, ' ', longitude, ')')) , POLYFROMTEXT('POLYGON((43.40930419213147, -72.5537109375 
43.40884544242924, -72.53695249557495 
43.38754804789373, -72.5437331199646 
43.378580946950244, -72.58398771286011 
43.40930419213147, -72.5537109375))') 
) = 1; 

그래서, 나는, 43.40930419213147을 제거하는 대신 -72.5537109375 43.40884544242924, -72.53695249557495 43.38754804789373, -72.5437331199646 43.378580946950244, -72.58398771286011 43.40930419213147, -72.5537109375

그리고 싶습니다, 나는 좋겠 이 select 문을 사용하고 싶습니다.

SELECT neighborhood_polygon FROM `neighborhood_shapes` WHERE neighborhood="XYZ neighborhood" 

나는 네이 ghborhood_shapes.

  • neighborhood_index의 SMALLINT (3)
  • 이웃 VARCHAR (50)
  • neighborhood_polygon (형상)

추가 정보 :

가 IS_POINT_IN_POLYGON 같이

라고 다음과 같이 그 구조는 다음과 같습니다 : IS_POINT_IN_POLYGON (P 지점, 폴리 폴리)

모두들 uggestions?

답변

0

이렇게하십시오.

... POLYFROMTEXT(
    (SELECT neighborhood_polygon 
     FROM neighborhood_shapes 
     Where neighborhood = "XYZ neighborhood") as coords) 
+0

안녕하세요 Tony318, 메시지를 보내 주셔서 감사합니다. 나는 너의 제안을 시도했다. 불행히도 "# 1583 - 네이티브 함수 'POLYFROMTEXT'에 대한 호출에서 잘못된 매개 변수가 있습니다." 다른 아이디어가 있다면, pls 알려주세요. 나는 내가 생각할 수있는 모든 것을 시도했다. 감사. – Laxmidi

+0

@OMG 조랑말, 도와주세요 - 당신의 MySQL의 광휘가 필요합니다! – Laxmidi

+0

아마도 다각형 부분을 유지합니까? POLYFROMTEXT 비트 대 주위 놀이 ('다각형 ('+ (+ 좌표로서 이웃 = "XYZ 이웃")가 ')'neighborhood_shapes FROM neighborhood_polygon 선택). 나는 정말로 모른다. – Tony318