Geodata Control Language - GCL
Один из общеизвестных недостатков существующих ГИС - отсутствие возможности создавать автоматически вычисляемые поля (кроме геометрии). Это связано прежде всего с тем, что в традиционных файлах геоданных негде хранить формулу вычислений. В GCL это решено.
Хранение кода. Наследование.
Базовый объект (предок) может хранить код для наследуемых объектов. Предпочтительный вариант - весь код и определения полей в базовом абстрактном классе, а в его потомках уже значения.
Часть 2 Работа с вычисляемыми полями
Вычисления в объектах
Одно из важных свойств программного кода - возможность создавать вычисляемые поля. Например, в приведенном примере поле <ab> является вычисляемым и равно произведению полей <a> и <b>.
XML | JSON |
<tags>
<index>
<a>300</a>
<b>10</b>
<ab>
<code>a*b</code>
</ab>
</index>
</tags>
|
{
"tags": {
"index": {
"a": "300",
"b": "10",
"ab": { "code": "a*b" }
}
}
}
|
Один из общеизвестных недостатков существующих ГИС - отсутствие возможности создавать автоматически вычисляемые поля (кроме геометрии). Это связано прежде всего с тем, что в традиционных файлах геоданных негде хранить формулу вычислений. В GCL это решено.
Хранение кода. Наследование.
Базовый объект (предок) может хранить код для наследуемых объектов. Предпочтительный вариант - весь код и определения полей в базовом абстрактном классе, а в его потомках уже значения.
XML
|
JSON
|
<object identify="base">
<tags> <index> <a type="float" /> <b type="float" /> <ab> <code>a*b</code> </ab> <!-- Или --> <ab code="a*b"/> </index> </tags> </object> |
{
"object": { "-identify": "base", "tags": { "index": { "a": { "-type": "float" }, "b": { "-type": "float" }, "ab": [ { "code": "a*b" }, { "-code": "a*b" } ] } } } } |
XML
|
JSON
|
<object parent="My parent">
<tags>
<index>
<a>300</a>
<b>10</b>
</index>
</tags>
</object>
|
{
"object": { "-parent": "My parent", "tags": { "index": { "a": "300", "b": "10" } } } } |
2 комментария:
Thank you a bunch for sharing this with all people you really recognise what you are talking about! Bookmarked. Kindly also consult with my site =). We will have a hyperlink change contract among us!
토토사이트
온라인경마
Nice read, I just passed this onto a friend who was doing some research on that. And he just bought me lunch as I found it for him smile Thus let me rephrase that: Thanks for lunch!
바카라사이트
토토사이트
Отправить комментарий