Hi Steve,<br><br>sorry for the delay. But at first I'm glad to tell you good news that it works well. Thanks so much for the detailed analysis and being so patient with me.<br><br>the only problem for me when I did that is: I did not make any subfolder for the tiled shapefiles, and this stupid error makes things confusing.
<br><br>P.S.> Steve, if I have now a large scanned paper map as jpeg format, and I want to slice it again like the shapeflies, how do I do that?<br><br>zhonghai<br><br>20.05.2006<br><br><div><span class="gmail_quote">On 5/19/06, 
<b class="gmail_sendername">Stephen Woodbridge
</b> <<a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">woodbri@swoodbridge.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Zhonghai,<br><br>Here is a log of what I did. I always make a directory to put the tiles<br>into, woodland for this example.<br><br>> woodbri@linus:~/test$ ls<br>> CA_NAV_COUNTRY_region.dbf  CA_NAV_WOODLAND_region.prj
<br>> CA_NAV_COUNTRY_region.prj  CA_NAV_WOODLAND_region.qix<br>> CA_NAV_COUNTRY_region.qix  CA_NAV_WOODLAND_region.shp<br>> CA_NAV_COUNTRY_region.shp  CA_NAV_WOODLAND_region.shx<br>> CA_NAV_COUNTRY_region.shx  
test.rar<br>> CA_NAV_WOODLAND_region.dbf<br><br>make a dir for the tiles<br><br>> woodbri@linus:~/test$ mkdir woodland<br>> woodbri@linus:~/test$ shp2tile<br>> Usage: shp2tile <options> <shapefile> <dest name>
<br>>   where <options> are:<br>>    [-v|--version]      print version string and exit<br>>    [-s|--no-stats]     do not print stats<br>>    [-w|--no-write]     do not write output files<br>>    [-r|--row] <n>      generate <n> rows in Y
<br>>    [-c|--col] <m>      generate <m> cols in X<br>>    [-e|--square-ext]   adjust extent to produce square tiles<br>>    [-q|--quadtree] <n> quadtree type of index (auto split tiles > n objects)
<br>>   <shapefile>          name of file to read and split into tiles<br>>   <dest name>          output file names: <dest name>-<num>.<ext><br><br>check how big the shapfile is<br><br>

> woodbri@linus:~/test$ shpdump CA_NAV_WOODLAND_region | head<br>> Shapefile Type: Polygon   # of Shapes: 9638<br>><br>> File Bounds: (       6.055,      45.818,0,0)<br>>          to  (      10.489,      47.808

,0,0)<br>><br>> Shape:0 (Polygon)  nVertices=62, nParts=1<br>>   Bounds:(       7.602,      47.573, 0, 0)<br>>       to (       7.627,      47.579, 0, 0)<br>>      (       7.609,      47.578, 0, 0) Ring<br>

>      (       7.610,      47.578, 0, 0)<br><br>check that I am working with the most recent version<br><br>> woodbri@linus:~/test$ shp2tile -v<br>> $Id: shp2tile.c,v 1.13 2005/12/05 22:38:08 woodbri Exp $<br><br>

run a test -w says down write tiles, just print stats<br><br>> woodbri@linus:~/test$ shp2tile -r 3 -c 3 -w CA_NAV_WOODLAND_region.shp woodland/woodland<br>> Shapefile Type: Polygon   # of Shapes: 9638<br>><br>> File Bounds: (    
6.055040,   45.818020)<br>>          to  (   10.489220,   47.808380)<br>><br>> Divided into 3 rows X 3 columns (dx, dy) = (    1.478060,    0.663453)<br>><br>>  Index   Cell     Count      XMin         YMin         YMax         YMax
<br>>      0 [  0,  0]   1062     6.055040    45.818020     7.533100    46.481473<br>>      1 [  0,  1]   1867     7.533100    45.818020     9.011160    46.481473<br>>      2 [  0,  2]    556     9.011160    45.818020

    10.489220    46.481473<br>>      3 [  1,  0]    888     6.055040    46.481473     7.533100    47.144927<br>>      4 [  1,  1]   1206     7.533100    46.481473     9.011160    47.144927<br>>      5 [  1,  2]   2059     
