Jump to content

Recommended Posts

Posted

Dear Developers, :-)

 

We at http://www.virtual-JaBoG32.de have a really big problem and are therefore seeking your help. We are working on an addon software that gives us a Radarscreen. Basically its not a big problem to display Aircraft positions on a screen. We are using a Java Server to buffer the recieved positions of several clients and use ActionScript to plot the Data in a Macromedia Flash Application. A really big problem came up when we wanted to import Landmarks from the missionbuilder-map like coastlines, rivers, towns,.. etc. The graphical display of the map is deformed which, i assume, is due to the projektion of the map.

On this screenshot ScreenShot_007.jpg WP 1 and WP2 have exactly the same north-coordinate. WP 2 and WP 3 have the same east-coordinate,.. . and so on a Mercator-projekted map it should be a perfect square. I have indications that the missionbuilder-map is a kind of Lambert-projektion, but that is by far not enough information to derive a precise background-underlay for our Radarscreen.

 

We have therefore a few questions and we really appreciate your answers.

 

-What exact projection is the map in LockOn? What are the standard parallels?

-Is the map referenced to true or magnetic north? What is the HUD referenced to?

-Is the scenery based on real geographic data, so any ordinary mercator-projection would do the job? If so, can we expect the LO scenery to match reality up to aprox. 0.2NM?

 

I know we're asking a lot in times where time is money, but if you granted us a free wish it would be this:

 

We need a Mercator-projected (best would be universal-transversal), true-north referenced, vector-based, high detail chart of the LockOn scenery. We would like to use vector based graphics and if available would prefer .EPS or other vector compatible image maps. If you can provide this, that would really be absolutly hammer-cool. :-)

 

JaBoG32_Zillion

JaBoG32_Dirty

Posted

Waypoints 1 and 4 have the same east-west coordinate?

 

Interesting...

 

If you use Alt-Y during a mission, you can find that the (0, 0) co-ordinate is a little bit east of Simferopol - perhaps this point is also on a standard parallel?

 

-SK

Posted

Dear Developers,

 

We are still hoping for a reply to some of our questions. We fully understand the release of F.C. might be a much bigger concern to your team at the moment.

 

We at http://www.virtual-jabog32.de are not planning to build an AWACS simulator. Instead our final addon should resemble something like an air traffic controller presently used for civil aviation. We are building it mainly for the purpose of the simulation of controlled airspace including realistic arrival and departure procedures.

Already about half of our invested training time is accounted for the practice of visual (VAD jet) pattern training around Sochi Adler. Every member of our squad is equipped with with dozens of maps describing patterns, exit points and entry points for the area around Sochi as well as taxiway & runway descriptions for all the other 20 Airports in our beloved Sim...

 

We have a couple of members with the knowledge of professional aviators / airspace controllers and are in contact to airspace controllers for the area of Lechfeld Germany, the home of the real JaBoG32. Additionally we have ATC training and are about to train other members of the squad for the difficult job of occupying controll towers and sector controller screens.

 

Of course with slight graphical changes the addon could be used as an AWACS Sim and even though many of us think flying with AWACS is less fun than flying without, we might also want to try this option.

 

Furthermore our addon would rely on a lightweight (less than 1MB) Flash Application running in any Browser window and would be released as freeware with all sources for everyone to edit and build his own design and filters.

 

Until now, we found a precise way to plot any position, converting our northern and eastern coordinates seperately to an (X,Y)Pixel position.

 

Additionally we we got the coordinates of runway thresholds (ie. beginning of 06 & 24) in world coordinates and are ready to add them to our radar screen.

 

Unfortunately our problem with the map persists and we are unable to use it as reference for our ATC controllers.

 

I would therefore like to repeat our request for more information of the used projection for the map in lock on modern air combat. Other information like the standard parallell used for calculating the east west deviation and any information of this kind concerning the map and coordinate system would be so helpfull to us. We would be very grateful for sharing a couple of lines with members of your team concerning these issues.

 

