function render_to_osm($nodeList, $file) { $osm = new OSMWriter(); $osm->xmlHeader(); $osm->openOsm("0.6", "osm-tools"); foreach ($nodeList as $node) { $osm->openNode($node['lat'], $node['lon']); $osm->writeTag('osmanalysis', 'missing'); $osm->writeTag("name", htmlspecialchars($node['name'], ENT_QUOTES)); $osm->closeNode(); } $osm->closeOsm(); file_put_contents($file, $osm->get()); }
static function convert($filename, OSMWriter $osm, $namePrefix = '') { $osm->xmlHeader(); $osm->openOsm("0.6", "osm-tools"); $s = simplexml_load_file($filename); foreach ($s->wpt as $point) { $osm->openNode($point['lat'], $point['lon']); $osm->writeTag('osmanalysis', 'mismatch'); $prefix = "OSB {$point->extensions->id}: "; $osm->writeTag('name', $prefix . htmlspecialchars((string) $point->desc, ENT_QUOTES, 'UTF-8')); $osm->closeNode(); } $osm->closeOsm(); return $osm->get(); }
} if (strlen(trim($line[2])) != 0 && $line[2] != $line[9]) { $osm->openNode($line[4], $line[3]); $osm->writeTag('osmanalysis', 'missing'); $osm->writeTag("name", htmlspecialchars("{$line[2]}", ENT_QUOTES)); $osm->writeTag("addr:street", htmlspecialchars("OSM has nothing", ENT_QUOTES)); $osm->closeNode(); $osm->openNode($line[4], $line[3]); $osm->writeTag('osmanalysis', 'missing'); $osm->writeTag("name", htmlspecialchars("{$line[9]}", ENT_QUOTES)); $osm->writeTag("addr:street", htmlspecialchars("OSM has nothing", ENT_QUOTES)); $osm->closeNode(); } $expected = strlen($line[1]) ? $line[1] : $line[2]; $real = strlen($line[8]) ? $line[8] : $line[9]; $osm->openNode($line[4], $line[3]); $osm->writeTag('osmanalysis', 'mismatch'); $osm->writeTag('osmanalysislevel', $line[5]); $osm->writeTag("name", htmlspecialchars("{$expected}", ENT_QUOTES)); $osm->writeTag("addr:street", htmlspecialchars("OSM has {$real}", ENT_QUOTES)); $osm->closeNode(); $osm->openNode($line[4], $line[3]); $osm->writeTag('osmanalysis', 'mismatch'); $osm->writeTag('osmanalysislevel', $line[5]); $osm->writeTag("name", htmlspecialchars("{$real}", ENT_QUOTES)); $osm->writeTag("addr:street", htmlspecialchars("OSL has {$expected}", ENT_QUOTES)); $osm->closeNode(); } $osm->closeOsm(); file_put_contents('compress.zlib://musical-chairs.osm.gz', $osm->get());