9.011160    46.481473    10.489220    47.144927<br>>      6 [  2,  0]    100     6.055040    47.144927     7.533100    47.808380<br>>      7 [  2,  1]   1413     7.533100    47.144927     9.011160    47.808380<br>>      8 [  2,  2]    475     
9.011160    47.144927    10.489220    47.808380<br>>      9 [ global]     12     6.055040    45.818020    10.489220    47.808380<br>>                --------<br>>                    9638<br>> Global cell contains: 0 objects.
<br><br>These are too small a cound so do the 2 x 2<br><br>> woodbri@linus:~/test$ shp2tile -r 2 -c 2 -w CA_NAV_WOODLAND_region.shp woodland/woodland<br>> Shapefile Type: Polygon   # of Shapes: 9638<br>><br>> File Bounds: (    
6.055040,   45.818020)<br>>          to  (   10.489220,   47.808380)<br>><br>> Divided into 2 rows X 2 columns (dx, dy) = (    2.217090,    0.995180)<br>><br>>  Index   Cell     Count      XMin         YMin         YMax         YMax
<br>>      0 [  0,  0]   3096     6.055040    45.818020     8.272130    46.813200<br>>      1 [  0,  1]   2751     8.272130    45.818020    10.489220    46.813200<br>>      2 [  1,  0]   1679     6.055040    46.813200

     8.272130    47.808380<br>>      3 [  1,  1]   2107     8.272130    46.813200    10.489220    47.808380<br>>      4 [ global]      5     6.055040    45.818020    10.489220    47.808380<br>>                --------
<br>>                    9638<br>> Global cell contains: 0 objects.<br><br>Now really do the 2x2 and write the files<br><br>> woodbri@linus:~/test$ shp2tile -r 2 -c 2  CA_NAV_WOODLAND_region.shp woodland/woodland
<br>> Shapefile Type: Polygon   # of Shapes: 9638<br>><br>> File Bounds: (    8.272390,   46.764400)<br>>          to  (   10.489220,   47.808380)<br>><br>> Divided into 2 rows X 2 columns (dx, dy) = (    
2.217090,    0.995180)<br>><br>>  Index   Cell     Count      XMin         YMin         YMax         YMax<br>>      0 [  0,  0]   3096     6.055040    45.909350     8.277650    46.859200<br>>      1 [  0,  1]   2751     
8.274860    45.818020    10.479450    46.834150<br>>      2 [  1,  0]   1679     6.432630    46.783620     8.373900    47.613070<br>>      3 [  1,  1]   2107     8.272390    46.764400    10.489220    47.808380<br>>      4 [ global]      5     
6.055040    45.818020    10.489220    47.808380<br>>                --------<br>>                    9638<br>> Global cell contains: 5 objects.<br><br>list the new files<br><br>> woodbri@linus:~/test$ ls woodland/
<br>> woodland-0.dbf woodland-1.dbf woodland-2.dbf woodland-3.dbf woodland-4.dbf<br>> woodland-0.shp woodland-1.shp woodland-2.shp woodland-3.shp woodland-4.shp<br>> woodland-0.shx woodland-1.shx woodland-2.shx 
woodland-3.shx
 woodland-4.shx<br><br>create the spatial indexes<br><br>> woodbri@linus:~/test$ find woodland/ -name \*.shp -exec shptree {} \;<br>> creating index of new  LSB format<br>> creating index of new  LSB format<br>> creating index of new  LSB format
<br>> creating index of new  LSB format<br>> creating index of new  LSB format<br><br>create the metatile input file<br><br>> woodbri@linus:~/test$ find woodland/ -name \*.shp > <a href="http://woodland.in" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
woodland.in
</a><br><br>check the command syntax<br><br>> woodbri@linus:~/test$ tile4ms<br>><br>> usage: tile4ms <meta-file> <tile-file> [-tile-path-only]<br>> <meta-file>     INPUT  file containing list of shapefile names
<br>>                 (complete paths 255 chars max, no extension)<br>> <tile-file>     OUTPUT shape file of extent rectangles and names<br>>                 of tiles in <tile-file>.dbf<br>> -tile-path-only Optional flag.  If specified then only the path to the
<br>>                 shape files will be stored in the LOCATION field<br>>                 instead of storing the full filename.<br>><br>create the tileindex<br><br>> woodbri@linus:~/test$ tile4ms <a href="http://woodland.in" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