Thanks in advance

 

JaBoG32_Zillion

Posted

hi JaBoG32_Zillion, JaBoG32_Dirty... very interesting your aplication... our spanish squadron have the same way of thinking than you. Realistic procedures, ATC and Control Mision helping when you need in the mission, not only simple shootdown enemies.

 

A few moth before I try to do something similar for our squadron but we stop the project because we dont have permision to extract for the sim the position of the aircraft. ¿How do you get... we have de 1.02 version?, only speed, aceleration, an direction was exportable.

 

So we developed a inercial way procedure, that with the information of speed, direction an aceleration, we integer the information in the dynamics equation of motions and try to get the final position of the aircraft.. but it have round error, or ecuation simplification, that makes the system fail and error in the position occurs... perhaps causes by the problem that you comment that you discover...

 

If you have any idea or comment please send me and email, and we put the information in common. thx, and good work.

 

example of the plot....

 

circuito04.JPG

basic traffic circuit.

 

It's not a good example because is a short distance and the error is short as well... but if the flight is long, the error is bigger and the star point and the end point not are the same if you take off and land in the same airport, and ATC indication fail because he dont see the real possition.

 

We also have problem with the debriefing export file ... because not all the information it's writting in the export file... so we have a lot of problem for make a routine for automatic check of the time that all our members are fly in the official misions. Any idea for solve this problem? we have a post here. http://forum.lockon.ru/viewtopic.php?t=3637

 

ESA_bolichin

http://www.cruzdesanandres.com

bolichin02.jpg

Posted

Hi Bolichin,

 

Nice to hear from you Guys down in Spain. From what I understood you used the basic Data provided by 1.02 and designed a simulated IRU(inertial reference Unit) around it. :shock: :shock: :shock: :shock: Wow,...That is way beyound our capabilities. I know the behaviour of real life IRS, and I know how the first Generation performed back in the days. If this "pseudo-radar-plot" you showed comes from integrating acceleration and HDG information, it is REALLY amazing. Real life IRS use HDG and Attitude information down to a thousandth of a degree and acceleration down to a tenthousandth of a G.

 

You might wanna try this: plot the distance between the calculated an measured position. As expected the error builds up over time. Now wait, after 44 mins the error should be at its maximum, and after ~88 mins it should be a lot less. This behaviour is called Schuler-Oscilation and is "a perfectly natural thing" :-) Here the limitations of a real A340 IRS:

 

 

IRS%20Drift.jpg

 

We are planning to use the export functions of v1.1 though. It provides Lat/Lon information of aircraft. Now all we have to do is plot them properly onto a map. We simply corrected the convergence of the meridians to get a map that is almost true in length in all directions (N-S as well as E-W). Now we wanted to use the Lockon map as a basis for our radar screen underlay to be able to see landmarks like rivers, cities, coastlines. We found out that the map uses a different projection. Look here:

 

ScreenShot_008.jpg

 

All those points are on the same parallel, but appear on a circle. That too is "a perfectly natural thing", we just cannot cope with it, because the algorithms become to complicated for our litte innocent brains :oops:

 

So we cannot use the chart, because we display the same area in a perfect sqare. Therefore we need a chart that displays the meridians in a vertical, and the parallels in horizontal lines. I come closer and closer to the conclusion, to simply vectorise all important landmarks by Hand. That would be precise, but would mean A LOT of work. So that's where we stand now. I think I am going to contact Galevsky in the near future to see if he encountered simitar issues. But thanks for your help anyway.

 

Dirty

Posted
Therefore we need a chart that displays the meridians in a vertical, and the parallels in horizontal lines. I come closer and closer to the conclusion, to simply vectorise all important landmarks by Hand.

 

What??

 

I'm always interested exchanges with other programmers and am looking for a way to help, but even after all your descriptions, your project confuses me.

 

(1) If this has something to do with radar, then why the interest in Mercator projections? Radar uses absolute coordinates just like Lock On's coordinates, no?

 

