Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Polygon projection in CountryData incorrect?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg116338] Re: Polygon projection in CountryData incorrect?
  • From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
  • Date: Fri, 11 Feb 2011 04:16:38 -0500 (EST)
  • References: <iitekr$jj7$1@smc.vnet.net> <ij0e75$9bm$1@smc.vnet.net>

Thanks Heike, this works great indeed.

I'm tempted to consider this a bug as you would expect the projections
to use the same defaults wherever in the system they're used.

Cheers -Sjoerd


On Feb 10, 11:21=C2 am, Heike Gramberg <heike.gramb... at gmail.com> wrote:
> I don't know if it qualifies as a bug, but it seems that the
> coordinates of the vertices of the polygon returned by CountryData[...,
> {"Polygon", "Mercator"}] are in degrees where the point (0,0)
> corresponds to the actual point (lat,lon)=(0,0) whereas the coordinates
> returned by GeoGridPosition[...,"Mercator"] are in radians such that
> the point (0,0) corresponds to the actual point (lat, lon)=(0,-180
> degrees).
>
> I guess one way to match the two coordinate systems is to adjust the
> "Centering" and the "ReferenceModel" properties of the "Mercator"
> projection used in GeoGridPosition, i.e. to use something like this:
>
> Graphics[{{FaceForm[], EdgeForm[Black], =E2=80=A8 =C2  CountryData["Net=
herlands",
> {"Polygon", "Mercator"}]}, Red, =E2=80=A8 =C2 PointSize[0.02],=E2=80=A8=
 =C2 
> Point@GeoGridPosition[=E2=80=A8 =C2  =C2  GeoPosition[=E2=80=A8 =C2=
  =C2  =C2 CityData[{"Amsterdam",
> "NoordHolland", "Netherlands"}, =E2=80=A8 =C2  =C2  =C2  "Coordinat=
es"]], {"Mercator",
> "Centering" -> 0, =E2=80=A8 =C2  =C2  =C2 "ReferenceModel" -> 360/2=
/Pi}][[1]]=E2=80=A8 =C2 }=E2=80=A8 ]
>
> Heike.
>
> On 2011-02-09 07:10:19 +0000, "Sjoerd C. de Vries"
> <sjoerd.c.devr... at gmail.com> said:
>
> > CountryData contains a polygon for every country. It can be output in
> > various projections using a specification like =C2 {"Polygon",
> > "Mercator"}.
>
> > However, the resulting polygon doesn't seem to be consistent with a
> > transformation using GeoGridPosition and GeoPosition.
>
> > If I plot Amsterdam using its CityData coordinates transformed with a
> > Mercator projection it falls outside the Netherland's borders (1st
> > example below). When I use the alternative approach (2nd example)
> > everything seems OK. Am I doing something wrong or is this a bug?
>
> > Graphics[
> > =C2 {
> > =C2  {FaceForm[], EdgeForm[Black],
> > =C2  =C2 CountryData["Netherlands", {"Polygon", "Mercator"}]},
> > =C2  Red, PointSize[0.02],
> > =C2  Point@GeoGridPosition[
> > =C2  =C2  =C2 GeoPosition[
> > =C2  =C2  =C2  CityData[{"Amsterdam", "NoordHolland", "Netherland=
s"},
> > =C2  =C2  =C2  =C2 "Coordinates"]], "Mercator"][[1]]
> > =C2  }
> > =C2 ]
>
> > Graphics[
> > =C2 {
> > =C2  {FaceForm[], EdgeForm[Black],
> > =C2  =C2 Polygon[Map[GeoGridPosition[GeoPosition[#], "Mercator"][[1=
]] &,
> > =C2  =C2  =C2 CountryData["Netherlands", "Coordinates"], {2}]]},
> > =C2  Red, PointSize[0.02],
> > =C2  Point@GeoGridPosition[
> > =C2  =C2  =C2 GeoPosition[
> > =C2  =C2  =C2  CityData[{"Amsterdam", "NoordHolland", "Netherland=
s"},
> > =C2  =C2  =C2  =C2 "Coordinates"]], "Mercator"][[1]]
> > =C2  }
> > =C2 ]
>
> > Cheers -- Sjoerd
>
>



  • Prev by Date: Re: Apply a rule to an expression only once
  • Next by Date: Re: list manipulation
  • Previous by thread: Re: Polygon projection in CountryData incorrect?
  • Next by thread: Bug in Mathematica 7.0.1 multiple integration?