2016-12-15 5 views
1

간단한 필터 및 where 절의 비교와 같은 경우 위치 값을 나타내는 방법이 있습니까? 예를 들어, 뭔가 같은 :쿼리에서 위치 값을 나타내는 방법이 있습니까?

https://data.seattle.gov/rescource/82su-5fxf.json?location='LOCATION (Seattle, 47.612237, -122.290868)' 

문서는 다른 지리적 데이터로 잘 알려진 텍스트 (WKT)를 표현 될 수 있음을 언급하고 그러나 지금까지의 내가 할 수있는, 간단한 필터와 비교 같은 것들에 그것을 사용할 수 있습니다 찾기, 위치 값의 WKT 표현이없는 것 같습니다.

사용자가 값을 직접 비교하기보다는 within_circle과 같은 것을 사용하기를 의도 한 것일 수 있으며 문서 페이지의 메모를 레거시 데이터 유형으로 보았 기 때문에 방법이 없다면 의미가 있습니다. .

저는 개인적으로 앱에 within_circle과 같은 것을 사용할 것입니다. 그러나 가능한 경우에는 낙심시킬지라도 사용할 수 있도록하고 싶습니다. 그렇기 때문에 저는 haskell SODA 바인딩 라이브러리를 작성하고 있습니다. 바인딩으로 인해 유효한 전화가 걸리지 않도록하고 싶습니다. https://dev.socrata.com/foundry/data.seattle.gov/3c4b-gdxv

당신은 실제로에서 정확한 평등을 수행 할 수 없습니다

답변

1

내 예로는이적인 버전을 사용하고 있는지 확인, 당신은 위의 링크 이전 2.0 일이 아니라 버전 2.1 엔드 포인트를 사용하는 것 Point 열의 간단한 필터. 내가 권하고 싶습니다 가장 가까운 근사치는 다음과 같이 매우 작은 원으로 within_circle을 사용하고 있습니다 :

당신이 WKT에서 걷고/위도 형식을 지정하는 방법을 찾고 있다면
GET https://data.seattle.gov/resource/3c4b-gdxv.json?$where=within_circle(location,%2047.514821,%20-122.258635,%2010) 

, 당신이 그들을 포맷 할 수 있습니다 POINT

나는 그것을 깨닫지 못했지만 실제로는 우리의 Point datatype에 대해 문서화되지 않았습니다. 그래서 나는 그것을 대기열에 추가 할 것입니다!

업데이트 : StevenW는 구문 제대로 경우 정확한 필터를 할 수 발견 :이 지점과 동일한 위도/경도를 가지고 당신을 필요로

GET https://data.cityofchicago.org/resource/6zsd-86xi.json?locat‌​ion='POINT (-87.631046 41.694312)' 

참고, 그렇게하지 않습니다 오류에 많은 여유가있다.

+0

죄송합니다. 2.0 끝점인지 몰랐습니다. 이제 살펴 보았으니 실제로 [위치] (https://dev.socrata.com/docs/datatypes/location.html#)의 열 데이터 유형으로 2.1 데이터 세트를 찾을 수 없습니다. 당신은 또한 정확한 포인트 평등을 할 수 없다는 것에 대해 옳습니다. 나는 그것을 성공적으로 시도했다고 생각했지만, 다각형과 같은 것을 테스트하고 잘못 기억해야만했을 것입니다. 어쨌든 빠르고 유용한 답변에 감사드립니다. – StevenW

+1

사실, 일부 쿼리를 테스트하는 동안 다음 구문을 사용하여 간단한 필터로 정확히 일치하는지 확인할 수있었습니다. 'https://data.cityofchicago.org/resource/6zsd-86xi.json?location='POINT (-87.631046 41.694312) ''. 나는 아직 충분한 평판이 없기 때문에 이것을 볼 수 있다고 생각하지 않는다. – StevenW

+0

좋은 발견 StevenW, 나는 그것을 역시 시도했다. 그러나 나는 틀린 무엇인가하고 있었음에 틀림 없었다. – chrismetcalf