(2) What counts as an "important landmark"? Do you mean map objects like buldings and vehicles, or runway orientations, or mountains and contour lines, or just simply a coastline?

 

(3) What do you mean "by hand"? Isn't it easier to locate the coordinates you need in Lock On's files, and then write a computer program to convert them? I've done a bit of hacking in this regard and might be able to give you some tips.

 

(4) Is it not possible to tell, by careful measurement, what the projection is by simply studying the map co-ordinates as you have been doing?

 

(5) I'm not sure anyone at ED can help you, since the coastline of the Black Sea was already arranged in Flanker 2.0 by some possibly different people, but you might want to try your questions in the Russian forum or the "Questions and Proposals" section http://forum.lockon.ru/viewforum.php?f=9 if it is urgent.

 

-SK

Posted

I have to admit, it confuses me too :D :D

 

If this has something to do with radar, then why the interest in Mercator projections? Radar uses absolute coordinates just like Lock On's coordinates, no?

 

Well the coordinates are WGS84 coordinates, i assume, that means that they are on the surface of a rotational elipsoid. The radar screen however is a 2D plane, so the Aircraft coordinates have to be projected into this plane. We ended up with a mercator projection, because it gives you a good true north reference, and is easy to calculate. After all, on a radar scope you want "up" to always be 360°. Lambert projections (i assume the lomac map is one) have this property only on a very small scale. (see picture above)

 

It might very well be that Zillion and I are running totally in the wrong direction and that the solution is just too close at hand to see.

 

If we just plot down the coordinats the picture would look odd, because 1 deg lat means 60NM, but 1 deg lon means 60NM x sin(lat) therefore if you only transer coordinates into a grid of pixels, N-S and E-W directions would have different scales. Basically we solved all problems except, that we couldn't implement a background picture from the map. If we cannot get the underlaying picture to match the radar display we have to vectorise each objects manually.

 

Land marks would be:

 

-Runways (~100 Vectors)

-the coastline (~300 Vektors)

-important rivers (1000 Vectors)

 

Dirty

Posted
Well the coordinates are WGS84 coordinates, i assume, that means that they are on the surface of a rotational elipsoid. The radar screen however is a 2D plane, so the Aircraft coordinates have to be projected into this plane.

 

I'm pretty sure the Lock On world is also on a 2D plane. If you press Alt-Y during a mission, you see the "true" coordinates expressed in x, y, z - the terrain designer has already done all the projection for you. North is appasrently defined as the "positive X direction" no matter where you are on the map - not entirely accurate, but certainly simple enough. Why not use these, instead of Latitude and Longitude?

 

Land marks would be:

 

-Runways (~100 Vectors)

-the coastline (~300 Vektors)

-important rivers (1000 Vectors)

 

I'm pretty sure all of these are defined in terms of x, y, z - the runways certainly are. How do you get those vector counts?

 

-SK

Posted

Thanks "Dirty" great explanation... I try to fly 12 hours for check it, LOL ;) ...

 

Another thing... try the way and ecuations proposed in this link...

 

 

http://www.uwgb.edu/dutchs/UsefulData/UTMFormulas.HTM

 

All the work it's made... and you can easy implement a routine in your program to convert lon/lat to UTM... this projection have paralel and perpendicular the meridians and paralels and the distances are measured in meters to a center point of projection... you only need to select the projection that you use and contrast with the projection of the plane... in europe is tipical WGS84, but every country have his own projection that measure better the distances with minor deformation in the projection... I dont know which are the projection that uses the russian, but probably WGS84. check it, in spain we use european 50 or 79 and differs the measure of a point with the WGS84 in 200 meters aprox...

 

Congratulations for your work... I follow your work with attention.

 

bye.

 

ESA_bolichin

http://www.cruzdesanandres.com

bolichin02.jpg

Posted

Thanks SwingKid

 

:lol: Cool 8)

 

Sometimes you just need little time distance and :idea:

 

