Jump to content

Accurate map for DCS 2.5 Caucasus theatre


Flappie

Recommended Posts

Not really: you have a problem with tiles. They make a mess with the labels. I've already bumped into this bug. I had to declare "singleTile=true" in OpenLayers.

Don't accept indie game testing requests from friends in Discord. Ever.

Link to comment
Share on other sites

Not really: you have a problem with tiles. They make a mess with the labels. I've already bumped into this bug. I had to declare "singleTile=true" in OpenLayers.
I haven't seen it in the web map, only in Oruxmaps, so I concluded it being part of the special case issues I mentioned earlier, the one I don't want you to waste time on. But if you believe it's not a big thing to fix then I definitely appreciate you looking into it.

I for sure wouldn't call it "a mess", the overall experience and look is amazing, you have done a great job so far!

Helicopters and Viggen

DCS 1.5.7 and OpenBeta

Win7 Pro 64bit

i7-3820 3.60GHz

P9X79 Pro

32GB

GTX 670 2GB

VG278H + a Dell

PFT Lynx

TrackIR 5

Link to comment
Share on other sites

I've looked a bit at Oruxmaps documentation, but I haven't found much about tiles tweaking so far, sorry.

 

I'm trying to add bearing next to the measurement tool distance. It shows up, but it's all wrong. I don't know what's happening. I've tried two methods from different sources and they return the same bearing. I'm starting to believe something is wrong with my map.

 

For instance:

Batumi runway 31 shows a bearing of 312 instead of 306 (+6).

Anapa runway 04 shows a bearing of 45 instead of 42 (+3).

 

Maykop runway 22 shows a bearing of 224 instead of 219 (+5).

Beslan runway 28 shows a bearing of 282 instead of 274 (+8 ).

Gudauta runway 15 shows a bearing of 156 instead of 151 (+5).

Don't accept indie game testing requests from friends in Discord. Ever.

Link to comment
Share on other sites

I've looked a bit at Oruxmaps documentation, but I haven't found much about tiles tweaking so far, sorry.

If you contact Jose, the developer (it's only him), he might be able to help you. I didn't see his email on the website, but I can provide you with it by PM if you like.

But otherwise don't bother about it, focus on the main thing, the web map.

Anyhow, thanks for looking into it.

Helicopters and Viggen

DCS 1.5.7 and OpenBeta

Win7 Pro 64bit

i7-3820 3.60GHz

P9X79 Pro

32GB

GTX 670 2GB

VG278H + a Dell

PFT Lynx

TrackIR 5

Link to comment
Share on other sites

But otherwise don't bother about it, focus on the main thing, the web map. Anyhow, thanks for looking into it.

You're welcome. :)

 

I'm trying to add bearing next to the measurement tool distance. It shows up, but it's all wrong. I don't know what's happening. I've tried two methods from different sources and they return the same bearing. I'm starting to believe something is wrong with my map.

 

For instance:

Batumi runway 31 shows a bearing of 312 instead of 306 (+6).

Anapa runway 04 shows a bearing of 45 instead of 42 (+3).

 

Maykop runway 22 shows a bearing of 224 instead of 219 (+5).

Beslan runway 28 shows a bearing of 282 instead of 274 (+8 ).

Gudauta runway 15 shows a bearing of 156 instead of 151 (+5).

I've just found what's wrong. It's not "the map", it's the projection I've been using all this time, Web Mercator (EPSG:3857), which has the advantage of being used everywhere (Google Maps, and also Combat Flite). But it's a non conformal projection, which means angles get ****ed up. I quote Wikipedia:

 

While the Web Mercator's formulas are for the spherical form of the Mercator, geographical coordinates are required to be in the WGS 84 ellipsoidal datum. This discrepancy causes the projection to be slightly non-conformal. General lack of understanding that the Web Mercator differs from standard Mercator usage has caused considerable confusion and misuse. For all these reasons, the United States Department of Defense through the National Geospatial-Intelligence Agency has declared this map projection to be unacceptable for any official use.
I've just tried to reproject the map in UTM 36N (32636) (hinted in the Caucasus.MapCoords.lua game file because that's the projection used in the F10 map), and now the angles are just fine! :thumbup: I guess I'll stick to UTM 36N from now on.
Edited by Flappie

Don't accept indie game testing requests from friends in Discord. Ever.

Link to comment
Share on other sites

  • 5 months later...

