YC (TQL): Difference between revisions

From Tygron Support wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
Instead of specifying a clause parameter with a particular [[Item ID]], it is possible to use the 'YC' characters for its value. The result of using 'YC' for the clause value, is the automatic creation of multiple TQL statements, one with each Item ID for that Clause Parameter, but only the Items that are covered by the calculated ''Search Polygon'' of the TQL statement. The ''Search Polygon'' is calculated by overlapping the clause polygon. Per clause type it is indicated if it limits the 'Search Polygon'. Internally, the resulting TQL statements are placed in a single array; Similarly the result will be an array of TQL result arrays.
Instead of specifying a clause parameter with a particular [[Item ID]], it is possible to use the 'YC' characters for its value. The result of using 'YC' for the clause value, is the automatic creation of multiple TQL statements, one with each Item ID for that Clause Parameter, but only the Items that are covered by the calculated ''Search Polygon'' of the TQL statement. The ''Search Polygon'' is calculated by overlapping the clause polygon. Per clause type it is indicated if it limits the 'Search Polygon'. Internally, the resulting TQL statements are placed in a single array; Similarly the result will be an array of TQL result arrays.
==Clause Parameters==
The YC value can be used in the following TQL Clause parameters:
<div style="column-count:3">
*[[Address (TQL Param)]]
*[[Area (TQL Param)]]
*[[Building (TQL Param)]]
*[[Levee (TQL Param)]]
*[[Measure (TQL Param)]]
*[[Neighborhood (TQL Param)]]
*[[Net cluster (TQL Param)]]
*[[Net load (TQL Param)]]
*[[Net line (TQL Param)]]
*[[Panel (TQL Param)]]
*[[Terrain (TQL Param)]]
*[[Zone (TQL Param)]]
</div>


==Example==
==Example==
Line 37: Line 54:
Its result will be an array of name arrays, separated by comma's, for example:
Its result will be an array of name arrays, separated by comma's, for example:
<pre>[ ["Upper Right"], ["Lower Right"] ]</pre>
<pre>[ ["Upper Right"], ["Lower Right"] ]</pre>
==Clause Parameters==
The YC value can be used in the following TQL Clause parameters:
<div style="column-count:3">
*[[Address (TQL Param)]]
*[[Area (TQL Param)]]
*[[Building (TQL Param)]]
*[[Neighborhood (TQL Param)]]
*[[Zone (TQL Param)]]
*[[Net load (TQL Param)]]
*[[Net line (TQL Param)]]
</div>


{{article end
{{article end
Line 54: Line 59:
**YCA: A combination between [[YC (TQL)|YC]] and [[YA (TQL)|YA]].
**YCA: A combination between [[YC (TQL)|YC]] and [[YA (TQL)|YA]].
**YCK: A combination between [[YC (TQL)|YC]] and [[YK (TQL)|YK]].
**YCK: A combination between [[YC (TQL)|YC]] and [[YK (TQL)|YK]].
*The result of an YC-queries are array of value-arrays without the outer brackets when the Setting [[Setting#TQL_PANEL_BRACKETED|TQL_PANEL_BRACKETED]] is set to 'false'.
|seealso=
|seealso=
*[[XC (TQL)]]
*[[XC (TQL)]]
Line 60: Line 64:
*[[YA (TQL)]]
*[[YA (TQL)]]
*[[YK (TQL)]]
*[[YK (TQL)]]
|api=*[[Api session event editor building query]]
|api=*[[Api session query]]
}}
}}




{{TQL param nav}}
{{TQL param nav}}

Latest revision as of 12:10, 4 November 2026

Instead of specifying a clause parameter with a particular Item ID, it is possible to use the 'YC' characters for its value. The result of using 'YC' for the clause value, is the automatic creation of multiple TQL statements, one with each Item ID for that Clause Parameter, but only the Items that are covered by the calculated Search Polygon of the TQL statement. The Search Polygon is calculated by overlapping the clause polygon. Per clause type it is indicated if it limits the 'Search Polygon'. Internally, the resulting TQL statements are placed in a single array; Similarly the result will be an array of TQL result arrays.

Clause Parameters

The YC value can be used in the following TQL Clause parameters:

Example

Neighborhoods in an example project
Areas in an example project

Consider the following (simplified) Neighborhood data of a project:

[ {
  "id" : 0,  "name" : "East Side",
  "polygons" : { "type" : "MultiPolygon", "coordinates" : [ [ [ [ 250.0, -500.0 ], [ 500.0, -500.0 ], [ 500.0, 0.0 ], [ 250.0, 0.0 ], [ 250.0, -500.0 ] ] ] ]  }
}, {
  "id" : 1,  "name" : "West Side",
  "polygons" : {  "type" : "MultiPolygon", "coordinates" : [ [ [ [ 0.0, -500.0 ], [ 250.0, -500.0 ], [ 250.0, 0.0 ], [ 0.0, 0.0 ], [ 0.0, -500.0 ] ] ] ]  }
} ]

and the Area data:

[ {
  "id" : 0,  "name" : "Upper Left",  
  "polygons" : {    "type" : "MultiPolygon",    "coordinates" : [ [ [ [ 110.0, -110.0 ], [ 110.0, -100.0 ], [ 100.0, -100.0 ], [ 100.0, -110.0 ], [ 110.0, -110.0 ] ] ] ]  }
  }, {
  "id" : 1,  "name" : "Upper Right",  
  "polygons" : {    "type" : "MultiPolygon",    "coordinates" : [ [ [ [ 435.0, -95.0 ], [ 425.0, -95.0 ], [ 425.0, -105.0 ], [ 435.0, -105.0 ], [ 435.0, -95.0 ] ] ] ]  }
  }, {  
  "id" : 2,  "name" : "Lower Left",  
  "polygons" : {    "type" : "MultiPolygon",    "coordinates" : [ [ [ [ 165.0, -425.0 ], [ 165.0, -415.0 ], [ 155.0, -415.0 ], [ 155.0, -425.0 ], [ 165.0, -425.0 ] ] ] ]  }
  }, {  
  "id" : 3,  "name" : "Lower Right",  
  "polygons" : {    "type" : "MultiPolygon",    "coordinates" : [ [ [ [ 315.0, -395.0 ], [ 325.0, -395.0 ], [ 325.0, -385.0 ], [ 315.0, -385.0 ], [ 315.0, -395.0 ] ] ] ]  }
} ]

Also Consider the situation where a TQL statement is present in the Text Body of a Template Text Panel. This Template Panel is applied on neighborhoods, creating two Text Panel instances, one automatically linked to Neighborhood 'East Side' and one to 'West Side.

The TQL statement

SELECT_NAME_WHERE_AREA_IS_YC

for the Text Panel linked to Neighborhood "East Side" is internally replaced with a list of TQL statements, separated by comma's,

[ [SELECT_NAME_WHERE_AREA_IS_1], [SELECT_NAME_WHERE_AREA_IS_3] ]

Its result will be an array of name arrays, separated by comma's, for example:

[ ["Upper Right"], ["Lower Right"] ]

Notes

  • The following variants on YC exist:
    • YCA: A combination between YC and YA.
    • YCK: A combination between YC and YK.

See also

API Endpoints