wkt,strpos($this->wkt,"(")+2,-2); $coords_multiple_string = substr($coords_string,strpos($coords_string,"(")+1,-1); $polygons = explode("),(",$coords_multiple_string); foreach ($polygons as $polygon) { $coords = explode(",",$polygon); $coords_polygon =array(); for($i=0 ; $i< count($coords) ; $i++){ $infos =array(); $coord = $coords[$i]; $infos = explode(" ",$coord); //on ne met pas la dernière coordonnée if($i<(count($coords)-1)){ $coords_polygon[] = new map_coord($infos[0],$infos[1]); } } $this->coords[] = $coords_polygon; } $this->coords_uptodate = true; } protected function build_wkt(){ $this->wkt = $this->get_hold_type()."(("; $tmp_wkt = ""; foreach ($this->coords as $polygon) { if ($tmp_wkt == "") $tmp_wkt = "("; else $tmp_wkt .= ",("; foreach($polygon as $coord){ $tmp_wkt.= $coord->get_decimal_lat()." ".$coord->get_decimal_long().","; } $tmp_wkt.= $polygon[0]->get_decimal_lat()." ".$polygon[0]->get_decimal_long(); $tmp_wkt .= ")"; } $this->wkt .= $tmp_wkt; $this->wkt .= "))"; $this->wkt_uptodate = true; } } // end of map_hold_polygon