woodland.in</a> woodland-tile<br>> Processed 5 of 5 files<br><br>See what we have got<br><br>> woodbri@linus:~/test$ ls<br>> CA_NAV_COUNTRY_region.dbf  CA_NAV_WOODLAND_region.shx<br>> CA_NAV_COUNTRY_region.prj  county
<br>> CA_NAV_COUNTRY_region.qix  test.rar<br>> CA_NAV_COUNTRY_region.shp  woodland<br>> CA_NAV_COUNTRY_region.shx  woodland-tile.dbf<br>> CA_NAV_WOODLAND_region.dbf woodland-tile.shp<br>> CA_NAV_WOODLAND_region.prj 
woodland-tile.shx<br>> CA_NAV_WOODLAND_region.qix <a href="http://woodland.in" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">woodland.in</a><br>> CA_NAV_WOODLAND_region.shp<br><br>Oh, add spatial index to the tileindex
<br><br>> woodbri@linus:~/test$ shptree 
woodland-tile.shp<br>> creating index of new  LSB format<br><br>check the country file size<br><br>> woodbri@linus:~/test$ shpdump CA_NAV_COUNTRY_region.shp | head<br>> Shapefile Type: Polygon   # of Shapes: 5<br>

><br>> File Bounds: (       5.956,      45.818,0,0)<br>>          to  (      10.492,      47.808,0,0)<br>><br>> Shape:0 (Polygon)  nVertices=15977, nParts=3<br>>   Bounds:(       5.956,      45.818, 0, 0)
<br>>       to (      10.492,      47.808, 0, 0)<br>>      (      10.047,      46.544, 0, 0) Ring<br>>      (      10.047,      46.543, 0, 0)<br><br>country file is too small to index.<br><br>Make a mapfile to view the results:
<br><br>MAP<br>   EXTENT  5.956  45.818  10.492  47.808<br>   IMAGECOLOR 240 204 102<br>   SHAPEPATH /u/test<br>   SIZE 600 400<br>   UNITS DD<br><br>   LAYER<br>     NAME "administration"<br>     GROUP "country"
<br>     STATUS DEFAULT<br>     DATA "CA_NAV_COUNTRY_region"<br>     TYPE POLYGON<br>     DEBUG ON<br>     CLASS<br>       NAME "country"<br>       STYLE<br>         COLOR 255 255 204<br>       END<br>

     END<br>   END<br><br>   LAYER<br>     NAME "woodland"<br>     GROUP "country"<br>     STATUS DEFAULT<br>     TILEINDEX "woodland-tile"<br>     TYPE POLYGON<br>     DEBUG ON<br>     CLASS
<br>       NAME "woodland"<br>       STYLE<br>         COLOR 102 255 102<br>       END<br>     END<br>   END<br>END<br><br>Here is a url to see the results.<br><br><a href="http://swoodbridge.com/linus/cgi-bin/mapserv461?mode=map&map=/u/test/test.map" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

