Commit bc40f8ea45a495518b90a1687e1b85b911338ab0
1 parent
2a5011f3
Exists in
master
and in
7 other branches
Correção na obtenção dos nomes das classes e do outline
Showing
1 changed file
with
32 additions
and
12 deletions
Show diff stats
pacotes/gvsig/gvsig2mapfile/class.gvsig2mapfile.php
| @@ -115,7 +115,8 @@ class gvsig2mapfile{ | @@ -115,7 +115,8 @@ class gvsig2mapfile{ | ||
| 115 | $coluna = (string) $this->getValue($path."/tag:xml-tag","fieldNames"); | 115 | $coluna = (string) $this->getValue($path."/tag:xml-tag","fieldNames"); |
| 116 | $valores = (string) $this->getValue($path."/tag:xml-tag","values"); | 116 | $valores = (string) $this->getValue($path."/tag:xml-tag","values"); |
| 117 | $tipocoluna = (string) $this->getValue($path."/tag:xml-tag","fieldTypes"); | 117 | $tipocoluna = (string) $this->getValue($path."/tag:xml-tag","fieldTypes"); |
| 118 | - $classes = $this->VectorialUniqueValueLegend($result,$path1,$coluna,$tipocoluna,$valores); | 118 | + $nomes = (string) $this->getValue($path."/tag:xml-tag","keys"); |
| 119 | + $classes = $this->VectorialUniqueValueLegend($result,$path1,$coluna,$tipocoluna,$valores,$nomes); | ||
| 119 | } | 120 | } |
| 120 | 121 | ||
| 121 | $path1 = $path."/tag:xml-tag/tag:property[@value='".$render.".SingleSymbolLegend']/parent::*/tag:xml-tag"; | 122 | $path1 = $path."/tag:xml-tag/tag:property[@value='".$render.".SingleSymbolLegend']/parent::*/tag:xml-tag"; |
| @@ -159,9 +160,11 @@ class gvsig2mapfile{ | @@ -159,9 +160,11 @@ class gvsig2mapfile{ | ||
| 159 | ) | 160 | ) |
| 160 | ); | 161 | ); |
| 161 | } | 162 | } |
| 162 | - function VectorialUniqueValueLegend($result,$path1,$coluna,$tipocoluna,$valores){ | 163 | + function VectorialUniqueValueLegend($result,$path1,$coluna,$tipocoluna,$valores,$nomes){ |
| 163 | $valores = ",".str_replace(" ,",",",$valores); | 164 | $valores = ",".str_replace(" ,",",",$valores); |
| 164 | $valores = explode(",",$valores); | 165 | $valores = explode(",",$valores); |
| 166 | + $nomes = ",".str_replace(" ,",",",$nomes); | ||
| 167 | + $nomes = explode(",",$nomes); | ||
| 165 | $classes = array(); | 168 | $classes = array(); |
| 166 | $c = 0; | 169 | $c = 0; |
| 167 | while(list( , $node) = each($result)) { | 170 | while(list( , $node) = each($result)) { |
| @@ -171,16 +174,22 @@ class gvsig2mapfile{ | @@ -171,16 +174,22 @@ class gvsig2mapfile{ | ||
| 171 | else | 174 | else |
| 172 | {$classe["exp"] = "([".$coluna."] = ".$valores[$c]." )";} | 175 | {$classe["exp"] = "([".$coluna."] = ".$valores[$c]." )";} |
| 173 | $classe["className"] = (string) $this->getValue($path1,"className",$c); | 176 | $classe["className"] = (string) $this->getValue($path1,"className",$c); |
| 177 | + $classe["nome"] = $nomes[$c]; | ||
| 174 | $classe["desc"] = (string) $this->getValue($path1,"desc",$c); | 178 | $classe["desc"] = (string) $this->getValue($path1,"desc",$c); |
| 175 | $classe["color"] = (string) $this->getValue($path1,"color",$c); | 179 | $classe["color"] = (string) $this->getValue($path1,"color",$c); |
| 176 | $classe["rotation"] = (string) $this->getValue($path1,"rotation",$c); | 180 | $classe["rotation"] = (string) $this->getValue($path1,"rotation",$c); |
| 177 | $classe["offsetX"] = (string) $this->getValue($path1,"offsetX",$c); | 181 | $classe["offsetX"] = (string) $this->getValue($path1,"offsetX",$c); |
| 178 | $classe["offsetY"] = (string) $this->getValue($path1,"offsetY",$c); | 182 | $classe["offsetY"] = (string) $this->getValue($path1,"offsetY",$c); |
| 179 | $classe["size"] = (string) $this->getValue($path1,"size",$c); | 183 | $classe["size"] = (string) $this->getValue($path1,"size",$c); |
| 180 | - $classe["outline"] = (string) $this->getValue($path1,"outline",$c); | ||
| 181 | $classe["markerStyle"] = (string) $this->getValue($path1,"markerStyle",$c); | 184 | $classe["markerStyle"] = (string) $this->getValue($path1,"markerStyle",$c); |
| 182 | $classe["hasFill"] = (string) $this->getValue($path1,"hasFill",$c); | 185 | $classe["hasFill"] = (string) $this->getValue($path1,"hasFill",$c); |
| 183 | $classe["hasOutline"] = (string) $this->getValue($path1,"hasOutline",$c); | 186 | $classe["hasOutline"] = (string) $this->getValue($path1,"hasOutline",$c); |
| 187 | + if($classe["hasOutline"] == "true"){ | ||
| 188 | + $classe["outline"] = (string) $this->getValue($path1."/tag:xml-tag","color",0); | ||
| 189 | + } | ||
| 190 | + else{ | ||
| 191 | + $classe["outline"] = (string) $this->getValue($path1,"color",$c); | ||
| 192 | + } | ||
| 184 | if($classe["desc"] != "") | 193 | if($classe["desc"] != "") |
| 185 | {$classes[] = $classe;} | 194 | {$classes[] = $classe;} |
| 186 | $c = $c + 1; | 195 | $c = $c + 1; |
| @@ -200,13 +209,16 @@ class gvsig2mapfile{ | @@ -200,13 +209,16 @@ class gvsig2mapfile{ | ||
| 200 | $classe["offsetX"] = (string) $this->getValue($path,"offsetX",$c); | 209 | $classe["offsetX"] = (string) $this->getValue($path,"offsetX",$c); |
| 201 | $classe["offsetY"] = (string) $this->getValue($path,"offsetY",$c); | 210 | $classe["offsetY"] = (string) $this->getValue($path,"offsetY",$c); |
| 202 | $classe["size"] = (string) $this->getValue($path,"size",$c); | 211 | $classe["size"] = (string) $this->getValue($path,"size",$c); |
| 203 | - $classe["outline"] = (string) $this->getValue($path,"outline",$c); | ||
| 204 | $classe["markerStyle"] = (string) $this->getValue($path,"markerStyle",$c); | 212 | $classe["markerStyle"] = (string) $this->getValue($path,"markerStyle",$c); |
| 205 | $classe["hasFill"] = (string) $this->getValue($path,"hasFill",$c); | 213 | $classe["hasFill"] = (string) $this->getValue($path,"hasFill",$c); |
| 206 | $classe["hasOutline"] = (string) $this->getValue($path,"hasOutline",$c); | 214 | $classe["hasOutline"] = (string) $this->getValue($path,"hasOutline",$c); |
| 207 | $classe["exp"] = false; | 215 | $classe["exp"] = false; |
| 216 | + $classe["nome"] = " "; | ||
| 208 | if($classe["hasOutline"] == "true"){ | 217 | if($classe["hasOutline"] == "true"){ |
| 209 | - $classe["outline"] = $this->getValue($path."/tag:xml-tag","color"); | 218 | + $classe["outline"] = (string) $this->getValue($path."/tag:xml-tag","color"); |
| 219 | + } | ||
| 220 | + else{ | ||
| 221 | + $classe["outline"] = (string) $this->getValue($path,"color",$c); | ||
| 210 | } | 222 | } |
| 211 | $classes[] = $classe; | 223 | $classes[] = $classe; |
| 212 | $c = $c + 1; | 224 | $c = $c + 1; |
| @@ -225,12 +237,14 @@ class gvsig2mapfile{ | @@ -225,12 +237,14 @@ class gvsig2mapfile{ | ||
| 225 | $dataLayer = $this->getLayerData($gvsigview,$lname); | 237 | $dataLayer = $this->getLayerData($gvsigview,$lname); |
| 226 | $oLayer = ms_newLayerObj($objMap); | 238 | $oLayer = ms_newLayerObj($objMap); |
| 227 | $oLayer->setmetadata("TEMA",$lname); | 239 | $oLayer->setmetadata("TEMA",$lname); |
| 240 | + $oLayer->set("template","none.htm"); | ||
| 228 | $oLayer = $this->data2layer($oLayer,$dataLayer); | 241 | $oLayer = $this->data2layer($oLayer,$dataLayer); |
| 229 | } | 242 | } |
| 230 | return $objMap; | 243 | return $objMap; |
| 231 | } | 244 | } |
| 232 | function data2layer($oLayer,$dataLayer){ | 245 | function data2layer($oLayer,$dataLayer){ |
| 233 | - $oLayer->set("name",$this->nomeRandomico()); | 246 | + //TODO corrigir acentuação |
| 247 | + $oLayer->set("name",basename($this->arquivoGvp)."_".$oLayer->index); //$this->nomeRandomico()); | ||
| 234 | $this->nomesLayersAdicionados[] = $oLayer->name; | 248 | $this->nomesLayersAdicionados[] = $oLayer->name; |
| 235 | $oLayer->set("data",$dataLayer["data"]); | 249 | $oLayer->set("data",$dataLayer["data"]); |
| 236 | if($dataLayer["connectiontype"] != "") | 250 | if($dataLayer["connectiontype"] != "") |
| @@ -254,17 +268,23 @@ class gvsig2mapfile{ | @@ -254,17 +268,23 @@ class gvsig2mapfile{ | ||
| 254 | if($tipo == "com.iver.cit.gvsig.fmap.core.symbols.SimpleFillSymbol") | 268 | if($tipo == "com.iver.cit.gvsig.fmap.core.symbols.SimpleFillSymbol") |
| 255 | {$oLayer->set("type",2);} | 269 | {$oLayer->set("type",2);} |
| 256 | foreach($dataLayer["legenda"]["classes"] as $data){ | 270 | foreach($dataLayer["legenda"]["classes"] as $data){ |
| 271 | + //var_dump($data); | ||
| 257 | $classe = ms_newClassObj($oLayer); | 272 | $classe = ms_newClassObj($oLayer); |
| 273 | + $classe->set("name",$data["nome"]); | ||
| 258 | $estilo = ms_newStyleObj($classe); | 274 | $estilo = ms_newStyleObj($classe); |
| 259 | if($oLayer->type == 0){ | 275 | if($oLayer->type == 0){ |
| 260 | $estilo->set("symbolname","ponto"); | 276 | $estilo->set("symbolname","ponto"); |
| 261 | } | 277 | } |
| 262 | - $ncor = explode(",",$data["color"]); | ||
| 263 | - if($data["hasFill"] == "true") | ||
| 264 | - {$cor = $estilo->color;} | ||
| 265 | - else | ||
| 266 | - {$cor = $estilo->outlinecolor;} | ||
| 267 | - $cor->setrgb($ncor[0],$ncor[1],$ncor[2]); | 278 | + if($data["hasFill"] == "true"){ |
| 279 | + $ncor = explode(",",$data["color"]); | ||
| 280 | + $cor = $estilo->color; | ||
| 281 | + $cor->setrgb($ncor[0],$ncor[1],$ncor[2]); | ||
| 282 | + } | ||
| 283 | + if($data["hasOutline"] == "true" && $data["outline"] != ""){ | ||
| 284 | + $ncor = explode(",",$data["outline"]); | ||
| 285 | + $cor = $estilo->outlinecolor; | ||
| 286 | + $cor->setrgb($ncor[0],$ncor[1],$ncor[2]); | ||
| 287 | + } | ||
| 268 | if($data["size"] != false) | 288 | if($data["size"] != false) |
| 269 | {$estilo->set("size",$data["size"]);} | 289 | {$estilo->set("size",$data["size"]);} |
| 270 | if($data["exp"] != false) | 290 | if($data["exp"] != false) |