a hint from someone who sees things from a different perspective and gives u a good hint, showing you were tapping in the complete dark...

 

Thanks SwingKid

 

Unfortunately its apparently for the new LoGetLockedTargetInformation() but if i look at the new string.format i see:

 

- io.write(string.format("ID = %d, position = (%f,%f,%f) , V = (%f, %f, %f),flags = 0x%x\n", cur.ID, cur.position.p.x, cur.position.p.y, cur.position.p.z, cur.velocity.x, cur.velocity.y, cur.velocity.z, cur.flags))

 

This means that at least some objects positions are defined in X,Y,Z which again gives me some hope my own position can also be somehow defined in such nice and uncomplicated coordinates.

 

Before we were simply assuming we only have the Lat,Long...

If this would have been the case we started to get the Degrees, Minutes and Seconds converted to only Seconds. Means multiply the degrees by 3600, multiply the minutes by 60 and add the seconds.

 

With this value we picked 2 spots on our own map, checked the same spots in the Lockon map and expressed it in Seconds North and Seconds East. Then we took the difference between our two spots on our map in pixels X and Y and took the difference between our two spots in seconds E and N in the Lockon map.

We compared the corresponding two numbers, brought them in relation to each other and came up with two factors...

 

1 Second E = So&SoMuch X Pixels and

1 Second N = So&SoMuch Y Pixels

 

...on our map, which is the map that some tough JaBoG with the name MightyM has patiently made by joining countless screenshots, pixel for pixel, in his favourite graphics app... Thank him :!:

 

A thing which is, according to my german english dictionary, commonly known as the "rule of three" in maths and by no means complicated... :lol:

 

On the other hand trying to plot them in a plotting manner we needed a perfect grid. Unfortunatly we couldn't find this on our map because of the map projection....

 

So if we got X,Y,Z true 3d coordinates we got what we need... 8)

 

Maybe we should all see, wait and experiment a little bit as always when F.C. has been released.. :D

 

Additionally i can ask Galevsky what data he has asked from ED, since he is the one who in fact started the whole thing...

Thanks to you also :!:

 

I'll be off the topic for 3 weeks since i'm on holidays...

 

P.S. Can you tell me more about this Alt-Y thing, i cannot get it working... and if you could tell me where u found the information that X equals north it would also help me on my recherche...

 

Thanks all and the developers

 

JaBoG32_Zillion

 

BTW:

Since i'm still awake i might aswell tell everyone whos interested how we manage to get the data of several clients (pilots) into our flash application (Swf)...

 

I started with editing the the example listener.lua to recieve the data from the export.lua and log it to a file. Unfortuntely the sample listener.lua only provided the simutaneous connection to one client at a time because it was not intended as multithreading listener socket. So with my limited understanding of LUA I searched for an alternative and came up with moock.com which is a java server made for communicating with flash and enabling simple chat applications. You can download the sample java source and sample flash .fla

here

 

Flash uses so called XML data to import socket information... This means that data sent to flash needs to be in a pseudo XML format. XML is a hierarchy of data with a root and child elements attached to the root or main branches.

 

So i edited my export.lua in such a way it would add the xml tags to my exported string and recieve it with the java server which then broadcasts the data to all flash clients...

 

function LuaExportStart()

 

local path = "./luasocket.dll"

local f = assert(loadlib(path, "luaopen_socket"))

f()

local host = '127.0.0.1'

local port = 8080

if socket then

c, e = socket.connect(host, port) -- connect to the listener socket

end

 

end

 

 

function LuaExportBeforeNextFrame()

 

end

 

 

function LuaExportAfterNextFrame()

 

end

 

 

function LuaExportActivityNextEvent(t)

local tNext = t

 

local t = LoGetModelTime()

local name = LoGetPilotName()

local altBar = LoGetAltitudeAboveSeaLevel()

local altRad = LoGetAltitudeAboveGroundLevel()

local pitch, bank, yaw = LoGetADIPitchBankYaw()

