Selaa lähdekoodia

todo kable sasiedzkie

a.binder 9 vuotta sitten
vanhempi
commit
61c479a129
1 muutettua tiedostoa jossa 16 lisäystä ja 5 poistoa
  1. 16 5
      SE/dev/php-cli/cables_from_joins_to_PE.xsl

+ 16 - 5
SE/dev/php-cli/cables_from_joins_to_PE.xsl

@@ -198,7 +198,7 @@
                             <xsl:message>...Calculating to Self as PE( $Next_PE_Pos_len=<xsl:value-of select="$Next_PE_Pos_len"/>) &lt;= $Prev_PE_Pos_len=<xsl:value-of select="$Prev_PE_Pos_len"/>  </xsl:message>
                             <xsl:attribute name="PE_ID_Join" select="$PE_candidates_dump/PE_candidates_dump/LINESTRING[@ID_Way=$ID_Way]/bp:Path_Point[number(@id_path)=number($Same_PE_Pos)]/@ID_Join"/>
                         </xsl:when>
-                        <xsl:when test="$Prev_PE_Pos_len = '-1' or $Next_PE_Pos_len &lt;= $Prev_PE_Pos_len ">
+                        <xsl:when test="not($Next_PE_Pos_len = '-1') and ($Prev_PE_Pos_len = '-1' or $Next_PE_Pos_len &lt;= $Prev_PE_Pos_len) ">
                             <xsl:attribute name="debug" select="'going next'"/>
                             <xsl:attribute name="len" select="$Next_PE_Pos_len"/>
                             <xsl:attribute name="PE_ID_Join" select="$PE_candidates_dump/PE_candidates_dump/LINESTRING[@ID_Way=$ID_Way]/bp:Path_Point[number(@id_path)=number($Next_PE_Pos)]/@ID_Join"/>
@@ -212,7 +212,7 @@
                             <xsl:attribute name="debug" select="'going prev'"/>
                             <xsl:attribute name="PE_ID_Join" select="$PE_candidates_dump/PE_candidates_dump/LINESTRING[@ID_Way=$ID_Way]/bp:Path_Point[number(@id_path)=number($Prev_PE_Pos)]/@ID_Join"/>
                             <xsl:message>...Calculating to Prev ( $Next_PE_Pos_len=<xsl:value-of select="$Next_PE_Pos_len"/>) &lt;= $Prev_PE_Pos_len=<xsl:value-of select="$Prev_PE_Pos_len"/>  </xsl:message>
-                            <xsl:for-each select="$edge_joins_filled_paths_xml/edge_joins_filled_paths_xml/asText_XMl/LineString[number(@id_path) &lt; number($id_path) and number(@id_path) &gt;= number($Next_PE_Pos)  ]">
+                            <xsl:for-each select="$edge_joins_filled_paths_xml/edge_joins_filled_paths_xml/asText_XMl/LineString[number(@id_path) &lt; number($id_path) and number(@id_path) &gt;= number($Prev_PE_Pos)  ]">
                                 <xsl:sort select="number(@id_path)" order="descending"/>
                                 <xsl:copy-of select="."/>
                             </xsl:for-each>
@@ -224,9 +224,20 @@
             <!--<debug_To_LINESTRING>
                 <xsl:copy-of select="$Path_Point"/>
             </debug_To_LINESTRING>-->
-            <xsl:call-template name="To_LINESTRING">
-                <xsl:with-param name="Path_Point" select="$Path_Point/Path_Point"/>
-            </xsl:call-template>
+            <xsl:choose>
+                <xsl:when test="$Path_Point/Path_Point/(bp:Path_Point|LineString)">
+                    <xsl:call-template name="To_LINESTRING">
+                        <xsl:with-param name="Path_Point" select="$Path_Point/Path_Point"/>
+                    </xsl:call-template>
+                </xsl:when>
+                <xsl:otherwise>
+                    <xsl:message>ERROR nie znaleziono sciezki - moze sasiedzkie ? TODO</xsl:message>
+                </xsl:otherwise>
+                <ERORR>pewnie sasiedzkei sciezki Neighbour do obsluzenia i ich nie znaleziono 
+                   jest info w /edge_paths_with_PE_controll/Path[1]/PointMatrixGroupPE[1]/PointMatrixGroup[1]/odpalam_liczenie[1]/koniec_wariantow[1]/bp:Path_Point_Cable[3]
+                </ERORR>
+            </xsl:choose>
+            
         </detect_next_PE>
     </xsl:template>