Я использую stSPARQL и реф говорит:Получить площадь муниципалитета
xsd:float strdf:area(strdf:geometry A): Returns the area of the surface if it is a polygon or multi-polygon.
и поэтому я пытаюсь:
PREFIX geo: <http://geo.linkedopendata.gr/gag/ontology/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
...
?municipality geo:has_geometry ?geometry . // so far so good (checked)
FILTER(strdf:area(?geometry) = ?area) .
, и я не подвожу ничего в результате. Моя общая цель - получить общую площадь всех муниципалитетов, но я даже не могу ее получить! Есть идеи?
Обратите внимание, что это мой первый раз, когда я использую пространственные метрические функции, поэтому я пытаюсь собрать и показать результат strdf:area()
, но я терпеть неудачу! ?
1-й результат геометрии:
"MULTIPOLYGON(((476162.8125 3949684,476195.687499999 3949675,476216.000000001 3949675,476226.1875 3... more
EDIT:
Если я пытаюсь с этим: ?area = strdf:area(?geometry) .
, я получаю сообщение об ошибке:
Encountered " "=" "= "" at line 15, column 9. Was expecting one of: "(" ... "!" ... "^" ... "a" ... ... ...
'Filter (... =? Область)' имеет смысл только, если другая часть ваш запрос связывает '? area'. Вы это делаете? (Вы не указали нам свой полный запрос.) И не видя ваши данные, мы не можем знать, какие вещи * должны вернуться. –
@ JoshuaTaylor Я этого не делал. Я не показал остальную часть запроса, потому что все, что он делает, это найти правильные муниципалитеты, поэтому это не имеет значения. Я пытаюсь найти район муниципалитета, и я не знаю, как это сделать! Так что да, я не удивлен, что мой код не имеет большого смысла ... Я пытаюсь собрать результат 'strdf: area()', но мне кажется, что это не удается. : / – gsamaras