Rasters, TileIndex and Shapefiles - Oh My! Really Confused

Christopher Harris docterrobert at MSN.COM
Thu Sep 27 15:23:49 EDT 2007


Great!  Ok.  Well, it looks like you've armed me with enough info to take over the world - at least on my computer screen.  You've cleared up a lot of mysteries that I've had thus far.  I'm going to go apply all this and see what explodes and doesn't explode.  I do have one problem I can think of with the app that I already had created, but I'll wait to see if it goes away after I apply all of this helpful info.  I don't think it will.  I'm pretty sure it involves how I'm setting up my extents (Markers are always a few hundred yards off and each marker that is located further north rotates north and east following a circular counter-clockwise pattern).  But, don't worry about that now.  I'll try and figure it out.  

Thanks, Ed.  You are a very patient man and very nice too.  Sorry it took a while for me to see the light, but I usually learn best when seeing examples, diagrams, pictures, etc.  So, typically I'll have to draw or write stuff out to get the idea.  I'm more of a visual person when it comes to memory.

 - Chris

Date: Thu, 27 Sep 2007 15:03:47 -0400
From: ed at TOPOZONE.COM
Subject: Re: [UMN_MAPSERVER-USERS] Rasters, TileIndex and Shapefiles - Oh My!  Really Confused
To: MAPSERVER-USERS at LISTS.UMN.EDU


























Chris –

 

In my previous message (quoted below), I
said:

 

#3 "The X pixel
dimension will be (maxx – minx) / xpixels, and the Y will be (miny – maxy) /
ypixels.  You should find that the X number is -1 times the Y number."

 

And that is correct.  Maxx IS the “greatest
number in lat/lon or meters”, etc.  Maxx – minx will be a positive number, and
miny – maxy (note that they’re reversed) will be a negative number.

 

-         
Ed

 

Ed
 McNierney

TopoZone.com

 









From: UMN MapServer
Users List [mailto:MAPSERVER-USERS at LISTS.UMN.EDU] On Behalf Of Christopher Harris

Sent: Thursday, September 27, 2007
11:49 AM

To: MAPSERVER-USERS at LISTS.UMN.EDU

Subject: Re: [UMN_MAPSERVER-USERS]
Rasters, TileIndex and Shapefiles - Oh My! Really Confused



 

Ok.....sorry it's taken me a while to post again.  Got
caught up with something else.

Considering the info and dimensions I have right now pending on what you say
about how I got those tiled images.



In Lat/Lon:

TL - lat = 40.117268

       lon = -88.248281



BR - lat = 40.082274

        lon = -88.205980



In Pixels:

Image Width = 2602

Image Height = 2800



X pixel dimension:

(-88.205980)-(-88.248281)              
0.042301

________________________     =   
_____________   =   0.000016257  



             
2602              
                 
      2602



Y pixel dimension:

    40.082277-40.117268        
       -0.034991

________________________    =   
_____________    =  -0.000012497



                
2800              
        
           2800



Yeah, I see how I reversed them.  I was thinking max was the greatest
number in lat/lon or meters and not in regard to the image and its coordinate
system.  With the numbers provided so far, his should be right - right?



 - Chris







Subject: RE: [UMN_MAPSERVER-USERS]
Rasters, TileIndex and Shapefiles - Oh My! Really Confused

Date: Wed, 26 Sep 2007 18:25:52 -0400

From: ed at topozone.com

To: docterrobert at msn.com; MAPSERVER-USERS at LISTS.UMN.EDU



Chris –

 

(I added the list back to the reply line –
please always reply to the whole list – thanks)

 

A world file is in the units of the
image’s projection, not the other way around.  Having a world file does
not mean the image is in UTM projection.  The UTM projection is a popular
one, but it’s certainly not the only one.  For a map in Illinois UTM is
certainly a possibility, but an Illinois State Plane Coordinate System
projection is also a possibility – especially if the original imagery came from
the State of Illinois.  And geographic lat/lon coordinates are also a
possibility due to the increasing number of people in the world who seem to
think the Earth is flat (at least on the Web).

 