Some fresh news:

 

  • The webmap project is on hold. My intention was to provide a full vector map for CombatFlite, but its creator hasn't used it so far. And I don't want to waste my time on unused projects...
  • ... I have a better idea: doing Persian Gulf and Syria maps. I don't know which theatre I'll start with yet. Syria is my favorite, but its landscape might change a bit in the first years, like all early access products usually do.
  • Last but not least, my Caucasus map will soon be featured in TacView. :)

Don't accept indie game testing requests from friends in Discord. Ever.

Link to comment
Share on other sites

  • 5 months later...

A friend just gave me the key to making an alternative kneeboard map for DCS. I don't have time now, but I'll do it someday. Many thanks to Migow.👍

 

They match!

kneeboard_flappie.gif

  • Like 7

Don't accept indie game testing requests from friends in Discord. Ever.

Link to comment
Share on other sites

  • 3 months later...

Hey, i'm thoroughly enjoying your webmap, i use it often for mission briefing images for my group.

Have you considered making native drawing tools, similar to your measure tool. Additionally, the ability for people to collaboratively draw on your webmap, something similar to how this site works. Would be awesome for squadron briefings. Would pay for that feature!

Either way, its an awesome tool. Keep up the great work!

 

Link to comment
Share on other sites

Hey, many thanks for your feedback. 😀

 

I'm not happy with the current implementation of my webmap. It uses an old version of OpenLayers (v2). Once I upgrade it to a more recent API, it'll be easier for me to add tools. At the moment, I'm quite busy with both my beta tester activity and my upcoming moving.

 

Once I get back to cartography, I'll first make a kneeboard mod as described above, then I'll work on a new API for the webmap.


Edited by Flappie
  • Like 3

Don't accept indie game testing requests from friends in Discord. Ever.

Link to comment
Share on other sites

  • 1 year later...

Hey all, I'm back! I'm sorry for the delay: as some of you may know, I got involved a lot in Beta testing these last two years. DCS 2.7 came out with a lot of new bugs, which kept me and other testers very busy for a while. This is a bit more calm now, which allows me to get back to cartography.

My next task will be to convert my Caucasus map to a DCS kneeboard mod, as promised.

Once this is done, I might do another terrain map.

  • Thanks 2

Don't accept indie game testing requests from friends in Discord. Ever.

Link to comment
Share on other sites

I found a quick and efficient way to generate 432 1024x1024 PNG tiles from my very large map: I use the ImageMagick command line tool.

Here's a sneak peek of my progress:

test.png

Next step: find a way to automatically convert these 432 tiles to .DDS files. It seems that ImageMagick is able to do it.

Everything goes according to plan... 😺

  • Like 3
  • Thanks 1

Don't accept indie game testing requests from friends in Discord. Ever.

Link to comment
Share on other sites

I looked at your flashing map and had a Seizure. Woke up in front of the monitor looked at your map and had a Seizure. Woke up in front of the monitor looked at your map and had a Seizure. Woke up in front of the monitor looked at your map and had a Seizure. Woke up in front of the monitor looked at your map and had a Seizure. Look forward to you finishing your work. 👍

  • Like 1
Link to comment
Share on other sites

😄

And here we go! This rather simple PHP script automatically renames each of my .PNG tiles to its DCS counterpart filename, then it converts it to a.DDS. And it works! 🥳

Don't ask me how I made this filenames array. It was tedious, but worth it.

<?php
//In and out tiles path
$dir = 'C:\\laragon\\www\\tiles\\';