http://swoodbridge.com/linus/cgi-bin/mapserv461?mode=map&map=/u/test/test.map</a><br><br>you should be able to do the same and get the same results.<br><br>-Steve<br><br>Zhonghai Wang wrote:<br>> Hi Steve,<br>>
<br>
> the example shapefiles are enclosed in the attachment as a .rar file,<br>> the coordinate system is swiss national system, epsg:21781 or world:CH1903.<br>><br>> specify any parameter values won't work, only using default 2*2 images
<br>> can be rendered, as I said, only part of the map extent.<br>><br>> thanks<br>><br>> zhongahi<br>><br>> On 5/18/06, *Stephen Woodbridge* < <a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
woodbri@swoodbridge.com
</a><br>> <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">woodbri@swoodbridge.com</a>>> wrote:<br>><br>>     Zhonghai,<br>><br>
>     Can you send me the forest and settlement shap files.<br>><br>
>     tar czf data-for-steve.tgz forest.* settlement.*<br>><br>>     and email me the file. I will take a look. It might be a bug.<br>><br>>     -Steve<br>><br>>     Zhonghai Wang wrote:<br>>      > Hi All,
<br>>      ><br>>      > with the shp2tile command, I get some strange results:<br>>      ><br>>      > data -- forests.shp (includes 9638 polygons) -- only used for example<br>>      ><br>>      > after performing the commands shp2tile, tile4ms and shptree, this
<br>>     time I<br>>      > perform additionally the command shptreevis for each shapefile,<br>>     and I<br>>      > get the quadtree views for the shapefiles. When I open the<br>>      > forest_quad.shp and overlay the tileindex_quad.shp on it with
<br>>     QGIS, the<br>>      > tileindex_quad.shp covers only a small part of the whole forest map<br>>      > extent, and the returned map image is rendered in the same way,<br>>     forest<br>>      > covers only a small part of the map extent.
<br>>      ><br>>      > P.S>I tile the shapefile without any additional parameters: shp2tile<br>>      > forests.shp ff.shp  --  it gives 2*2 tiling<br>>      ><br>>      > two pictures are enclosed in the attachment.
<br>>      ><br>>      > where:<br>>      > 1. quadtree.jpeg -- the quadtree shapefiles opened in QGIS;<br>>      > 2. map.jpeg -- map image rendered with TILEINDEX "tileindex" and<br>>      > TILEITEM "LOCATION";
<br>>      > 3. forest.jpeg -- forest area rendered with original forests.shp<br>>     file.<br>>      ><br>>      > thanks for any further info<br>>      ><br>>      > zhonghai<br>>      >
<br>>      > On 5/18/06, *Zhonghai Wang* < <a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">zhonghaiw@gmail.com</a><br>>     <mailto:<a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
zhonghaiw@gmail.com</a>><br>>      > <mailto: 
<a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">zhonghaiw@gmail.com</a> <mailto:<a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
zhonghaiw@gmail.com</a>>>> wrote:<br>>      ><br>>      >     Hi Steve,<br>>      ><br>
>      >     I've tried again like you said, this time I get something,<br>>     but still<br>>      >     no map images are rendered.<br>>      ><br>>      >     the version is exactly the same, updated version.
<br>>      ><br>>      >     First test example:<br>>      ><br>>      >     data -- admin.shp (administration area, which includes 5<br>>     polygons)<br>>      ><br>>      >     ****
<br>>      >     when performing shp2tile command, no parameters are set,  and by<br>>      >     default the shapefile is sliced into 2*2+1 shapefiles. With the<br>>      >     following layer object definition, map image is drawn:
<br>>      ><br>>      >     LAYER<br>>      >         NAME "administration"<br>>      >         GROUP "country"<br>>      >         STATUS DEFAULT<br>>      >         TILEINDEX "index"
<br>>      >         TILEITEM "LOCATION"<br>>      >         TYPE POLYGON<br>>      >         DEBUG ON<br>>      >         TRANSPARENCY ALPHA<br>>      >         CLASS<br>>      >           NAME "woodland"
<br>>      >           STYLE<br>>      >             COLOR 204 204 255<br>>      >             ANTIALIAS TRUE<br>>      >           END<br>>      >         END<br>>      >       END<br>

>      >     **********<br>>      >     Second test example:<br>>      ><br>>      >     data -- settlement.shp, which contains 2155664 polygons<br>>      ><br>>      >     ****<br>>      >     when performing shp2tile command for this shapefile, I set 10*10,
<br>>      >     each slice contians therefore about 21557 polygons. It's also ok<br>>      >     with tile4ms and shptree commands.<br>>      ><br>>      >     hm... seems exciting...<br>>      >
<br>>      >     but, with this layer object definition no settlements are drawn :<br>>      ><br>>      >     LAYER<br>>      >         NAME "Settlement"<br>>      >         GROUP "settlements"
<br>>      >         STATUS DEFAULT<br>>      >         TILEINDEX "settlementindex"<br>>      >         TILEITEM "LOCATION"<br>>      >         MAXSCALE 100000<br>>      >         TYPE POLYGON
<br>>      >         DEBUG ON<br>>      >         TRANSPARENCY ALPHA<br>>      >         CLASS<br>>      >           NAME "SM"<br>>      >           STYLE<br>>      >             COLOR 153 153 102
<br>>      >             ANTIALIAS TRUE<br>>      >           END<br>>      >         END<br>>      >       END<br>>      >     *****<br>>      >     I have now really no idea where the problems should be.
<br>>      ><br>>      >     Steve, any clues?<br>>      ><br>>      >     thanks for your info.<br>>      ><br>>      >     zhonghai<br>>      ><br>>      >     On 5/18/06, *Stephen Woodbridge* <
<a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">woodbri@swoodbridge.com</a><br>>     <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
woodbri@swoodbridge.com</a>><br>>      >     <mailto: <a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
woodbri@swoodbridge.com</a><br>>     <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">woodbri@swoodbridge.com</a>>>> wrote:<br>>      >
<br>>      >         Zhonghai Wang wrote:<br>>      >>  Hi guys,
<br>>      >><br>>      >>  I've tried to make a efficient map layer with the commands<br>>      >         shp2tile,<br>>      >>  tile4ms, and shptree, but something seems not right, because
<br>>      >         MapServer<br>>      >>  can not draw the maps. I've made a test in a seperate folder,<br>>      >         and I've<br>>      >>  done the following processes:<br>>      >>
<br>>      >>  ***<br>>      >>  data -- Forests.shp (for a country)<br>>      >>  ***<br>>      >>  1. >shp2tile -r 50 -c 50 Forests.shp Forests_Test.shp<br>>      >>  >>>results for this step: shp, shx, and dbf files, there is no
<br>>      >         prj file<br>>      >>  for the output file<br>>      >>  >>>error info on the console: failed to create shp<br>>      >         Forests_Test.shp -1833<br>>      >
<br>>      >         This is likely because you are trying to create 2501<br>>     files (50 x<br>>      >         50 + 1)<br>>      >         and they all half to be open at the same time for this<br>