I don’t know which campus you’re using,
but if you’re at UIUC then the UTM coordinates will be in UTM Zone 16 with
values of around 395000 (X or Easting)  4440000 (Y or Northing).  If
your numbers don’t look like those, they’re not UTM.

 

Oh, sorry – I started answering before
reading all the questions, and you later seem to confirm that your coordinates
are indeed UTM.  But you got the formulas backwards, and X should be
positive while Y should be negative- not the other way around.  And the
measurements in your world file are indeed in meters, but that’s because those
are the native units of the UTM projection being used.  There’s nothing
that requires them to be in meters; many US state plane coordinate systems
use units of feet, and those would appear in the world file, too.

 

Now it is highly unlikely that your pixel
resolution is different in each dimension.  You could average those two
numbers, or double-check your coordinate values (you didn’t say what source you
used to get them).  If you got this image from a GIS source, I would say
that if you think the dimensions are different you’re wrong, but who knows what
the University did to munge the image into a pretty picture.  So maybe the
dimensions ARE different; that’s not impossible, just odd.  I still would
double-check your measurements and math, but if you get the same answer that’s
OK.

 

Once you do that you just have to crank
out those world files!

 

-         
Ed

 

Ed
 McNierney

TopoZone.com

 









From: Christopher
Harris [mailto:docterrobert at msn.com] 

Sent: Wednesday, September 26,
2007 1:13 PM

To: Ed
 McNierney

Subject: RE: [UMN_MAPSERVER-USERS]
Rasters, TileIndex and Shapefiles - Oh My! Really Confused



 

Wow.  Thanks Ed.  You went to a lot of
trouble.  Most of this stuff you've explained I have a handle on.  I
wikipedia'd how to make a world file when I did that previous app.  And
yes, it's the same app with the image that's in UTM projection.  I
actually have one last question about that, but I'll do a separate post for
that.  This is a modification of that app.  See, I've been using this
"Parking Lot" map for the University
 of Illinois, because I
couldn't find a better looking one.  Well, yesterday, I noticed that you
could go their full campus map and right click on each individual tile and save
it as a .gif.  I had tried this before but was apparently clicking on
certain, wrong areas of each tile every time where I guess the javascript was
blocking me.  The javascript that they use displays info on certain
buildings when you click on them.  If you happen to right-click on or
around a building and try to save, you can't.  You have to click somewhere
else on the tile that's on or around a building.  Anywho - my boss now
wants me to take what I've done with that one pic of  the "Parking
Lot" and now apply it to a big tiled image of the entire campus (enter the
tiles I've saved).  That's the back story as to what's going on.



I have 3 questions now.



#1 You asked if the image is in UTM.  I'm basing the image projection on
the world file.  I remember you (or maybe this one other guy on this list
serv) telling me before that you can't distinguish what projection a world file
is in - that that's one of the cons to world files.  Every example I've
ever seen after typing in "World File" in Google shows a world file
that is in meters and says that it's using UTM projection.  That's still
the case right?



Oh, the lat/lon has to do with me reprojecting.  See, someone passes me a
lat/lon coordinate (a center point).  I then take that, and convert it to
UTM, because the map's projection is in UTM due to the world file being in UTM.



Thanks for your time and patience by the way.  You've been a huge help.



#2 The one thing I'm hazy on in regard to the world file is: 

the 1st and 4th line - pixel size in the x-direction
and y-direction in map units/pixel



I understand why x is positive and y is almost always negative.  But, does
that mean, for example, 

if I type 2 for the 1st line and -2 for the fourth line, then there will be 2
meters per pixel going both directions?  For that I could never find an
example of what they meant.  I just assumed that.  I usually work best
with seeing an example, and one was never provided on any of the pages I
visited.



#3 "The X pixel dimension will be (maxx
– minx) / xpixels, and the Y will be (miny – maxy) / ypixels.  You should
find that the X number is -1 times the Y number."



