comparison artifacts/doc/conf/meta-data.xml @ 9626:ad852be69900

Nachtrag Pos. 20: improved infrastructure query
author mschaefer
date Mon, 14 Oct 2019 12:55:07 +0200
parents 07f02019065e
children f51e23eb036a
comparison
equal deleted inserted replaced
9625:07f02019065e 9626:ad852be69900
1415 </dc:macro> 1415 </dc:macro>
1416 1416
1417 <!-- XXXXXXX --> 1417 <!-- XXXXXXX -->
1418 <dc:macro name="predefined_infrastructures"> 1418 <dc:macro name="predefined_infrastructures">
1419 <infrastructures TODO="i10n"> 1419 <infrastructures TODO="i10n">
1420 <dc:context connection="system"> 1420 <dc:choose>
1421 <!--dc:choose> 1421 <dc:when test="dc:contains($riverside, 'left')">
1422 <dc:when test="dc:contains($riverside, 'left')"> 1422 <dc:context connection="system">
1423 <dc:variable name="infra_rs_clause" expr="'AND (lower(rs.value) = ''links'')'" />
1424 <!--dc:call-macro name="infrastructures_statement" /-->
1423 <dc:call-macro name="infrastructures_leftside_statement" /> 1425 <dc:call-macro name="infrastructures_leftside_statement" />
1424 <dc:call-macro name="infrastructures_groups_fill" /> 1426 <dc:call-macro name="infrastructures_groups_fill" />
1425 </dc:when> 1427 </dc:context>
1426 <dc:when test="dc:contains($riverside, 'right')"> 1428 </dc:when>
1429 <dc:when test="dc:contains($riverside, 'right')">
1430 <dc:context connection="system">
1431 <dc:variable name="infra_rs_clause" expr="'AND (lower(rs.value) = ''rechts'')'" />
1427 <dc:call-macro name="infrastructures_rightside_statement" /> 1432 <dc:call-macro name="infrastructures_rightside_statement" />
1428 <dc:call-macro name="infrastructures_groups_fill" /> 1433 <dc:call-macro name="infrastructures_groups_fill" />
1429 </dc:when> 1434 </dc:context>
1430 <dc:otherwise> 1435 </dc:when>
1436 <dc:otherwise>
1437 <dc:context connection="system">
1438 <dc:variable name="infra_rs_clause" expr="" />
1431 <dc:call-macro name="infrastructures_bothsides_statement" /> 1439 <dc:call-macro name="infrastructures_bothsides_statement" />
1432 <dc:call-macro name="infrastructures_groups_fill" /> 1440 <dc:call-macro name="infrastructures_groups_fill" />
1433 </dc:otherwise> 1441 </dc:context>
1434 </dc:choose--> 1442 </dc:otherwise>
1435 <dc:call-macro name="infrastructures_bothsides_statement" /> 1443 </dc:choose>
1436 <dc:call-macro name="infrastructures_groups_fill" />
1437 </dc:context>
1438 </infrastructures> 1444 </infrastructures>
1439 </dc:macro> 1445 </dc:macro>
1440 1446
1441 <dc:macro name="infrastructures_groups_fill"> 1447 <dc:macro name="infrastructures_groups_fill">
1442 <dc:group expr="$group_label"> 1448 <dc:group expr="$group_label">
1448 </dc:for-each> 1454 </dc:for-each>
1449 </infrastructure_group> 1455 </infrastructure_group>
1450 </dc:group> 1456 </dc:group>
1451 </dc:macro> 1457 </dc:macro>
1452 1458
1459 <dc:macro name="infrastructures_statement">
1460 <dc:comment>die expansion von infra_rs_clause funktioniert nicht richtig, die messages erscheinen leider nicht im log...</dc:comment>
1461 <dc:message>infrastructures_statement.infra_rs_clause: $infra_rs_clause</dc:message>
1462 <dc:message>infrastructures_statement.infra_rs_clause: ${infra_rs_clause}</dc:message>
1463 <dc:statement>
1464 SELECT s.id, MIN(s.filename) AS filename, MIN(s.group_id) AS group_id, MIN(g.name) AS group_label,
1465 MIN(s.annotation_type_id) AS type_id, MIN(t.name) AS type_label
1466 FROM (((infrastructure AS s INNER JOIN infrastructure_values AS v ON v.infrastructure_id = s.id)
1467 INNER JOIN annotation_types AS g ON s.group_id = g.id)
1468 INNER JOIN annotation_types AS t ON s.annotation_type_id = t.id)
1469 INNER JOIN attributes AS rs ON v.attribute_id = rs.id
1470 WHERE (s.river_id = ${river_id})
1471 AND (v.station BETWEEN ${fromkm}-0.0001 AND ${tokm}+0.0001)
1472 ${infra_rs_clause}
1473 GROUP BY s.id
1474 ORDER BY MIN(g.name), MIN(t.name)
1475 </dc:statement>
1476 </dc:macro>
1477
1453 <dc:macro name="infrastructures_leftside_statement"> 1478 <dc:macro name="infrastructures_leftside_statement">
1454 <dc:statement> 1479 <dc:statement>
1455 SELECT s.id, MIN(s.filename) AS filename, MIN(s.group_id) AS group_id, MIN(g.name) AS group_label, 1480 SELECT s.id, MIN(s.filename) AS filename, MIN(s.group_id) AS group_id, MIN(g.name) AS group_label,
1456 MIN(s.annotation_type_id) AS type_id, MIN(t.name) AS type_label 1481 MIN(s.annotation_type_id) AS type_id, MIN(t.name) AS type_label
1457 FROM (((infrastructure AS s INNER JOIN infrastructure_values AS v ON v.infrastructure_id = s.id) 1482 FROM (((infrastructure AS s INNER JOIN infrastructure_values AS v ON v.infrastructure_id = s.id)

http://dive4elements.wald.intevation.org