flex-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From OmPrakash Muppirala <bigosma...@gmail.com>
Subject Re: [Flex] Map Component
Date Wed, 13 Jan 2016 07:39:49 GMT
Moving thread to dev@.  Users@ in bcc in case someone else is interested in
this.

The d in the path node is a stringified set of points which are connected
by lines.  M is for moveTo, L is for lineTo and Z signifies closing the
path back to the first point.

Each country (or region) has its own shape which is denoted by the d
string.  The series of path objects is sufficient to draw all the countries
using a stroke and a fill.

Looking at your coordinates, it looks like a closed polygon.
You might want to try to use Mercator projection to project the lat long
coordinates to cartesian coordinates.
Here is a very straightforward implementation of this in AS3:
*https://bitbucket.org/gka/as3-proj/src/ec91cdd098a15ab1e2cbf5bbd3a3221a36507685/net/vis4/map/proj/MercatorProjection.as?at=default&fileviewer=file-view-default
<https://bitbucket.org/gka/as3-proj/src/ec91cdd098a15ab1e2cbf5bbd3a3221a36507685/net/vis4/map/proj/MercatorProjection.as?at=default&fileviewer=file-view-default>*

Basically for each lat/long co-ordinate in your 'coordinates' array, call
MercatorProjection.project(), which should give you a Point object.  Use
these series of Points to draw a shape, which represents your State/region.

Do let me know if you need any further help

Thanks,
Om
On Jan 12, 2016 10:06 PM, "Deepak MS" <megharajdeepak@gmail.com> wrote:

> Moving following conversation to this separate thread.
>
>
> http://apache-flex-development.2333347.n4.nabble.com/FlexJS-US-States-Map-example-pure-AS3-td48006.html
>
> Hi Om,
> I had one question.
> I could see the following path in the worldmap.xml file:
> <path fill="#CEE3F5" stroke="#6E6E6E" stroke-width="0.4" id="UM"
>         d="M25.4,206.4 L25.4,206.4 L25.3,206.4 L25.4,206.4 Z">
>         <desc>
>             <name>United States Minor Outlying Islands</name>
>             <labelrank>5</labelrank>
>             <country-abbrev>U.S. MOI</country-abbrev>
>             <subregion>Seven seas (open ocean)</subregion>
>             <region-wb>East Asia &amp; Pacific</region-wb>
>             <iso-a3>UMI</iso-a3>
>             <iso-a2>UM</iso-a2>
>             <woe-id>28289407</woe-id>
>             <continent>North America</continent>
>             <hc-middle-x>0.57</hc-middle-x>
>             <hc-middle-y>0.58</hc-middle-y>
>             <hc-key>um</hc-key>
>             <hc-a2>UM</hc-a2>
>         </desc>
>     </path>
>
> What is the path data in there?
>
> I would be getting the boundary data in form of geojson which would have
> latitude\longitude points. Something like this:
>
> { "type": "Feature", "properties": { "BrickCode_": "21000", "State": "NSW",
> "ML_Code": "ML108" }, "geometry": { "type": "Polygon", "coordinates": [ [ [
> 151.25715360000004, -33.743317043500042 ], [ 151.25985827199997,
> -33.743840223500001 ], [ 151.26121619200012, -33.74746011849993 ], [
> 151.269228, -33.74990100849999 ], [ 151.26887100800002, -33.757243991500047
> ], [ 151.27524460799998, -33.756977721 ], [ 151.28052790400011,
> -33.75872719199981 ], [ 151.27875936, -33.768415808499981 ], [
> 151.27282256000012, -33.767621917999975 ], [ 151.27024985600008,
> -33.77462350199994 ], [ 151.27552054400007, -33.779516363499738 ], [
> 151.27530051200017, -33.781854430499834 ], [ 151.26530544000002,
> -33.780174667499921 ], [ 151.26095520000001, -33.777029796999898 ], [
> 151.259648416, -33.779054695999776 ], [ 151.25597475200004,
> -33.779087477999894 ], [ 151.25556144000006, -33.783829046499761 ], [
> 151.24337900800003, -33.781951999499825 ], [ 151.23829500800002,
> -33.778761008499828 ], [ 151.23245721600017, -33.762912705999895 ], [
> 151.23388588800003, -33.754605225500029 ], [ 151.24911699200015,
> -33.756704993999904 ], [ 151.24983971200004, -33.752049450499953 ], [
> 151.24830732800024, -33.751826433000019 ], [ 151.24833936000005,
> -33.748172997499921 ], [ 151.25159628799997, -33.74994213399998 ], [
> 151.25054374400008, -33.746457899499944 ], [ 151.25377328000013,
> -33.746925597999962 ], [ 151.25369952000005, -33.74283635799992 ], [
> 151.25715360000004, -33.743317043500042 ] ] ] } }
>
> I'm sure that we cannot use lat\lng points directly in path data. But I
> want to know based on what can we convert these data points to path data.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message