Is pixel dimension related to question #2?  For instance (in meters):



TL - 393898 4441379 BR - 396253 4438945



maxx=393898, maxy=4441379

minx=396253, miny=4438945



DeltaX=-2355, DeltaY=2434



Say the mosaic's dimensions in pixels are.........: X=1500, Y=2000



X pixel dimension = -2355/1500 = -1.57 meters/pixel

Y pixel dimension = 2434/2000 = 1.217 meters/pixel



That right?



 - Chris







Subject: RE: [UMN_MAPSERVER-USERS]
Rasters, TileIndex and Shapefiles - Oh My! Really Confused

Date: Wed, 26 Sep 2007 14:45:54 -0400

From: ed at topozone.com

To: docterrobert at MSN.COM; MAPSERVER-USERS at LISTS.UMN.EDU



Chris –

 

OK – it’s not as bad as all that – don’t
fire up Photoshop yet.  If you have a set of tiles which together create a
seamless large image, and those tiles are of a regular size and shape, don’t
bother pasting them together.

 

Each world file has six numbers in it, two
of which will be 0.  For each image tile you need a world file that
contains the X/Y coordinates of the upper left pixel of the image (two
numbers), and the dimension (size) of each pixel in X (one number) and Y (one
number) units.  In the vast majority of cases the last two numbers will be
identical except for sign (the Y value is normally a negative number since Y
values decrease as you go from the top to the bottom of the image).

 

If your images make a rectangle when
pasted together, just treat them as one.  Find the X/Y coordinates of the
upper left corner of the entire image area, and the X/Y coordinates of the
lower right corner of the entire image area.  Find the size of the entire
mosaiced rectangle in X and Y pixels.  The X pixel dimension will be (maxx
– minx) / xpixels, and the Y will be (miny – maxy) / ypixels.  You should
find that the X number is -1 times the Y number.

 

For all your world files, these two X and
Y extent values (the first and fourth lines) will be constants.  The last
two lines are the upper left X and Y coordinates of each tile.  Your tiles
will all have the same Y value across each row, and the same X value down each
column.  You know what the upper-left corner of the upper-left tile is,
because you measured it.  You know the number of X pixels in each tile and
the number of Y pixels in each tile, and you now know the size in X and Y units
of each pixel, so you know the extent of each image tile in X and Y units, so
you can calculate the upper-left corner coordinate of the image to the right
and the image below.  Repeat until complete.

 

All your measurements need to be done in
the units of the image’s coordinate system.  Is this the image you were
asking about earlier that’s in UTM projection?  If so, you need UTM
coordinates, NOT lat/lon.  I wouldn’t recommend Google Earth as a very
accurate way to do that, but if it’s close enough for you and easy that’s OK. 
If you can easily find the corners of your image area on a topo map you can do
it on TopoZone and get UTM coordinates accurate to within a few meters just by
clicking on the spots that match the corner points of your image.

 

If there isn’t an obvious landmark at the
corner, you can pick a prominent location NEAR the corner and just measure the
number of pixels away from the corner it is.  It’s just a bit more
bookkeeping but does the same thing.

 

-         
Ed

 

Ed
 McNierney

TopoZone.com

 









From: UMN MapServer
Users List [mailto:MAPSERVER-USERS at LISTS.UMN.EDU] On Behalf Of Christopher Harris

Sent: Wednesday, September 26,
2007 11:15 AM

To: MAPSERVER-USERS at LISTS.UMN.EDU

Subject: Re: [UMN_MAPSERVER-USERS]
Rasters, TileIndex and Shapefiles - Oh My! Really Confused



 

Thanks again, Ed.  I need to clear up some things that
I guess I didn't make clear.



I know that a world file provides georeferencing.  I meant to say that I
had a .gif that had no georeferencing info associated with it, and then added
one.  From there I got my initial app to work (displaying the big map).



One thing I omitted was that the little .gifs (tiles), when assembled, make up
a different big map pic then the one where mentioned :

