
Building creation with scenProc
-
-
Otherwise I noticed a strange behavior: the swimming pools in OSM generate buildings ! The pools have nothing to do with the buildings (there is just leisure = swimming_pool, no building tag) so it really looks like a bug.
It could be that the scenProc script you are using isn't specific enough to exclude it. Any polygon can generate a building if you let it, and this can often be an advantage. As you mentioned this doesn't happen for all pools then it could be that the OSM data is inconsistent or incorrect, which always causes problems.
Its very easy to filter out known objects if they are causing a problem, as long as they aren't required for other purposes. I'll use your problem of pools as an example, and the 2 lines below will get rid of them.
AddAttribute|leisure="swimming_pool"|String;skip|yes
UnloadFeatures|skip="yes"
I also ran small test area around this object (https://www.openstreetmap.org/way/69789322) through my old ver 6 template it generated no buildings for the pool.
If you are trying to work out why one particular object generated a building when it shouldn't (or vice versa) then this scenProc command can be a real help. It just creates a txt file that lists all the values scenProc is playing with. I use it all the time to troubleshoot things that aren't working as expected.
ExportOGR|osm_way_id="69789322"|KML|D:\CrispyStuff\Aerofly\Cultivation\details.txt|layerName|ADDSPECIALATTR
Place it just after the ImportOGR line and you get to see only values loaded from OSM. Place just before the ExportTOC (or new ExportTSC) lines and you'll see all the values generated by scenProc. Use different file names for each line placement (ie details2.txt in the 2nd line). If this doesn't trap any information then use osm_id="69789322" in place of osm_way_id="69789322" as some objects don't have "way" in their ID tag.
If a building has been created then you should see 1 object in the first file out and 2 objects (the pool polygon and the building created by scenProc) in the second file. Looking at the values of the objects common to both files usually lets you work out what happened.
Sometimes this doesn't give you an answer so you can get scenProc to isolate the object, by removing everything else. This then allows you to trace a single object through each line of your script to see what lines area are generating something. This is placed just after the ImportOPGR line.
UnloadFeatures|NOT osm_way_id="69789322"
Working out why things don't work is half the fun.
-
Hi,
No, I didn't have a look at the pool issue yet.
-
I tried to have a look at the sport field/pool issue, so I downloaded one of the areas you mentioned. But I can't reproduce the issue. Also without seeing your entire script it is hard to see what is going on. Might be one filter is missing a condition which causes them to be included.
-
J'ai achevé la couverture de ma Corse en images Bing.
Tout naturellement, je désire ajouter la "cultivation". Utilisation de BBBike + ScenProc et les résultats arrivent satisfaisants.
Peut-être dù aux données OSM mais le script version7 me donne une forêt très dense en arbres sur une zone avec végétation de zone humide et très basse ...! inacceptable, et la forêt déborde sur l'étang marin voisin.
Par contre la version 6 n'affiche aucun arbre !
une question : la "building_textures" utilisée, les toits sont beaucoup trop rouge, est-il possible d'éditer afin de modifier ?
Merci pour votre aide.
-
Peut-être dù aux données OSM mais le script version7 me donne une forêt très dense en arbres sur une zone avec végétation de zone humide et très basse ...! inacceptable, et la forêt déborde sur l'étang marin voisin.
Pour la végétation, une technique consiste à croiser les données avec CORINE pour déterminer le type de végétation : par exemple, les données OSM indiquent des arbres dans un polygone donné. La forme du polygone est souvent assez exacte, mais le type de végétation trop vague, ou inexact.
Les shapefiles CORINE donnent des infos très précises sur le type de végétation, donc dans ScenProc on peut déterminer les types d'arbres en fonction de l'appartenance aux polygones de CORINE, puis générer leur placement en fonction des polygones d'OSM (ou autre source).
Pour la Corse, j'avais choisi une autre approche puisque notre ami Vogel avait déjà fait un très bon autogen pour FSX/P3D, on l'a juste repris en faisant dans ScenProc une table de correspondance des types de bâtiments ou végétation entre FSX et AFS2 (il y a très peu de choix dans AFS2).
Voici un lien si tu veux essayer
Cultivation Corse v3, buildings+vegetation
Les textures sont celles par défaut. Ça mériterait d'en faire des spécifiques pour la Corse, je n'en ai jamais eu le temps.
Pour ce faire, il suffit de reprendre les textures non-compilées d'IPACS (voir package de Rodeo) et de les éditer, puis de les compiler avec le converter du SDK. Enfin, remplacer les textures de cultivation dans la scène...
A+
Antoine
-
Peut-être dù aux données OSM mais le script version7 me donne une forêt très dense en arbres sur une zone avec végétation de zone humide et très basse ...! inacceptable, et la forêt déborde sur l'étang marin voisin.
Par contre la version 6 n'affiche aucun arbre !Désolé d'être un peu maniaque mais à la base ce thread est dédié à la création de bâtiments
Pour la création de végétation je vous propose de continuer sur ce fil pour ne pas mélanger tous les sujets: Vegetation creation with scenProc
-
I tried to have a look at the sport field/pool issue, so I downloaded one of the areas you mentioned. But I can't reproduce the issue. Also without seeing your entire script it is hard to see what is going on. Might be one filter is missing a condition which causes them to be included.
Sorry for my very late response, real life constraints prevented me from playing with AFS
I've tried the Crispy's technics to get some infos (ExportOGR|osm_way_id=XXX) but the log files were almost the same, no real difference (tags are sorted differently).
Anyway I found the guilty command by feeding scenProc with an OSM file which contains only one element (a swimming pool). Then I run the script and saw in the logs the exact command which was generating a building and it was:
CodeCreateAF2Building|NOT building ="roof" And FAREARAT>0.7 And NOT building_levels="*" And NOT height="*" And FAREA>=200 And FAREA<700|2;3|1|gable|residential|0
This is a stupid command because the conditions are too permissive. In fact I was thinking that only building elements was taken into account by CreateAF2Building. But apparently it's not the case so if there is a NOT building ="roof" condition there must be another condition with building_levels or height, which was not the case in my command.
So the problem was in scenProc but in my brain
Now I have to find time to play with the Crispy's V7 scripts and the latest release of scenProc.
-
Merci à turman et Antoine pour leur réponse.
Antoine, grand merci pour les fichiers suivant le lien, je regarde ce que je peux faire avec et aussi le conseil pour modifier des textures existantes, modification des couleurs inadaptées pour la Corse.
a+
Michel
Antoine,
j'ai téléchargé tous les fichiers Cultivation_Corse_v3 dans un répertoire provisoire ...
puis-je les copier/coller sur mon AFS2\...Places\fr\Corse\Corse_cultivation_complete_V03 ... ici l'ensemble des fichiers .TOC et .TSC
après avoir neutralisé tous les .toc_neutralise et .tsc_neutralise déjà présents ? je pense que oui mais hésite à semer des problèmes ?
merci
a+
Michel
... ... ... c'est fait !
alors là ... en français je dirais "Oh la vache !" et en anglais peut-être "Whaoo !" c'est génial.
J'ai ma Corse au top, suffisamment arborisée et construite sur l'ensemble de l'île, du beau travail !
Quand je pense qu'en huit jours, d'essais, je n'avais traité qu'une map14 et encore pas plus.
Seul petit défaut qui saute aux yeux quans on connait l'île ... la quasi totalité des constructions à 3 ou 4 étages alors qu'hors des villes ce serait plutôt un à 2 étages, de style pavillonnaire et villages éparses disont 2 à 3 étages. Ce n'est pas une critique, probablement du à la classification faite par OSM.
Grand merci à vous, et j'aimerais avoir un lien afin de pouvoir remercier l'auteur de ce beau travail.
Vive AFS2, aussi chargée en détail, la scène de démarrage se charge en 9/10 secondes ... imaginer sous FSX ... le temps d'aller se faire un café !
à+
Michel
Encore une question assez "existentielle !" pour AFS2
J'ai installé en provisoire les aéroports de Corse (à essayer d'améliorer à l'avenir) ... :
y aurait-il un moyen d'éviter la répétition des sous-répertoires "Building_textures" dans chaque dossier d'aéroports puisque ce sont absolument les mêmes (excepté le tout premier qui est pour la "Cultivation)?
Merci au cerveau qui connait la réponse.
M.Petit
-
Seul petit défaut qui saute aux yeux quans on connait l'île ... la quasi totalité des constructions à 3 ou 4 étages alors qu'hors des villes ce serait plutôt un à 2 étages, de style pavillonnaire et villages éparses disont 2 à 3 étages. Ce n'est pas une critique, probablement du à la classification faite par OSM.
Oh il y en a bien davantage, de défauts, à commencer par la texture générique des bâtiments, que j'avais en tête de remplacer par qqch de beaucoup plus corse, mais je n'ai jamais eu le temps de m'y pencher.
Il n'y a rien qui provient d'OSM, le nombre d'étages est voulu pour avoir en moyenne qqch d'à peu près cohérent vu du ciel. Des bâtiments trop bas donnent parfois une impression d'écrasement, en particulier dans les villages.
Si on veut vraiment soigner, on peut définir des zones de villages où on fait générer des bâtiments plus hauts que ceux disséminés dans la campagne.
Je n'ai pas non plus généré les lumières.
C'est à prendre "dans l'état", mais si le coeur t'en dis tu peux très facilement faire tes propres textures de bâtiments, et les partager si c'est réussi.
A+ et bon vols
Antoine
-
Merci Antoine,
je comprends, ce n'est pas très évident à traiter mais ce qui compte pour moi est le résultat pris avec une certaine hauteur et je dois dire que c'est absolument excellent. Cela ne vaudrait pas la peine de vouloir essayer mieux.
Maintenant ... indispensable de créer quelques aéroports tels que LFKB Bastia et LFKJ Ajaccio au minimum ... mais là, c'est la galère, très peu de tutoriels et "MyGeoposition.com" qui est fermé !
j'avais exécuté ces aéroports pour FS2004 avec quelques utilitaires simples à utiliser et l'aide de Pascal Meziat ... mais la modification pour répondre aux changements imposés par FS9 n'avait pas pu être faite.
Je refuse l'utilisation des 2 soft AC3D et l'autre beaucoup trop chers et souhaite utiliser SketchUp ... donc je recherche de bons tutoriels, en français serait idéal mais je peux traduire.
une+
Michel
-
Bonjour Michel,
Je n'ai pas encore eu le temps de regarder les scripts V7 de Crispy mais normalement tu dois pouvoir changer le nombre d'étages pour les maisons (lorsque celles ci n'ont pas de hauteur définie dans OSM) avec une plage de 1 à 3 par ex au lieu de 3 à 4. Dans le script V6 la détection des maisonsse se basait sur la surface du bâtiments, du coup cela ne marchait pas forcément avec les villas de milliardaires dont la surface pouvaient être trop grande. Mais c'est étrange car là tu parlais de l'ensemble des maisons et pas juste de quelques cas isolés...
Mis à part la hauteur des bâtiments c'est vrai que ça serait super d'avoir des textures adaptées à la région, surtout pour la couleur des toits...
-
Bonjour Michel,
Je n'ai pas encore eu le temps de regarder les scripts V7 de Crispy mais normalement tu dois pouvoir changer le nombre d'étages pour les maisons (lorsque celles ci n'ont pas de hauteur définie dans OSM) avec une plage de 1 à 3 par ex au lieu de 3 à 4. Dans le script V6 la détection des maisonsse se basait sur la surface du bâtiments, du coup cela ne marchait pas forcément avec les villas de milliardaires dont la surface pouvaient être trop grande. Mais c'est étrange car là tu parlais de l'ensemble des maisons et pas juste de quelques cas isolés...
Mis à part la hauteur des bâtiments c'est vrai que ça serait super d'avoir des textures adaptées à la région, surtout pour la couleur des toits...
Salut,
Cette cutlivation ne se base ni sur OSM ni sur les scripts de Crispy (voir explications précédentes).
Pour les textures, il n'y a rien de compliqué, ça demande un peu de temps que je n'ai pas, je suis déjà sur trop de projets en parallèle.
Mais si une bonne âme veut s'en charger, il suffit d'éditer les textures 2'048x2'048 pixels originales d'IPACS, disponibles gratuitement dans le pack de Rodeo (flight-sim.org).
GIMP (gratuit, pas d'excuse ! et incontournable si l'on n'a pas Photoshop) permet de redresser en 3 clics une photo de maison en perspective et d'en extraire une façade bien droite => copy-paste et mise à l'échelle dans la texture, retouche des défauts et en quelques itérations comme ça on obtient très facilement un jeu de textures ciblées pour la Corse.
A+
Antoine
-
Désolé de demander encore de l'aide ! et notamment à Antoine si disponible,
This is a beautiful cultivation for Corse is a tout simplement magnifique.
Projet: ajouter avec ScenProc, les lignes de pylones électricité, indispensables pour vols basse altitude et approches aéroports ...
j'ai un fichier OSM (with a polygone very resserred on line), a donc peu de captures de constructions, que j'ai déjà).
J'ai lancé ScenProc qui n'a produit en fichier .toc que "bâtiments" (1527) et "lumière" (189) mais aucun pylones attendus.
Le script utilisé: Template_Script_v7.spc.
Je pense neutraliser (#) toutes les fonctions non souhaitées et ne conserver que les fonctions traitant les "pylônes" ...
mais est-ce judicieux ?
.
Question : les fonctions de la capture ci-jointe traitent-ils bien les pylones électricité ?
J'ai souvenir d'une aide qui donnait les lignes à ajouter au fichier Template_Script_v? mais impossible de la retrouver sur le site.
Pourriez vous m'aider, car l'ajout des lignes électriques m'intéresse beaucoup.
Peut-être les noeuds de pylones sur OpenStreetMap sont-ils mal nommés ?
Merci à vous