//DCS tiles filenames array
$namegrid = array();
array_push($namegrid, "aj02_x5_z0","aj02_x5_z1","aj02_x5_z2","aj02_x5_z3","aj02_x5_z4","aj02_x5_z5","aj02_x5_z6","aj02_x5_z7","aj03_x5_z0","aj03_x5_z1","aj03_x5_z2","aj03_x5_z3","aj03_x5_z4","aj03_x5_z5","aj03_x5_z6","aj03_x5_z7","aj04_x5_z0","aj04_x5_z1","aj04_x5_z2","aj04_x5_z3","aj04_x5_z4","aj04_x5_z5","aj04_x5_z6","aj04_x5_z7");
array_push($namegrid, "aj02_x6_z0","aj02_x6_z1","aj02_x6_z2","aj02_x6_z3","aj02_x6_z4","aj02_x6_z5","aj02_x6_z6","aj02_x6_z7","aj03_x6_z0","aj03_x6_z1","aj03_x6_z2","aj03_x6_z3","aj03_x6_z4","aj03_x6_z5","aj03_x6_z6","aj03_x6_z7","aj04_x6_z0","aj04_x6_z1","aj04_x6_z2","aj04_x6_z3","aj04_x6_z4","aj04_x6_z5","aj04_x6_z6","aj04_x6_z7");
array_push($namegrid, "aj02_x7_z0","aj02_x7_z1","aj02_x7_z2","aj02_x7_z3","aj02_x7_z4","aj02_x7_z5","aj02_x7_z6","aj02_x7_z7","aj03_x7_z0","aj03_x7_z1","aj03_x7_z2","aj03_x7_z3","aj03_x7_z4","aj03_x7_z5","aj03_x7_z6","aj03_x7_z7","aj04_x7_z0","aj04_x7_z1","aj04_x7_z2","aj04_x7_z3","aj04_x7_z4","aj04_x7_z5","aj04_x7_z6","aj04_x7_z7");
array_push($namegrid, "ai02_x0_z0","ai02_x0_z1","ai02_x0_z2","ai02_x0_z3","ai02_x0_z4","ai02_x0_z5","ai02_x0_z6","ai02_x0_z7","ai03_x0_z0","ai03_x0_z1","ai03_x0_z2","ai03_x0_z3","ai03_x0_z4","ai03_x0_z5","ai03_x0_z6","ai03_x0_z7","ai04_x0_z0","ai04_x0_z1","ai04_x0_z2","ai04_x0_z3","ai04_x0_z4","ai04_x0_z5","ai04_x0_z6","ai04_x0_z7");
array_push($namegrid, "ai02_x1_z0","ai02_x1_z1","ai02_x1_z2","ai02_x1_z3","ai02_x1_z4","ai02_x1_z5","ai02_x1_z6","ai02_x1_z7","ai03_x1_z0","ai03_x1_z1","ai03_x1_z2","ai03_x1_z3","ai03_x1_z4","ai03_x1_z5","ai03_x1_z6","ai03_x1_z7","ai04_x1_z0","ai04_x1_z1","ai04_x1_z2","ai04_x1_z3","ai04_x1_z4","ai04_x1_z5","ai04_x1_z6","ai04_x1_z7");
array_push($namegrid, "ai02_x2_z0","ai02_x2_z1","ai02_x2_z2","ai02_x2_z3","ai02_x2_z4","ai02_x2_z5","ai02_x2_z6","ai02_x2_z7","ai03_x2_z0","ai03_x2_z1","ai03_x2_z2","ai03_x2_z3","ai03_x2_z4","ai03_x2_z5","ai03_x2_z6","ai03_x2_z7","ai04_x2_z0","ai04_x2_z1","ai04_x2_z2","ai04_x2_z3","ai04_x2_z4","ai04_x2_z5","ai04_x2_z6","ai04_x2_z7");
array_push($namegrid, "ai02_x3_z0","ai02_x3_z1","ai02_x3_z2","ai02_x3_z3","ai02_x3_z4","ai02_x3_z5","ai02_x3_z6","ai02_x3_z7","ai03_x3_z0","ai03_x3_z1","ai03_x3_z2","ai03_x3_z3","ai03_x3_z4","ai03_x3_z5","ai03_x3_z6","ai03_x3_z7","ai04_x3_z0","ai04_x3_z1","ai04_x3_z2","ai04_x3_z3","ai04_x3_z4","ai04_x3_z5","ai04_x3_z6","ai04_x3_z7");
array_push($namegrid, "ai02_x4_z0","ai02_x4_z1","ai02_x4_z2","ai02_x4_z3","ai02_x4_z4","ai02_x4_z5","ai02_x4_z6","ai02_x4_z7","ai03_x4_z0","ai03_x4_z1","ai03_x4_z2","ai03_x4_z3","ai03_x4_z4","ai03_x4_z5","ai03_x4_z6","ai03_x4_z7","ai04_x4_z0","ai04_x4_z1","ai04_x4_z2","ai04_x4_z3","ai04_x4_z4","ai04_x4_z5","ai04_x4_z6","ai04_x4_z7");
array_push($namegrid, "ai02_x5_z0","ai02_x5_z1","ai02_x5_z2","ai02_x5_z3","ai02_x5_z4","ai02_x5_z5","ai02_x5_z6","ai02_x5_z7","ai03_x5_z0","ai03_x5_z1","ai03_x5_z2","ai03_x5_z3","ai03_x5_z4","ai03_x5_z5","ai03_x5_z6","ai03_x5_z7","ai04_x5_z0","ai04_x5_z1","ai04_x5_z2","ai04_x5_z3","ai04_x5_z4","ai04_x5_z5","ai04_x5_z6","ai04_x5_z7");
array_push($namegrid, "ai02_x6_z0","ai02_x6_z1","ai02_x6_z2","ai02_x6_z3","ai02_x6_z4","ai02_x6_z5","ai02_x6_z6","ai02_x6_z7","ai03_x6_z0","ai03_x6_z1","ai03_x6_z2","ai03_x6_z3","ai03_x6_z4","ai03_x6_z5","ai03_x6_z6","ai03_x6_z7","ai04_x6_z0","ai04_x6_z1","ai04_x6_z2","ai04_x6_z3","ai04_x6_z4","ai04_x6_z5","ai04_x6_z6","ai04_x6_z7");
array_push($namegrid, "ai02_x7_z0","ai02_x7_z1","ai02_x7_z2","ai02_x7_z3","ai02_x7_z4","ai02_x7_z5","ai02_x7_z6","ai02_x7_z7","ai03_x7_z0","ai03_x7_z1","ai03_x7_z2","ai03_x7_z3","ai03_x7_z4","ai03_x7_z5","ai03_x7_z6","ai03_x7_z7","ai04_x7_z0","ai04_x7_z1","ai04_x7_z2","ai04_x7_z3","ai04_x7_z4","ai04_x7_z5","ai04_x7_z6","ai04_x7_z7");
array_push($namegrid, "ah02_x0_z0","ah02_x0_z1","ah02_x0_z2","ah02_x0_z3","ah02_x0_z4","ah02_x0_z5","ah02_x0_z6","ah02_x0_z7","ah03_x0_z0","ah03_x0_z1","ah03_x0_z2","ah03_x0_z3","ah03_x0_z4","ah03_x0_z5","ah03_x0_z6","ah03_x0_z7","ah04_x0_z0","ah04_x0_z1","ah04_x0_z2","ah04_x0_z3","ah04_x0_z4","ah04_x0_z5","ah04_x0_z6","ah04_x0_z7");
array_push($namegrid, "ah02_x1_z0","ah02_x1_z1","ah02_x1_z2","ah02_x1_z3","ah02_x1_z4","ah02_x1_z5","ah02_x1_z6","ah02_x1_z7","ah03_x1_z0","ah03_x1_z1","ah03_x1_z2","ah03_x1_z3","ah03_x1_z4","ah03_x1_z5","ah03_x1_z6","ah03_x1_z7","ah04_x1_z0","ah04_x1_z1","ah04_x1_z2","ah04_x1_z3","ah04_x1_z4","ah04_x1_z5","ah04_x1_z6","ah04_x1_z7");
array_push($namegrid, "ah02_x2_z0","ah02_x2_z1","ah02_x2_z2","ah02_x2_z3","ah02_x2_z4","ah02_x2_z5","ah02_x2_z6","ah02_x2_z7","ah03_x2_z0","ah03_x2_z1","ah03_x2_z2","ah03_x2_z3","ah03_x2_z4","ah03_x2_z5","ah03_x2_z6","ah03_x2_z7","ah04_x2_z0","ah04_x2_z1","ah04_x2_z2","ah04_x2_z3","ah04_x2_z4","ah04_x2_z5","ah04_x2_z6","ah04_x2_z7");
array_push($namegrid, "ah02_x3_z0","ah02_x3_z1","ah02_x3_z2","ah02_x3_z3","ah02_x3_z4","ah02_x3_z5","ah02_x3_z6","ah02_x3_z7","ah03_x3_z0","ah03_x3_z1","ah03_x3_z2","ah03_x3_z3","ah03_x3_z4","ah03_x3_z5","ah03_x3_z6","ah03_x3_z7","ah04_x3_z0","ah04_x3_z1","ah04_x3_z2","ah04_x3_z3","ah04_x3_z4","ah04_x3_z5","ah04_x3_z6","ah04_x3_z7");
array_push($namegrid, "ah02_x4_z0","ah02_x4_z1","ah02_x4_z2","ah02_x4_z3","ah02_x4_z4","ah02_x4_z5","ah02_x4_z6","ah02_x4_z7","ah03_x4_z0","ah03_x4_z1","ah03_x4_z2","ah03_x4_z3","ah03_x4_z4","ah03_x4_z5","ah03_x4_z6","ah03_x4_z7","ah04_x4_z0","ah04_x4_z1","ah04_x4_z2","ah04_x4_z3","ah04_x4_z4","ah04_x4_z5","ah04_x4_z6","ah04_x4_z7");
array_push($namegrid, "ah02_x5_z0","ah02_x5_z1","ah02_x5_z2","ah02_x5_z3","ah02_x5_z4","ah02_x5_z5","ah02_x5_z6","ah02_x5_z7","ah03_x5_z0","ah03_x5_z1","ah03_x5_z2","ah03_x5_z3","ah03_x5_z4","ah03_x5_z5","ah03_x5_z6","ah03_x5_z7","ah04_x5_z0","ah04_x5_z1","ah04_x5_z2","ah04_x5_z3","ah04_x5_z4","ah04_x5_z5","ah04_x5_z6","ah04_x5_z7");
array_push($namegrid, "ah02_x6_z0","ah02_x6_z1","ah02_x6_z2","ah02_x6_z3","ah02_x6_z4","ah02_x6_z5","ah02_x6_z6","ah02_x6_z7","ah03_x6_z0","ah03_x6_z1","ah03_x6_z2","ah03_x6_z3","ah03_x6_z4","ah03_x6_z5","ah03_x6_z6","ah03_x6_z7","ah04_x6_z0","ah04_x6_z1","ah04_x6_z2","ah04_x6_z3","ah04_x6_z4","ah04_x6_z5","ah04_x6_z6","ah04_x6_z7");

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
			if ($file == '.' || $file == '..') {
				continue;
			} 
			//Retrieve tile index and file extension
			$number = strstr($file, '.',true);	
			$extension = strstr($file, '.');
			
			//Find the name of the matching DCS tile and rename ours
			$dcsname = $namegrid[$number];
			rename($dir . $file, $dir . $dcsname . $extension);
			
			//Convert to DDS
			$cmd = "\"C:\\Program Files\\ImageMagick-7.1.0-Q16-HDRI\\magick.exe\" " . $dir . $dcsname . $extension . " -define dds:compression=dxt1 -define dds:cluster-fit=true ". $dir . $dcsname . ".dds";
			exec($cmd,$output,$int);
        }
        closedir($dh);
    }
}
echo "THE END";
?>

 