“it uses one .gif (the big map pic),
attaches the big map to the globe via a world file.  That big map .gif had
no georeferencing info attached to it."

Before I had a pic of a large section of a college
campus.  Now I have a pic of the entire campus, but in little tiles.

I know Mapserver makes maps and not pics too.  I probably
just worded something wrong.

"So – what do you know about these
images?  Do you really have a world file that correctly describes your big
GIF image?  Do you know exactly how the little images were created from
the big image?  If so, you should be able to figure out how to generate
world files for each individual image.  If not, you’ll need to get that
information for your big image."



Yes, I have a world file, but it's for the pic
that shows a large section of the campus - not for the big pic that is the sum
of the little pics.





Ok, so then I have to have a world file for every little tile, but before that
I need to correctly set up the world file for the big pic, which I guess I'll
need to assemble in Photoshop.  Does that sound right?  I can do it, it's
just a bit tedious lining up the tiles and such.  Also, how do you
correctly align a pic of some map on the globe.  I've been using Google
Maps to do it.  I'll sit there and study where the pic's corners should
approximately be, then get the lat/lon from that (clicking directions to or
from will yield the lat/lons).



Thank you.



 - Chris  







Subject: RE: [UMN_MAPSERVER-USERS]
Rasters, TileIndex and Shapefiles - Oh My! Really Confused

Date: Wed, 26 Sep 2007 13:36:42 -0400

From: ed at topozone.com

To: docterrobert at MSN.COM; MAPSERVER-USERS at LISTS.UMN.EDU



Chris –

 

Let me suggest you try to get unconfused
just one step at a time!

 

“it uses one .gif (the big map pic),
attaches the big map to the globe via a world file.  That big map .gif had
no georeferencing info attached to it.”

 

That’s a bit of a contradiction.  A
world file is one way of providing georeferencing.  If you’ve got an image
“attached” to the Earth via a world file, you’ve georeferenced it.

 

MapServer makes maps, not pictures. 
One of the chief differences is that a map has geographic location information
associated with it.  When you ask MapServer to generate a map for you, you
need to tell it the location of the map you want in some coordinate
system.  In order for MapServer to know which of your GIF images to use in
making the output map, it needs to know the geographic location of each of
those images.  Otherwise it couldn’t figure out which ones to use.

 

A TILEINDEX is step two in the
process.  Once you have a set of more than 1 properly georeferenced images
that you’d like to use like a single logical image, you can create a TILEINDEX
to do that.  But you have to completely and correctly make it through step
one first.  Once you get the individual images properly georeferenced,
gdaltindex will just work.

 

So – what do you know about these
images?  Do you really have a world file that correctly describes your big
GIF image?  Do you know exactly how the little images were created from
the big image?  If so, you should be able to figure out how to generate
world files for each individual image.  If not, you’ll need to get that
information for your big image.

 

If you do have that world file and know
how the tiles were created, let us know (you can post the world file in your
reply – it’s just six lines of text).

 

-         
Ed

 

Ed
 McNierney

TopoZone.com

 

 









From: UMN MapServer
Users List [mailto:MAPSERVER-USERS at LISTS.UMN.EDU] On Behalf Of Christopher Harris

Sent: Wednesday, September 26, 2007
10:02 AM

To: MAPSERVER-USERS at LISTS.UMN.EDU

Subject: [UMN_MAPSERVER-USERS]
Rasters, TileIndex and Shapefiles - Oh My! Really Confused



 

Hi.  I have a map that is
broken up into a bunch of .gif tiles.  I want to display them on a layer
in Mapserver.  I have working version of what I want to accomplish, but it
uses one .gif (the big map pic), attaches the big map to the globe via a world
file.  That big map .gif had no georeferencing info attached to it.



These .gifs have no georeferencing information included or attached as well.



I read Section 4 (and Section 9 too) on the mapserver site page:
http://mapserver.gis.umn.edu/docs/howto/raster_data





More information about the mapserver-users mailing list