>     mode so you<br>>      >         likely ran into a process file handle limit. Also how<br>>     many point<br>>      >         do you<br>>      >         have in this layer? What is the value of Num_points/2500,
<br>>     this<br>>      >         number<br>>      >         should not be smaller than 8000 - 10000.<br>>      ><br>>      >>  2. >tile4ms ---- get the tileindex.shx, tileindex.shp and<br>

>      >         tileindex.dbf<br>>      >>  files for the Forests_Test.shp, there is still no prj file for<br>>      >         tileindex.shp<br>>      >>  >>>no error messages appear at this step
<br>>      ><br>>      >         There are no prj files created. Mapserver does not use them.<br>>      ><br>>      >>  3. >shptree -- to genetare .qix file for all shapefiles in<br>>      >         this subfolder
<br>>      >>  >>> results for this step: Forests.qix, Forests_Test.qix, and<br>>      >         tileindex.qix<br>>      >>  >>>no error info on the console<br>>      >>
<br>
>      >>  but, only if I set DATA "Forests" in the layer object the map<br>>      >         will be<br>>      >>  rendered, others like DATA "Forests_Test" or TTILEINDEX<br>>      >         "tileindex"
<br>>      >>  TILEITEM "location" do not work, the server simply sends back<br>>      >         a blank<br>>      >>  image.<br>>      >><br>>      >>  did I make any mistakes or it really do not work well. (I am
<br>>      >         using MS4W<br>>      >>  4.8.1)<br>>      >><br>>      >>  I guess some errors occur when I perform the command shp2tile.<br>>      ><br>>      >         What version of shp2tile are you using?
<br>>      ><br>>      >         woodbri@carto:/data/mdata$ ~/dev/shptools/shp2tile -v<br>>      >         $Id: shp2tile.c,v 1.13 2005/12/05 22:38:08 woodbri Exp $<br>>      ><br>>      >         If it does not respond with the Id string above you need to
<br>>      >         upgrade as<br>>      >         there is a serious crashing bug for point data in the earlier<br>>      >         version if<br>>      >         you are using the -q option. It should work for the row col
<br>>      >         option, just<br>>      >         try to decrease the number of tiles.<br>>      ><br>>      >         Also if you do not have something like R x C files in<br>>     your directory
<br>>      >         then the process failed. For the row col option you can also<br>>      >         specify<br>>      >         --no-write to just get a stats report of how the data is put<br>>      >         into the tiles.
<br>>      ><br>>      >         -Steve<br>>      ><br>>      >>  thanks for any further info.<br>>      >><br>>      >>  zhonghai<br>>      >><br>>      >>  On 5/18/06, *Zhonghai Wang* < 
<a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">zhonghaiw@gmail.com</a><br>>     <mailto:<a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
zhonghaiw@gmail.com</a>><br>>      >         <mailto: <a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
zhonghaiw@gmail.com</a> <mailto:<a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">zhonghaiw@gmail.com</a>>><br>>      >>  <mailto:<a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
zhonghaiw@gmail.com</a> <mailto:<a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
zhonghaiw@gmail.com</a>><br>>     <mailto: <a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">zhonghaiw@gmail.com</a> <mailto:<a href="mailto:zhonghaiw@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
zhonghaiw@gmail.com</a>>>>> wrote:<br>>      >>
<br>>      >>     Hi Bob, Steve,<br>>      >><br>>      >>     thank you very much for all these helpful clues, now I<br>>      >         think I've<br>>      >>     got the points of the shp2tile command, it's really a good
<br>>      >         tool to<br>>      >>     slice shapefile.<br>>      >><br>>      >>     zhonghai<br>>      >><br>>      >>     On 5/18/06, *Stephen Woodbridge* < 
<a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">woodbri@swoodbridge.com</a><br>>     <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
woodbri@swoodbridge.com</a>><br>>      >         <mailto: <a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
woodbri@swoodbridge.com</a><br>>     <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">woodbri@swoodbridge.com</a>>><br>>      >>     <mailto: 
<a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">woodbri@swoodbridge.com
</a><br>>     <mailto:<a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">woodbri@swoodbridge.com</a>><br>>      >         <mailto: <a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
woodbri@swoodbridge.com</a><br>>     <mailto:
<a href="mailto:woodbri@swoodbridge.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">woodbri@swoodbridge.com</a>> >>> wrote:<br>>      >><br>>      >>         Zhonghai Wang wrote:
<br>>      >> >  Hi folks,<br>>      >> >
<br>>      >> >  I have a large shapefile, now I am trying to use shp2tile<br>>      >>         command to<br>>      >> >  slice it into pieces, with -r and -c is ok, but I do not fully<br>