local vel = LoGetVerticalVelocity()

local speed = LoGetIndicatedAirSpeed()

local gforce = LoGetAccelerationUnits()

 

 

if c then

s, e = c:send(string.format("<USER>%s</USER><MESSAGE>%.2f,%.2f,%.2f,%.2f,%.2f,%.2f</MESSAGE>\0",name,altBar,vel,speed,pitch, bank,gforce))

 

end

 

 

tNext = tNext + 1.0

 

return tNext

 

end

 

 

function LuaExportStop()

 

if c then

s, e = c:send("quit") -- to close the listener socket

c:close()

end

 

end

 

 

 

 

and finally we got this:

 

 

esklappt.jpg

 

If you are intersted in using flash i think it is a nice way and took me quite some time finding all i needed...

Posted

Re: Thanks SwingKid

 

P.S. Can you tell me more about this Alt-Y thing, i cannot get it working... and if you could tell me where u found the information that X equals north it would also help me on my recherche...

 

If you start a mission and view any object in the external view, there is a status bar at the bottom of the screen that shows the co-ordinates of the object you are looking at (or the camera) in yellow digits.

 

If you press Alt-Y, you toggle these digits from Lat/Long to x,y,z in meters (y is the altitude coordinate).

 

Note: Unfortunately, Alt-Y is ONLY available during the mission, NOT in the mission editor.

 

You can tell that x is "north" because an aircraft traveling north has an increasing x coordinate. East is the positive z-direction.

 

Since the coordinate system is still based on Flanker 2.0, the (0,0,0) co-ordinate is near the center of Crimea.

 

-SK

Posted

Thanks a lot, SwingKid!

 

Those XYZ Coordinates really make a lot of things a lot easyer. The biggest question is now: In v1.1, are those Coordinates exportable for every plane? Player as well as AI? Do You know anything about that?

 

Again, thanks for your help!

 

Dirty

  • 2 weeks later...
Posted

cheating...

 

I would like to explore the possibilities of cheating by the development of our radarscreen and proove that it will be extremely hard to take any advantages from it.

 

1. All Clients which will be tracked need to modify their export.lua file in order to export any data and send it to the right host, thus it will be impossible to track any players without this modifications. Everyone can protect his own privacy...

 

2. Players or teams in any kind of competition which decide to actually enable data export and have a radio controller on a screen to guide them will be protected from the other team spying on them by the software we develop. There will be an anti-cheat-settings handshake which will make the choosen settings visible and transparent to both teams, not allowing further changes after the game has started. The available settings will be:

-Controll TeamMember(s)

-Controll Sector(s)

-AWACS Mode

 

3. Additionally all drawn airplanes will be logged to file which will be sent &saved on the Radarserver on mission end, showing exactly what each controller saw for each radar sweep.

 

4. Teams may also decide to use their own RadarServer (host which recieves lomac data and sends it to flash clients via XML) with their own secret IP which needs to be stated in the export.lua to make sure they will be completly on their own and give cheating no chance. Of course the AWACS Mode will be unavailable then...

 

I hope everyone can understand now that cheating will not be an issue and that this addon is being developed solely for the joy of simulation...

 

regards

 

JaBoG32_Zillion

 

PS: Will the new exporter export x,y,z now or not, someone ?

Posted

From the v1.1 readme (see Sticky thread):

 

LoGetWorldObjects() function to export objects positions to the external map was added. See details in Config/Export/Export.lua

 

Hope this helps,

 

-SK

Posted

thx,

 

but unfortunatly it didn't help... Well as we found out above the 3d xyz coordinates are somehow essentiall for this project because they are more or less the only way to handle the calculations without involving spherical trigonometry and finding out much more about the map...

 

I dont have FC yet, so still going from the readme, which i really tried to read 10 times, i find the following variables:

 

LoGetModelTime() %.2f

LoGetPilotName() %s

LoGetAltitudeAboveSeaLevel() %.2f

