Hey, this is an English text. I want you to translate it into the Tunisian dialect. Please follow these steps:
1. Translate step by step and highlight differences between Tunisian dialect and Modern Standard Arabic.
2. Highlight sections you are confident translating into the Tunisian dialect.
Translate this text into the Tunisian dialect, focusing on capturing the essence of the language nuances:

Q: SAS: How to project sashelp.zipcode coordinates onto maps.states? I would like to plot thousands of zip codes on a US map. The coordinates of sashelp.zipcode are latitude/longitude in degrees, and for maps.states they are unprojected latitude/longitude radians. If I convert the zip code coordinates to radians using: x=atan(1)/45*x; y=atan(1)/45*y; and I draw a map using data states; set maps.states; where state not in (2, 15, 72); x = -x; run; The zip codes are plotted accurately, but of course the map is (slightly) distorted. I'd like to get that plump curvy version of the US map that you get when you project maps.states. I'll confess the gproject procedure is a bit opaque to me. I've tried: data zips; set <dataset with 86,000 zip codes>; where state not in (2, 15, 72, .); function='symbol'; size = .02; text = "dot"; xsys='2'; ysys='2'; hsys='3'; when='a'; color= "%hsv(100,100,100)"; x=atan(1)/45*x; y=atan(1)/45*y; x=-x; run; data states; set maps.states; where state not in (2, 15, 72); run; data combo; set zips states; run; proc gproject data=combo out=comboproj; id state; run; data zipsproj mapproj; set comboproj; if when = "a" then output zipsproj; if when = "" then output mapproj; run; proc gmap map=mapproj data=mapproj anno = zipsproj all; id state; choro state / nolegend levels=1; run; quit; This gives me a sideways US map with all of the zip coordinates out of range (Edit I fixed the range problem by multiplying zip coordinates by -1 as well, but the map is still sideways). What am I doing wrong? Please help! A: The problem you have is that you're not telling the annotate system what kind of coordinates you have. Remember, annotations don't have to only be in the coordinate system of the graph itself - they can also be placed in off-graph locations (such as custom axis labels, custom titles, etc.), and they can be given in percentages instead of actual coordinates (say, coloring the right 20% red and the left 20% green). You use the xsys, ysys, and if you specify height of the character, hsys. 2 means 'absolute, data values'; 3 means 'absolute, percent of graph area'. See this paper for more information on what the coordinate systems are. You also shouldn't be multiplying the state x's by -1, at least not in my setup. Only the zip coord x should be multiplied by -1. But if your setup requires that, of course go ahead and do that. Finally, the map gets turned sideways by GPROJECT when it sees some values in the negative-x side of things. That causes it to make an odd choice when it coes to PARALLEL1/2 (you can see in the log this happening). Eliminate all of the non-US48 states (Guam, Micronesia, etc.) to get to just the lower 48. Here's a final code that works for me: data states; set maps.states; where state not in (2, 15, 72); run; data zips; set sashelp.zipcode; x=-1*x; x=atan(1)/45*x; y=atan(1)/45*y; if state ne 2 and state ne 15 and state lt 60;