49.0023866380461 14.1229300045899 //54.8357888684533 24.1457361773594 //EPSG:2180 378316,423036 //54.13000,18.3156,54.3226,18.5427 foreach($layers as $layer) { for($y=$bbox_y0;$y<=$bbox_y1;$y=$y+$step_y) { for($x=$bbox_x0;$x<=$bbox_x1;$x=$x+$step_x) { $url_get=$url."&typename=".$layer.'&srsName='.$srsName.'&bbox='.$y.','.$x.','.($y+$step_y).','.($x+$step_x); echo "
".$url_get; //break 2 ; echo "
bede jechac ".$url_get; $xml_=get_data($url_get); //$xmlarray = array(); // this will hold the flattened data $element = simplexml_load_string($xml_); $element->registerXPathNamespace('gmgml', 'http://www.intergraph.com/geomedia/gml'); $element->registerXPathNamespace('gml', 'http://www.opengis.net/gml'); //$element->registerXPathNamespace('p', 'http://example.org'); $positions = $element->xpath('/gmgml:FeatureCollection[1]/gml:featureMember/gmgml:Dzialki'); //$count[]=$positions->count(); $i=0; foreach ($positions as $pos) { $pos_ = $pos->xpath('./gmgml:ID'); foreach ($pos_ as $pos__) { $seq[]=1; $exp[$i]['ID']=$pos__->__toString(); // $result[] = $pos__->__toString(); $i++; } } $cols=array('IDENTYFIKATOR'=>'gmgml:IDENTYFIKATOR','POWIERZCHNIA'=>'gmgml:POWIERZCHNIA','posList'=>'gmgml:GEOMETRIA_DEG/gml:Polygon/gml:exterior/gml:LinearRing/gml:posList'); //todo jak zrobic atrubuty ? 'EPSG'=>'gmgml:GEOMETRIA_DEG/gml:Polygon@' foreach($cols as $column=>$xpath) { foreach($seq as $ind=>$val) { $pos_=$element->xpath('/gmgml:FeatureCollection/gml:featureMember['.$ind.']/gmgml:Dzialki/'.$xpath); //echo "
exp[".$ind. "][".$column."]="; foreach($pos_ as $pos__) { $exp[$ind][$column]=$pos__->__toString(); // echo " .. a string to ".$pos__->__toString(); } } } //var_dump($result); DEBUG_S(-3,'x',array($url_get,$xml_,$xml,$element,$result,$ind,$count,$exp),__FILE__,__FUNCTION__,__LINE__); foreach($exp as $exp_) { $WKT_a=explode(" ", $exp_['posList']); $y_=false; $WKT=''; $WKT_=array(); $i=0; foreach($WKT_a as $ref) { if(!$y_) $y_=$ref; else { $WKT_[]=$ref." ".$y_; $y_=false; } $i++; } $WKT=implode(",", $WKT_); //print_r($WKT); //$sql='delete from "'.$tbl_dest.'" where "REM_SYSTEM"=\''.$url.'\' and "REM_ID"=\''.$exp_['ID'].'\''; //$gdb->query($sql); //nie kasujemy istniejaych obiektow - TODO $sql='select "REM_ID" from "'.$tbl_dest.'" where "REM_SYSTEM"=\''.$url.'\' and "REM_ID"=\''.$exp_['ID'].'\' '; $res=$gdb->query($sql); if($gdb->count($res)<1) { $sql='insert into "'.$tbl_dest.'" ( "REM_SYSTEM","REM_ID","IDENTYFIKATOR","POWIERZCHNIA","posList","A_RECORD_CREATE_DATE" ) values (\''.$url.'\',\''.$exp_['ID'].'\',\''.$exp_['IDENTYFIKATOR'].'\' , \''.$exp_['POWIERZCHNIA'].'\',ST_GeomFromEWKT(\'SRID=4326;POLYGON(('.$WKT.'))\') ,now() ) '; echo "\n
".$sql; $gdb->query($sql); } else echo " | Obj ".$exp_['ID']." already exists in DB"; } unset($exp); // die(); } } flush(); //break 2; } echo "
pojechalem"; echo ""; }