Browse Source

Trace quelques métriques

master
vincent 1 week ago
parent
commit
0a8c15b535
1 changed files with 15 additions and 0 deletions
  1. +15
    -0
      src/Controller/ToolsController.php

+ 15
- 0
src/Controller/ToolsController.php View File

@ -6,6 +6,7 @@ use App\Form\CityToolType;
use App\Form\OsmoseToolType;
use App\Service\OsmoseClient;
use App\Service\OverpassClient;
use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\HttpFoundation\HeaderUtils;
@ -97,6 +98,7 @@ class ToolsController extends AbstractController
Request $request,
OsmoseClient $osmose,
OverpassClient $overpass,
LoggerInterface $logger
): Response {
$form = $this->createForm(OsmoseToolType::class, array_merge(['limit' => 500], $request->query->all()));
$form->add('submit', SubmitType::class, ['label' => 'Générer']);
@ -126,6 +128,10 @@ class ToolsController extends AbstractController
$issuesGeojson = \GeoJson\GeoJson::jsonUnserialize(json_decode($issues, true));
$logger->debug(__METHOD__.' osmose issues', [
count($issuesGeojson->getFeatures()),
]);
$groupByCity = (bool) $form->get('group_by_city')->getData();
if ($groupByCity) {
$minLat = null;
@ -154,6 +160,11 @@ class ToolsController extends AbstractController
$citiesData = $overpass->query(sprintf('relation[admin_level=8][boundary=administrative]["ref:INSEE"](%f,%f,%f,%f);', $minLat, $minLon, $maxLat, $maxLon));
$citiesOsm = \OSM\OSM::createFromJson($citiesData);
$logger->debug(__METHOD__.' overpass cities', [
count($citiesOsm->elements),
]);
$cities = [];
foreach ($citiesOsm->elements as $cityOsm) {
$geojson = \OSM\GeoJsonConverter::convertRelationToPolygon($cityOsm);
@ -179,6 +190,10 @@ class ToolsController extends AbstractController
$cities = array_filter($cities, function ($city) { return !empty($city['features']); });
$logger->debug(__METHOD__.' cities', [
count($cities),
]);
$response->setCallback(function () use ($cities): void {
$headings = [
'name',


Loading…
Cancel
Save