Next step: process the whole 0.5M raster chart, then test it ingame.

  • Like 2

Don't accept indie game testing requests from friends in Discord. Ever.

Link to comment
Share on other sites

Insert overexcited-little-girl GIF here.

I'm aware large chunks are missing, this was just a test. A lot of details are also absent. When the mod is released, you'll get a fully detailed map, as it already exists in Tacview, CombatFlite and in my webmap.

glimpse.jpg

And the best part!

glimpse3.jpg


Edited by Flappie
  • Like 5

Don't accept indie game testing requests from friends in Discord. Ever.

Link to comment
Share on other sites

Wow, great work @Flappie!

Can't wait to get my hands on your mod.

Again, if you need help, please tell me.

Amitiés à Migow de la part de Zip 😉

  • Like 3

Zip - VEAF :pilotfly:

 

If you want to learn, talk and fly with french-speaking friends, the Virtual European Air Force is here for you ! Meet us on our Discord and our forum

If you're a mission creator, you may want to check the VEAF Mission Creation Tools (and its GitHub repository) a set of open-source scripts and tools that make creating a dynamic mission a breeze !

Link to comment
Share on other sites

9 hours ago, buur said:

this is great.
So in the future you could be able to export drawings from CombatFlite to the kneeboard? This will be great.

Errr, no, it's not that simple. 😄

Don't accept indie game testing requests from friends in Discord. Ever.

Link to comment
Share on other sites

I love it ! Stop playing with your crayolas and set this up in my A-10 😉

  • Like 2

Zip - VEAF :pilotfly:

 

If you want to learn, talk and fly with french-speaking friends, the Virtual European Air Force is here for you ! Meet us on our Discord and our forum

If you're a mission creator, you may want to check the VEAF Mission Creation Tools (and its GitHub repository) a set of open-source scripts and tools that make creating a dynamic mission a breeze !

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...