A Canadian Cat Posted March 21, 2023 Share Posted March 21, 2023 This is cool. I am hoping to play around with this eventually. My CM runs on a 2160p monitor. Does this system assume 1080p screen? 0 Quote Link to comment Share on other sites More sharing options...
Butschi Posted March 21, 2023 Author Share Posted March 21, 2023 40 minutes ago, IanL said: Does this system assume 1080p screen? Not explicitly. As long as the UI isn't scaled, i.e. if all pixel values are the same, you should be fine - worked for me when going from 1080p to 1440p. It won't work with Windows desktop scaling. 0 Quote Link to comment Share on other sites More sharing options...
A Canadian Cat Posted March 21, 2023 Share Posted March 21, 2023 2 hours ago, Butschi said: Not explicitly. As long as the UI isn't scaled, i.e. if all pixel values are the same, you should be fine - worked for me when going from 1080p to 1440p. It won't work with Windows desktop scaling. Humm. I do have my windows desktop scaled but I have that feature turned off for the game. Hopefully I get to play with this. I'll let you now if I do. 0 Quote Link to comment Share on other sites More sharing options...
Butschi Posted March 21, 2023 Author Share Posted March 21, 2023 7 minutes ago, IanL said: I do have my windows desktop scaled but I have that feature turned off for the game. That should be ok, I do the same. Just haven't tested it with 2160p. 0 Quote Link to comment Share on other sites More sharing options...
samuraiman Posted March 22, 2023 Share Posted March 22, 2023 12 hours ago, Butschi said: Same way: https://geobroker.geobasis-bb.de/basiskarte.php?mode=startup&aProductId=140fca3b-18ba-49e5-928b-dc27ae522583 Next time its your turn to google, though. And please share your findings here. Thanks Butschi! Iche sprechen kein Deutsch, I'm afraid. So far I have gotten as far as generating the rendered street map with objects. But for me the software Release does not launch. I get a big blue Windows message saying "Microsoft Defender SmartScreen prevented an unrecognized app from starting" and no option to run it using Windows 11. 0 Quote Link to comment Share on other sites More sharing options...
Bartimeus Posted March 22, 2023 Share Posted March 22, 2023 Fantastic!!! Congrats! That sooooo great. Thanks for all this free work which is, I'm sure, a revolution for map creation in CM!Ā 0 Quote Link to comment Share on other sites More sharing options...
Butschi Posted March 22, 2023 Author Share Posted March 22, 2023 10 hours ago, samuraiman said: Thanks Butschi! Iche sprechen kein Deutsch, I'm afraid. So far I have gotten as far as generating the rendered street map with objects. But for me the software Release does not launch. I get a big blue Windows message saying "Microsoft Defender SmartScreen prevented an unrecognized app from starting" and no option to run it using Windows 11. I don't have Windows 11, so no way to test it. Sounds like a case of an overzealous virus scanner to me. I mean that's what defender does. Could also be a UAC problem: Windows doesn't like you to install it run uncertified apps from certain folder. So I guess you need to allow windows to execute the exe in some way. Anyway, nothing I could fix, I'm afraid. Btw. I'm happy to help with data, it's just that if everyone wants me to find data for his favorite project, I'm busy doing nothing else. I'd really like this to be a community effort. German administrative stuff is a royal PITA, I know, but Google translate actually does a decent job. Ā 1 Quote Link to comment Share on other sites More sharing options...
Bartimeus Posted March 23, 2023 Share Posted March 23, 2023 (edited) Hello,Ā Question regarding the data for elevation, maybe i miss it in one of the video but what format is needed for the elevation data exactly ? I'm trying to extract something from Bavaria(for an area east of nuremberg using :Ā https://geoportal.bayern.de/geoportalbayern/Ā and konwing the data type may help me find my way Ā I guess it's "xyz" data but i'm not 100% confident and, are they named like that in general (i saw other names too).Ā thanks you again for your work !Ā Ā edt : Is it possible to only use the tool for bringing road and house and etc and not the elevation ? Ā Edited March 23, 2023 by Bartimeus 0 Quote Link to comment Share on other sites More sharing options...
Butschi Posted March 23, 2023 Author Share Posted March 23, 2023 4 hours ago, Bartimeus said: Question regarding the data for elevation, maybe i miss it in one of the video but what format is needed for the elevation data exactly ? I'm trying to extract something from Bavaria(for an area east of nuremberg using :Ā https://geoportal.bayern.de/geoportalbayern/Ā and konwing the data type may help me find my way Ā I guess it's "xyz" data but i'm not 100% confident and, are they named like that in general (i saw other names too).Ā The product is DGM1, or "Digitales GelƤndemodell - Gitterweite 1 m" and you should look for something in ASCII format. It's often called "xyz". Look into the data, if it is just rows of number triples (x, y, z) you should be fine. Alternatively, you often find geotiff. You can use geotiff2cm.py instead of dgm2cm.py for that. However, currently I'd advise against it if you can find xyz. geotiff2cm.py is in need of some love as it lacks some of the functionality of dgm2cm.py. Didn't make the release cut. 4 hours ago, Bartimeus said: Is it possible to only use the tool for bringing road and house and etc and not the elevation ? Yes, absolutely! The tool, osm2cm.py, is independent of elevations and produces .csv files that can be read by CMAutoEditor just like files with elevations in them. 0 Quote Link to comment Share on other sites More sharing options...
Bartimeus Posted March 23, 2023 Share Posted March 23, 2023 Thanks for your reply ! I will look for the data x y z Ā Ā For the osm2cm.py i will try it tomorrow and give iy feedback (if i encounter some difficulty). Thans angain for your work and help !Ā 0 Quote Link to comment Share on other sites More sharing options...
Butschi Posted March 23, 2023 Author Share Posted March 23, 2023 6 minutes ago, Bartimeus said: For the osm2cm.py i will try it tomorrow and give iy feedback (if i encounter some difficulty). I wouldn't hold it against you if you waited for part 3 of the tutorial. 1 Quote Link to comment Share on other sites More sharing options...
Bartimeus Posted March 24, 2023 Share Posted March 24, 2023 (edited) 21 hours ago, Butschi said: I wouldn't hold it against you if you waited for part 3 of the tutorial. I manage to have it started. Looking great. This is the best things happening to CM since the game was release. It change everything for me.Ā Question, will it be (one day) possible to select the "pattern" for forest or field? Or is it too complicated and need to dive into the code? Regarlress, as I said, game changing and best things happening to CM!Ā Ā Edit : Do you have a list of all "Attribut/value" to "title" regarding the GeoJSON files. The data on my are limited and waaaay easier to complete it then having your sofware doing the job, but i was wondering which can of attribute/value it can "recognize"Ā Edit 2 : Overlapping question, in which order do the sofware "color" the title ? For exemple if in my GeoJSON a forest polygone cover a field polygon which will overwrite the other ? (i'm not sure if i'm clear) ?Ā Edited March 24, 2023 by Bartimeus 0 Quote Link to comment Share on other sites More sharing options...
Butschi Posted March 25, 2023 Author Share Posted March 25, 2023 6 hours ago, Bartimeus said: I manage to have it started. Looking great. This is the best things happening to CM since the game was release. It change everything for me.Ā Question, will it be (one day) possible to select the "pattern" for forest or field? Or is it too complicated and need to dive into the code? Regarlress, as I said, game changing and best things happening to CM!Ā Ā Edit : Do you have a list of all "Attribut/value" to "title" regarding the GeoJSON files. The data on my are limited and waaaay easier to complete it then having your sofware doing the job, but i was wondering which can of attribute/value it can "recognize"Ā Edit 2 : Overlapping question, in which order do the sofware "color" the title ? For exemple if in my GeoJSON a forest polygone cover a field polygon which will overwrite the other ? (i'm not sure if i'm clear) ?Ā Wow, that's great! I thought without tutorial nobody would dare to try. I hope I'll find time this weekend to make part 3 of the tutorial and go into all the details. But just to give you the big picture: You can configure most of what is currently possible with the default_osm_config.json file. For instance, take a look at the entry "mixed_forest": Ā Ā Ā "mixed_forest": { Ā Ā Ā Ā Ā Ā Ā "tags": [ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā ["landuse", "forest"], Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā ["natural", "wood"] Ā Ā Ā Ā Ā Ā Ā ], Ā Ā Ā Ā Ā Ā Ā "exclude_tags": [ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā ["leaf_type", "broadleaved"], Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā ["leaf_type", "needleleaved"] Ā Ā Ā Ā Ā Ā Ā ], Ā Ā Ā Ā Ā Ā Ā "cm_types": [ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree A", "cat2": "density 1", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree A", "cat2": "density 2", "weight": 2}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree A", "cat2": "density 3", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree B", "cat2": "density 1", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree B", "cat2": "density 2", "weight": 2}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree B", "cat2": "density 3", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree C", "cat2": "density 1", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree C", "cat2": "density 2", "weight": 2}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree C", "cat2": "density 3", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree D", "cat2": "density 1", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree D", "cat2": "density 2", "weight": 2}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree D", "cat2": "density 3", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree E", "cat2": "density 1", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree E", "cat2": "density 2", "weight": 2}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree E", "cat2": "density 3", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree F", "cat2": "density 1", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree F", "cat2": "density 2", "weight": 2}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree F", "cat2": "density 3", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree G", "cat2": "density 1", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree G", "cat2": "density 2", "weight": 2}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree G", "cat2": "density 3", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree H", "cat2": "density 1", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree H", "cat2": "density 2", "weight": 2}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"menu": "Foliage", "cat1": "Tree H", "cat2": "density 3", "weight": 1}, Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā {"dummy": true, "weight": 1.6}Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā ], Ā Ā Ā Ā Ā Ā Ā "process": [ Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā "type_random_individual" Ā Ā Ā Ā Ā Ā Ā ], Ā Ā Ā Ā Ā Ā Ā "priority": -1, Ā Ā Ā Ā Ā Ā Ā "active": true Ā Ā Ā } "mixed_forest" is just a name for the entry. Under "tags" you find by which key-value pairs this entry is triggered. So, if in the geojson file there is something with landuse: forest in it, it will trigger this part if it doesn't have leaf_type: broadleaved or needleleaved in it. Maybe the closest thing to what you call a pattern would be the entry under "process". "type_random_individual" tells the program what to do with such an entry in the geojson file. "type_random_individual" says: Find every CM square that is covered to at least 50% by this forest polygon. For each square throw a dice and choose one of the "cm_types" (take the weight into account for throwing the dice, so something with weight 2 will be chosen twice as likely as something with weight 1. The "dummy" just means that with a certain weight no tree is planted in a square at all. So right now you can only have random mixtures. Either random for each individual square or random for the entire area. If by "pattern" you mean something like, say a chess board, than that is something for which you'd have to dig into the code. My "vision" for forests is to have random clusters of trees, which would be most realistic, think. Actually, if you want to have something non-random it would probably be easiest to just do that with JOSM, I think and make entries in the default_osm_config.json (or make your own and call it differently. ) I mean, in JOSM you can paint an area an way you like, give it an arbitrary tag (key-value pair) and make an entry in default_osm_config.json which does the mapping of OSM to CM objects. As for your about color ordering: That is done via the "priority" entry. If your field has priority 2 and your forest priority 1, the forest will be chosen if both a present in one place. Priorities 0 and -1 are a bit special. Hope I get it right off the top of my had... (no guarantees!) 0 means it doesn't "interact" with others at all. Meaning it will by painted in a square but won't prevent others from getting painted, too. Good thing for, say, grass as a base and then putting a road on top. -1 is similar. It won't prevent others from being painted but will not be painted itself if there is anything with priority > 0 present. Forest is one example. You can have forest ground in addition with priority 0 and you can have a road with priority, say, 1. The road will prevent the forest from getting painted at but there will still be forest ground. Hope that helps a bit. 2 Quote Link to comment Share on other sites More sharing options...
Bartimeus Posted March 25, 2023 Share Posted March 25, 2023 It help a lot! I will look into it to try to understand. Thank for the detailed answerĀ 0 Quote Link to comment Share on other sites More sharing options...
Bartimeus Posted March 28, 2023 Share Posted March 28, 2023 Hello,Ā It worked very fine for me. Now i manage toĀ understand how to modify well the GEOjson, it really speed up the process of making a map. A least while your software work i can do somehting else more nice and waaaay les tedious. Incredible job.Ā So, if i understand it well, if i modify theĀ Ā default_osm_config.json it could also work for a game like CMSF2 or is the position of the different catgorie is not the same in both editors ?Ā Anyway, i'm a hudge fan !Ā 0 Quote Link to comment Share on other sites More sharing options...
Butschi Posted March 28, 2023 Author Share Posted March 28, 2023 1 hour ago, Bartimeus said: Hello,Ā It worked very fine for me. Now i manage toĀ understand how to modify well the GEOjson, it really speed up the process of making a map. A least while your software work i can do somehting else more nice and waaaay les tedious. Incredible job.Ā So, if i understand it well, if i modify theĀ Ā default_osm_config.json it could also work for a game like CMSF2 or is the position of the different catgorie is not the same in both editors ?Ā Anyway, i'm a hudge fan !Ā I'm still struggling with the tutorial so I'm very happy to hear that you manage without. So, I can't really say much about how well CMSF2 would work with the current profile because I don't have that title. Anyway, in order to work well you need a dedicated profile. It looks like this for CMCW: https://github.com/DerButschi/CMAutoEditor/tree/master/profiles/cold_war For one thing you need to know where which category is. Indeed, you could work around this a little by manipulating default_osm_config.json: Say, the menu entry in CMSF2 is "Road" and in CMCW you have "Foliage" at this position. Then you just put "Foliage" where in the cm_types of config entry "Road". Houses and such won't work if the houses are different, I think. Of course, if python is your thing you could just make a CMSF2 profile. 0 Quote Link to comment Share on other sites More sharing options...
Bartimeus Posted March 29, 2023 Share Posted March 29, 2023 I'm afraid of snake so I will leave Python to expert thanks for the answer. Once you understand the logic behind how your software work, the rest flow easy I still will watch the tuto part 3 because I may miss one or two important detail ^^. For exemple can you confirm me that the "trees line" from the GEOjson is not taking into account by the software, right?Ā 0 Quote Link to comment Share on other sites More sharing options...
Butschi Posted March 29, 2023 Author Share Posted March 29, 2023 1 hour ago, Bartimeus said: I'm afraid of snake so I will leave Python to expert thanks for the answer. Once you understand the logic behind how your software work, the rest flow easy I still will watch the tuto part 3 because I may miss one or two important detail ^^. For exemple can you confirm me that the "trees line" from the GEOjson is not taking into account by the software, right?Ā Can you please post which "trees line" you are referring to? 0 Quote Link to comment Share on other sites More sharing options...
Bartimeus Posted March 30, 2023 Share Posted March 30, 2023 22 hours ago, Butschi said: Can you please post which "trees line" you are referring to? It's a attribute on the GEOjson polygone(only line polygone I guess). I will put a screen but I hadn't the chance of doing it yet 0 Quote Link to comment Share on other sites More sharing options...
samuraiman Posted April 3, 2023 Share Posted April 3, 2023 Hello Butschi, I got as far as trying to generate the elevation map, following your excellent tutorials. But it seems my extra huge map crashes dgm2cm. The process during the crash shows TypeError: unsupported operand type... 0 Quote Link to comment Share on other sites More sharing options...
Butschi Posted April 3, 2023 Author Share Posted April 3, 2023 5 hours ago, samuraiman said: Hello Butschi, I got as far as trying to generate the elevation map, following your excellent tutorials. But it seems my extra huge map crashes dgm2cm. The process during the crash shows TypeError: unsupported operand type... Nah, the size is not the issue here. Looks like a problem with the data... (floating point numbers were expected but a string appeared instead). Could you please tell me what data you used and which bounding boxes you entered and all that so I can try and reproduce the crash? 0 Quote Link to comment Share on other sites More sharing options...
samuraiman Posted April 3, 2023 Share Posted April 3, 2023 9 hours ago, Butschi said: Nah, the size is not the issue here. Looks like a problem with the data... (floating point numbers were expected but a string appeared instead). Could you please tell me what data you used and which bounding boxes you entered and all that so I can try and reproduce the crash? Obtained xyz data via packet emailed from (sending to you by DM): https://geobroker.geobasis-bb.de/basiskarte.php?mode=startup&aProductId=518094b9-d294-4e99-aeb2-550592a00682 Ā 0 Quote Link to comment Share on other sites More sharing options...
Butschi Posted April 3, 2023 Author Share Posted April 3, 2023 (edited) 1 hour ago, samuraiman said: Obtained xyz data via packet emailed from (sending to you by DM): https://geobroker.geobasis-bb.de/basiskarte.php?mode=startup&aProductId=518094b9-d294-4e99-aeb2-550592a00682 Ā Thanks for this very detailed bug report. Exactly the way it should be (well, as far as bug reports go... I could really do without them. ) Alright, I was able to reproduce your error. Turns out that Brandenburg of course does its own thing. NRW and Hessen use space as delimiter between the numbers, Brandenburg uses comma. Federalism is so very useless! At least it should be easy to fix. I'll have to finish a few other things first, though, so please have a little patience. Btw. there is an additional issue with your input: The CRS of the data is 25833 not 25832. The relevant part for you here is that using 25832 sets the origin several hundred kilometers farther to west so that your bounding box and data won't match. I should have stressed that point a little more in the tutorial, I guess, and it was hard to find in the data (one of your meta files...). Edited April 3, 2023 by Butschi 0 Quote Link to comment Share on other sites More sharing options...
nathangun Posted April 8, 2023 Share Posted April 8, 2023 (edited) I'm having trouble using the QGIS program. I'm trying to get aerial images for Grusselbach area(west of Hunfeld). I followed your instructions to the letter, but I press the 'add' button no aerial images appaer. Is it just that there aren't any images? I tried other areas like Fulda and Hunfeld and still got no results. One more thing, what's the name of the plugin in the Java OpenStreetMap Editor to import images? Your video tutorial didn't show that?Ā Edited April 8, 2023 by nathangun 0 Quote Link to comment Share on other sites More sharing options...
samuraiman Posted April 8, 2023 Share Posted April 8, 2023 The aerial imagery work well for me with Brandenburg. o4.bmp 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.