>      >> >  understand the -q parameter, what does it actually mean? and<br>>      >>         what number<br>>      >> >  should a use for this parameter normally?<br>>      >> >
<br>>      >> >  or something like this? -- >shp2tile -q 10000 input_shapefile<br>>      >> >  output_shapefile<br>>      >><br>>      >>         Hi Zhonghai,<br>>      >>
<br>>      >>         The -r -c option breaks the extents of your shapefile<br>>      >         into R x C<br>>      >>         rows<br>>      >>         and columns and then tries to fit the objects into the best
<br>>      >>         tile. I any<br>>      >>         tile crosses a tile boundary by 5-10% then it is put<br>>      >         into a<br>>      >>         "supertile"<br>>      >>         the could be the same extents as the original shape
<br>>      >         file. So<br>>      >>         typically<br>>      >>         you will end up with r X c + 1 tiles.<br>>      >><br>>      >>         The -q N option splits the extents in half either
<br>>      >         vertically or<br>>      >>         horizontally and then sorts the objects into the 2<br>>      >         halves or put<br>>      >>         them in<br>>      >>         a supertile. Then if the either of the two halves has
<br>>      >         more than N<br>>      >>         objects it is again split in half and this continues<br>>      >         until all files<br>>      >>         have less than N objects. This can cause some strange
<br>>      >         effects<br>>      >>         like tiles<br>>      >>         with 1 or a small number of objects and most tiles will<br>>      >         have<br>>      >>         less than N
<br>>      >>         objects in them. Since this algorithm tends to<br>>      >         spatially cluster<br>>      >>         objects<br>>      >>         in a file, there is a good chance that if you need the
<br>>      >         file that<br>>      >>         all or<br>>      >>         most objects in the file will be used.<br>>      >><br>>      >>         I recommend trying numbers like 10,000 and 20,000 as
<br>>      >         you initial<br>>      >>         tries.<br>>      >>         I think you should probably not use numbers less then<br>>      >         8000, but<br>>      >>         it is
<br>>      >>         really up to you to try and measure the results to find<br>>      >         what<br>>      >>         works best<br>>      >>         for your data.<br>>      >>
<br>>      >>         -Steve W.<br>>      >><br>>      >><br>>      >><br>>      ><br>>      ><br>>      ><br>>      ><br>>      ><br>>     ------------------------------------------------------------------------
<br>>      ><br>>      ><br>>      ><br>>     ------------------------------------------------------------------------<br>><br>>      ><br>>      ><br>>      ><br>>     ------------------------------------------------------------------------
<br>>      ><br>><br>><br><br></blockquote></div><br>