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 | 115 | $coluna = (string) $this->getValue($path."/tag:xml-tag","fieldNames"); |
116 | 116 | $valores = (string) $this->getValue($path."/tag:xml-tag","values"); |
117 | 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 | 122 | $path1 = $path."/tag:xml-tag/tag:property[@value='".$render.".SingleSymbolLegend']/parent::*/tag:xml-tag"; |
... | ... | @@ -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 | 164 | $valores = ",".str_replace(" ,",",",$valores); |
164 | 165 | $valores = explode(",",$valores); |
166 | + $nomes = ",".str_replace(" ,",",",$nomes); | |
167 | + $nomes = explode(",",$nomes); | |
165 | 168 | $classes = array(); |
166 | 169 | $c = 0; |
167 | 170 | while(list( , $node) = each($result)) { |
... | ... | @@ -171,16 +174,22 @@ class gvsig2mapfile{ |
171 | 174 | else |
172 | 175 | {$classe["exp"] = "([".$coluna."] = ".$valores[$c]." )";} |
173 | 176 | $classe["className"] = (string) $this->getValue($path1,"className",$c); |
177 | + $classe["nome"] = $nomes[$c]; | |
174 | 178 | $classe["desc"] = (string) $this->getValue($path1,"desc",$c); |
175 | 179 | $classe["color"] = (string) $this->getValue($path1,"color",$c); |
176 | 180 | $classe["rotation"] = (string) $this->getValue($path1,"rotation",$c); |
177 | 181 | $classe["offsetX"] = (string) $this->getValue($path1,"offsetX",$c); |
178 | 182 | $classe["offsetY"] = (string) $this->getValue($path1,"offsetY",$c); |
179 | 183 | $classe["size"] = (string) $this->getValue($path1,"size",$c); |
180 | - $classe["outline"] = (string) $this->getValue($path1,"outline",$c); | |
181 | 184 | $classe["markerStyle"] = (string) $this->getValue($path1,"markerStyle",$c); |
182 | 185 | $classe["hasFill"] = (string) $this->getValue($path1,"hasFill",$c); |
183 | 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 | 193 | if($classe["desc"] != "") |
185 | 194 | {$classes[] = $classe;} |
186 | 195 | $c = $c + 1; |
... | ... | @@ -200,13 +209,16 @@ class gvsig2mapfile{ |
200 | 209 | $classe["offsetX"] = (string) $this->getValue($path,"offsetX",$c); |
201 | 210 | $classe["offsetY"] = (string) $this->getValue($path,"offsetY",$c); |
202 | 211 | $classe["size"] = (string) $this->getValue($path,"size",$c); |
203 | - $classe["outline"] = (string) $this->getValue($path,"outline",$c); | |
204 | 212 | $classe["markerStyle"] = (string) $this->getValue($path,"markerStyle",$c); |
205 | 213 | $classe["hasFill"] = (string) $this->getValue($path,"hasFill",$c); |
206 | 214 | $classe["hasOutline"] = (string) $this->getValue($path,"hasOutline",$c); |
207 | 215 | $classe["exp"] = false; |
216 | + $classe["nome"] = " "; | |
208 | 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 | 223 | $classes[] = $classe; |
212 | 224 | $c = $c + 1; |
... | ... | @@ -225,12 +237,14 @@ class gvsig2mapfile{ |
225 | 237 | $dataLayer = $this->getLayerData($gvsigview,$lname); |
226 | 238 | $oLayer = ms_newLayerObj($objMap); |
227 | 239 | $oLayer->setmetadata("TEMA",$lname); |
240 | + $oLayer->set("template","none.htm"); | |
228 | 241 | $oLayer = $this->data2layer($oLayer,$dataLayer); |
229 | 242 | } |
230 | 243 | return $objMap; |
231 | 244 | } |
232 | 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 | 248 | $this->nomesLayersAdicionados[] = $oLayer->name; |
235 | 249 | $oLayer->set("data",$dataLayer["data"]); |
236 | 250 | if($dataLayer["connectiontype"] != "") |
... | ... | @@ -254,17 +268,23 @@ class gvsig2mapfile{ |
254 | 268 | if($tipo == "com.iver.cit.gvsig.fmap.core.symbols.SimpleFillSymbol") |
255 | 269 | {$oLayer->set("type",2);} |
256 | 270 | foreach($dataLayer["legenda"]["classes"] as $data){ |
271 | + //var_dump($data); | |
257 | 272 | $classe = ms_newClassObj($oLayer); |
273 | + $classe->set("name",$data["nome"]); | |
258 | 274 | $estilo = ms_newStyleObj($classe); |
259 | 275 | if($oLayer->type == 0){ |
260 | 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 | 288 | if($data["size"] != false) |
269 | 289 | {$estilo->set("size",$data["size"]);} |
270 | 290 | if($data["exp"] != false) | ... | ... |