16 attribute_value_list )
18 character (len=*),
intent(in) :: proj4_string
25 integer (c_int) :: indx
26 character (len=256) :: temp_string
27 character (len=:),
allocatable :: valuestring
28 character (len=:),
allocatable :: namestring
29 character (len=:),
allocatable :: standard_parallels
30 character (len=:),
allocatable :: proj4_string_local
32 standard_parallels =
""
33 proj4_string_local = proj4_string
37 do indx=1, proj4_list%count
39 temp_string = proj4_list%get( indx )
40 namestring =
left( string=temp_string, substring=
"=" )
41 valuestring =
right( string=temp_string, substring=
"=" )
43 select case ( namestring )
46 call attribute_name_list%append(
"grid_mapping_name")
47 select case ( valuestring )
48 case (
"latlon",
"lonlat",
"latlong",
"longlat" )
49 call attribute_value_list%append(
"latitude_longitude")
50 call attribute_name_list%append(
"units")
51 call attribute_value_list%append(
"decimal_degrees")
53 call attribute_value_list%append(
"albers_conical_equal_area")
55 call attribute_value_list%append(
"azimuthal_equidistant")
57 call attribute_value_list%append(
"transverse_mercator")
59 call attribute_value_list%append(
"mercator")
61 call attribute_value_list%append(
"lambert_cylindrical_equal_area")
63 call attribute_value_list%append(
"lambert_conformal_conic")
65 call attribute_value_list%append(
"universal_transverse_mercator")
67 call attribute_value_list%append(
"unknown")
72 call attribute_name_list%append(
"datum")
73 call attribute_value_list%append( valuestring )
77 call attribute_name_list%append(
"spheroid")
78 call attribute_value_list%append( valuestring )
80 select case ( valuestring )
82 case (
"GRS80",
"grs80" )
84 call attribute_name_list%append(
"semi_major_axis")
85 call attribute_value_list%append(
"6378137.0" )
87 call attribute_name_list%append(
"inverse_flattening")
88 call attribute_value_list%append(
"298.257222101" )
90 case (
"WGS84",
"wgs84" )
92 call attribute_name_list%append(
"semi_major_axis")
93 call attribute_value_list%append(
"6378137.0" )
95 call attribute_name_list%append(
"inverse_flattening")
96 call attribute_value_list%append(
"298.257223563" )
98 case (
"clrk66",
"CLRK66" )
100 call attribute_name_list%append(
"semi_major_axis")
101 call attribute_value_list%append(
"6378206.0" )
103 call attribute_name_list%append(
"inverse_flattening")
104 call attribute_value_list%append(
"294.98" )
108 call attribute_name_list%append(
"semi_major_axis")
109 call attribute_value_list%append(
"6370997.0" )
111 call attribute_name_list%append(
"semi_minor_axis")
112 call attribute_value_list%append(
"6370997.0" )
118 call attribute_name_list%append(
"longitude_of_central_meridian")
119 call attribute_value_list%append( valuestring )
123 call attribute_name_list%append(
"latitude_of_projection_origin")
124 call attribute_value_list%append( valuestring )
128 call attribute_name_list%append(
"false_easting")
129 call attribute_value_list%append( valuestring )
133 call attribute_name_list%append(
"false_northing")
134 call attribute_value_list%append( valuestring )
141 standard_parallels = valuestring
146 standard_parallels = standard_parallels//
' , '//trim(valuestring)
148 call attribute_name_list%append(
"standard_parallel")
149 call attribute_value_list%append( standard_parallels )
153 call attribute_name_list%append(
"semi_major_axis")
154 call attribute_value_list%append( valuestring )
158 call attribute_name_list%append(
"semi_minor_axis")
159 call attribute_value_list%append( valuestring )
163 call attribute_name_list%append(
"earth_radius")
164 call attribute_value_list%append( valuestring )
168 call attribute_name_list%append(
"inverse_flattening")
169 call attribute_value_list%append( valuestring )
171 case (
"+k",
"+k_0" )
173 call attribute_name_list%append(
"scale_factor_at_central_meridian")
174 call attribute_value_list%append( valuestring )
178 call attribute_name_list%append(
"units")
180 select case ( valuestring )
183 call attribute_value_list%append(
"meter" )
186 call attribute_value_list%append(
"US_surveyors_foot" )
189 call attribute_value_list%append(
"international_foot" )
192 call attribute_value_list%append( valuestring )
198 call attribute_name_list%append(
"UTM_zone")
199 call attribute_value_list%append( valuestring )