LoGetAltitudeAboveGroundLevel() %.2f

LoGetADIPitchBankYaw() (%.2f , %.2f , %.2f)

LoGetEngineInfo() (%f - Fuel , %f - RPM )

LoGetControlPanel_HSI() (ADF - %f , RMI - %f)

 

LoGetWorldObjects()

 

v.Country (ID) = %d

v.Name (name) = %s

v.Country, v.Coalition = %s(%s)

v.LatLongAlt.(Lat,Long,Alt) (LatLongAlt) = (%f, %f, %f)

v.Heading (heading) = %f

 

LoGetLockedTargetInformation()

 

cur.ID (D) = %d

cur.position.p.(x,y,z) (position) = (%f,%f,%f)

cur.velocity.(x,y,z) (V) = (%f, %f, %f)

cur.flags (flags) = 0x%x <---- ?

 

LoGetRoute()

Goto_point :

point_num = %d

route.goto_point.world_point.(xyz) wpt_pos = (%f, %f ,%f)

 

and many more.

 

X,Y,Z only appears to be for the LoGetRoute() and LoGetLockedTargetInformation() which makes me still little uncertain about the possibility to actuall find my own position in X,Y,Z...

 

I wish could try already. I ordered 3 days ago but i wont be home until the the 6th so with some luck i can pick it up on the 7th...

 

thx anyway

 

if anyone wants to take a look at our work in progress u can see "it" here

 

http://www.polymoon.org/tobi/privat/ATC_23.swf

 

Zillion

Posted
v.LatLongAlt.(Lat,Long,Alt) (LatLongAlt) = (%f, %f, %f)

 

X,Y,Z only appears to be for the LoGetRoute() and LoGetLockedTargetInformation() which makes me still little uncertain about the possibility to actuall find my own position in X,Y,Z...

 

I'm pretty sure that "LatLongAlt" actually means "x, z, y".

 

If you look at the "<Positions>" recorded in a .mis file, you'll see that even though the co-ordinates are named "Latitude" and "Longitude", they are still recorded as x, y, z. The "%f" single-precision float value in the declaration is a dead giveaway - this can only contain a single-precision float value.

 

-SK

  • 5 years later...
Posted (edited)
Dear Developers, :-)

 

 

We have therefore a few questions and we really appreciate your answers.

 

-What exact projection is the map in LockOn? What are the standard parallels?

-Is the map referenced to true or magnetic north? What is the HUD referenced to?

-Is the scenery based on real geographic data, so any ordinary mercator-projection would do the job? If so, can we expect the LO scenery to match reality up to aprox. 0.2NM?

 

 

 

JaBoG32_Zillion

JaBoG32_Dirty

 

-What exact projection is the map in LockOn? What are the standard parallels?

 

The FC 2 would be used for the ellipsoid the Krassnovsky and referred to Pulkovo 1942 proyection.

 

-Is the map referenced to true or magnetic north? What is the HUD referenced to?

I think is refered in tru north

-Is the scenery based on real geographic data, so any ordinary mercator-projection would do the job?

 

Yes is real geografic data( i used Oziexplorer to georeference the chart of TC-1(igormk2010) and have 3' of error.

 

Hope this can help good luck

 

Edit:In the chart the blu line is for WGS84 Coordinate and the black lines are for Coordinate geografic refered to Pulkovo if you whant more info check this post http://www.ecv56condor.com.ar/Foro/viewtopic.php?TopicID=38946

Im traing to explane this considering my Info and espect some help to enlighten this things hope you understand a littleof spanish .

Edited by manfrez01
Posted

Just saw the Dates.....a little over five yr old thread....

 

Having this in FC2/DCS would be good... especaily in Red Flag.

The only way to make sense out of change is to plunge into it, move with it, and join the dance.

"Me, the 13th Duke of Wybourne, here on the ED forums at 3 'o' clock in the morning, with my reputation. Are they mad.."

https://ko-fi.com/joey45

 

  • Recently Browsing   0 members

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