// Lot STM1 (STM1-SPEC-13, etapes 2 et 3 ; pack 1.3.0) : noms et amenites des batiments d'une ville, sans interface. // // Le jeu lit le nom et l'amenite d'un batiment dans l'UStreetMap (StreetMap_Static : StreetMap::FindBuilding, puis // BuildingName, Amenity, Building ; GI.IdentifyAmenity ; icone par GI.AmenityImageDict). Ce commandlet ecrit ces champs // d'apres des points d'interet OSM (sortie Overpass « out tags center » : shop, amenity, craft, healthcare, tourism, office, // leisure, nommes) : // - rattachement : batiment dont le polygone contient le point, sinon le plus proche a moins de -MaxDistM (8) ; // batiments filtres (-Osm : souterrains, layer < 0, tunnels, toits) exclus ; shop=vacant ecarte ; // - un point par batiment : shop, puis restauration, autres amenites, artisans, sante, tourisme, bureaux, loisirs ; a classe // egale, le plus proche d'une voie (rez-de-chaussee sur rue), puis l'enseigne la plus frequente, puis le nom le plus long ; // - un batiment deja nomme garde son nom ; son amenite n'est completee que si elle est vide ; // - amenite ramenee a une cle d'AmenityImageDict quand c'est possible (STM1-SPEC-13 § 9), sinon valeur OSM brute. // STM1-SPEC-16 (pack 1.3.5) : // - -RemoveSchools : ecoles et creches (amenity school, kindergarten, childcare ; school:FR ; ref:UAI ; isced:level 0 a 3 ; // noms « ecole maternelle », « lycee », « college »..., sauf grands etablissements) : points ecartes, batiments sans nom ni // amenite d'ecole, et aucun point ne leur est rattache ; // - -Generic= : marques (« categorie: marque ») ecrites sous un nom generique francais, amenite et icone gardees ; // une marque passe apres les noms propres du meme batiment ; un nom OSM de marque deja present est aussi remplace. // La geometrie ne change pas. Ecriture en place de / seulement avec -Overwrite (sauvegarde faite avant, a // part) ; -DryRun : rapport seul. // // Usage : -run=LPEnrichCityBuildings -City= -MapRoot=/StreetMap> -Origin=, // -Pois=; [-Osm=] [-Keys=] [-Generic=] [-RemoveSchools] [-MaxDistM=8] (-DryRun | -Overwrite) // [-Report=] #pragma once #include "CoreMinimal.h" #include "Commandlets/Commandlet.h" #include "LPEnrichCityBuildingsCommandlet.generated.h" UCLASS() class ULPEnrichCityBuildingsCommandlet : public UCommandlet { GENERATED_BODY() public: ULPEnrichCityBuildingsCommandlet(); virtual int32 Main(const FString& Params) override; };