---------- Forwarded message ----------
From: shinn wong <shinnshinnwong@gmail.com>
Date: 2010/12/11
Subject: Re: question about country outline
To: Rick Brownrigg <brownrig@ucar.edu>
Dear Rick,
Thanks for your explanation. I've attached the shapefile (from
http://www.diva-gis.org/gdata and then choose japan for download) and hope
that you can kindly take a look at it. Below is the result of
printVarSummary of the shapefile:
Variable: f
(0)
filename: JPN_adm0
path: /home/data/JPN_adm0.shp
file global attributes:
layer_name : JPN_adm0
geometry_type : polygon
geom_segIndex : 0
geom_numSegs : 1
segs_xyzIndex : 0
segs_numPnts : 1
dimensions:
geometry = 2
segments = 2
num_features = 1 // unlimited
num_segments = 1402
num_points = 566678
variables:
integer geometry ( num_features, geometry )
integer segments ( num_segments, segments )
double x ( num_points )
double y ( num_points )
integer GADMID ( num_features )
string ISO ( num_features )
string NAME_ENGLI ( num_features )
string NAME_ISO ( num_features )
string NAME_FAO ( num_features )
string NAME_LOCAL ( num_features )
string NAME_OBSOL ( num_features )
string NAME_VARIA ( num_features )
string NAME_NONLA ( num_features )
string NAME_FRENC ( num_features )
string NAME_SPANI ( num_features )
string NAME_RUSSI ( num_features )
string NAME_ARABI ( num_features )
string NAME_CHINE ( num_features )
string WASPARTOF ( num_features )
string CONTAINS ( num_features )
string SOVEREIGN ( num_features )
string ISO2 ( num_features )
string WWW ( num_features )
string FIPS ( num_features )
double ISON ( num_features )
string VALIDFR ( num_features )
string VALIDTO ( num_features )
double AndyID ( num_features )
double POP2000 ( num_features )
double SQKM ( num_features )
double POPSQKM ( num_features )
string UNREGION1 ( num_features )
string UNREGION2 ( num_features )
double DEVELOPING ( num_features )
double CIS ( num_features )
double Transition ( num_features )
double OECD ( num_features )
string WBREGION ( num_features )
string WBINCOME ( num_features )
string WBDEBT ( num_features )
string WBOTHER ( num_features )
double CEEAC ( num_features )
double CEMAC ( num_features )
double CEPLG ( num_features )
double COMESA ( num_features )
double EAC ( num_features )
double ECOWAS ( num_features )
double IGAD ( num_features )
double IOC ( num_features )
double MRU ( num_features )
double SACU ( num_features )
double UEMOA ( num_features )
double UMA ( num_features )
double PALOP ( num_features )
double PARTA ( num_features )
double CACM ( num_features )
double EurAsEC ( num_features )
double Agadir ( num_features )
double SAARC ( num_features )
double ASEAN ( num_features )
double NAFTA ( num_features )
double GCC ( num_features )
double CSN ( num_features )
double CARICOM ( num_features )
double EU ( num_features )
double CAN ( num_features )
double ACP ( num_features )
double Landlocked ( num_features )
double AOSIS ( num_features )
double SIDS ( num_features )
double Islands ( num_features )
double LDC ( num_features )
double Shape_Leng ( num_features )
double Shape_Area ( num_features )
I've also tried to test some points. For example,
print(gc_inout(26.7,138.4,y,x)) returns True even the point lies outside the
national boundaries. Thanks once again and look forward to your reply.
Shinn
2010/12/11 Rick Brownrigg <brownrig@ucar.edu>
Shinn,
>
> Its a bit hard to say why. If I recall your previous plot correctly, the
> shapefile contained boundaries of internal regions, in addition to the
> country boundary. This likely confuses the in/out testing. If you are
> trying to do something like example shapefile_5.ncl, then what is needed is
> a coherent list of the coordinates of just the country boundary. In
> shapefile_5.ncl, this was obtained through a shapefile that contained *only*
> that boundary.
>
> It would be easiest if you can find such a shapefile for your area of
> interest. If not however, you might be able to extract just the required
> polygon by subsetting the shapefile based upon a field in the database.
> Trying doing a "printVarSummary" on the shapefile file-variable. Your
> looking for a field that might encode boundary types, and most importantly,
> you want to make sure that the geometry_type attribute is "polygon".
> Example shapefile_1.ncl shows how to query the shapefile's database.
>
> If that's not clear and you want to send me your shapefiles, I'll take a
> look and see what might be possible.
>
> Good luck!
> Rick
>
> On Dec 9, 2010, at 10:50 PM, shinn wong wrote:
>
> Dear Rick,
> Thank you very much for your help. Now I can draw the country outline, but
> I've got another question. I want to check whether a point is within the
> country. So I use the function gc_inout(lat,lon,mrb_lat,mrb_lon). But there
> are points outside the country that show positive results. Does anyone know
> why? Thanks in advance for any given help.
> Shinn
> 2010/12/10 Rick Brownrigg <brownrig@ucar.edu>
>
>> Hi Shinn,
>>
>> The trouble stems from the single call to:
>>
>> line_data = gsn_add_polyline(wks, map_data, mrb_lon, mrb_lat, lnres)
>>
>> which will treat all the coordinates in mrb_lot/mrb_lat as a continuous
>> line. You want to draw the line segments that make up the countries
>> individually, as in shapefile_3.ncl. In particular, you want to replace the
>> above call with something like:
>>
>> segments = f->segments
>> geometry = f->geometry
>> segsDims = dimsizes(segments)
>> geomDims = dimsizes(geometry)
>>
>> geom_segIndex = f@geom_segIndex
>> geom_numSegs = f@geom_numSegs
>> segs_xyzIndex = f@segs_xyzIndex
>> segs_numPnts = f@segs_numPnts
>> numFeatures = geomDims(0)
>>
>> lines = new(segsDims(0),graphic) ; array to hold polylines
>> segNum = 0 ; Counter for adding polylines
>> do i=0, numFeatures-1
>> startSegment = geometry(i, geom_segIndex)
>> numSegments = geometry(i, geom_numSegs)
>> do seg=startSegment, startSegment+numSegments-1
>> startPT = segments(seg, segs_xyzIndex)
>> endPT = startPT + segments(seg, segs_numPnts) - 1
>> lines(segNum) = gsn_add_polyline(wks, map_data, mrb_lon(startPT:endPT), \
>> mrb_lat(startPT:endPT), lnres)
>> segNum = segNum + 1
>> end do
>> end do
>>
>>
>> Check out the discussion at the top of the shapefiles page if the above
>> code doesn't make sense. Hope that helps...
>> Rick
>>
>>
>>
>>
>>
>> On Dec 9, 2010, at 2:00 AM, shinn wong wrote:
>>
>> Dear all,
>> I've tried to plot the outline boundary of some countries using data
>> obtained from DIVA-GIS. The code and the output file can be seen in the
>> attachment. However, the output is quite different from that of example 4 in
>> the shapefile example page. Does anyone know how can i just plot the outline
>> of the country like those in example 4 instead of all the data points? How
>> can i get the coordinate of the outline of the country? Many thanks.
>> Shinn <aa1.ncl><shapefiles1.000001.png>
>> _______________________________________________
>> ncl-talk mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>>
>
>
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Sat Dec 11 06:35:18 2010
This archive was generated by hypermail 2.1.8 : Wed Dec 22 2010 - 16:10:23 MST