[mapserver-dev] Projections and CONFIG file in MapServer 8.0
Jeff McKenna
jmckenna at gatewaygeomatics.com
Wed Jul 6 16:27:47 PDT 2022
I can dream of a 'PROJ_LIB_LOCATION_PRIORITY' setting in the MapServer
.conf file:
1 : use .conf setting
2 : use setting inside your .mapfile or .include
3 : use setting from Web Server (Apache conf, etc.)
4 : use setting at the System environment level [warning to Windows
Server admins, this is problematic on some systems in several ways:
often not found, or conflicts with other FOSS4G software settings for PROJ]
Or, the old rule applies here: 'never send an important email after 6pm' ha!
Thanks for listening,
-jeff
On 2022-07-06 8:12 p.m., Jeff McKenna wrote:
> Ok thanks Steve, but can you be more specific regarding 'local setting'?
> On Windows each FOSS4G software has its own PROJ instance/version and
> its own PROJ_LIB variable (yes it's complete disaster, waiting to
> happen). So where does the mapfile's PROJ_LIB setting, and then the
> System environment variable fit into your 3 ?
>
> Thanks,
>
> -jeff
>
>
>
> On 2022-07-06 6:44 p.m., Steve Lime wrote:
>> I understand your logic and would agree for most things. However, one
>> benefit of the config file is to allow admins to lock things down -
>> especially items like environment variable settings that tell
>> MapServer to load code. Hence my original response, so 1) config file,
>> 2) web server environment, 3) local setting.
>>
>> --Steve
>>
>> On Wed, Jul 6, 2022 at 4:05 PM Jeff McKenna
>> <jmckenna at gatewaygeomatics.com <mailto:jmckenna at gatewaygeomatics.com>>
>> wrote:
>>
>> Oh don't forget PostGIS' use of that same variable (that's where I
>> hit
>> this on servers constantly).
>>
>> So, my point is, that the only way we can avoid all this
>> "environment"
>> variable chaos is first always use the local mapfile setting, then
>> look
>> for .conf, and if neither has this, check the other sources.
>>
>> -jeff
>>
>>
>>
>> On 2022-07-06 6:01 p.m., Jeff McKenna wrote:
>> > I think we have several possibilities: environment var (system
>> > variable), web server environment variable (Apache config),
>> MapServer
>> > .conf, and local mapfile setting.
>> >
>> > I would say that the local mapfile should always be used first by
>> > MapServer, in this order:
>> >
>> > - check mapfile setting,
>> > - if not found, check for MapServer .conf setting,
>> > - if not found, check for web server setting
>> > - if not found, check for system environment variable
>> > - ...else, battle for superiority with the other PROJ_LIB
>> settings by
>> > the other FOSS4G software on that container
>> >
>> > Notes:
>> >
>> > - this shared PROJ_LIB issue is not just for MapServer, but is
>> faced by
>> > all FOSS4G projects that share this variable. On Windows servers
>> now it
>> > is common for me to have several PROJ_LIB settings, one for each
>> FOSS4G
>> > software that depends on (depends on that PROJ version for that
>> > software), such as QGIS, GDAL, MapServer, etc. etc. Meaning: f
>> you need
>> > a job run for one software, enable that specific PROJ_LIB.
>> >
>> > It's fun :)
>> >
>> > -jeff
>> >
>> >
>> >
>> >
>> >
>> > On 2022-07-06 5:49 p.m., Steve Lime wrote:
>> >> This could/would have been the case in past versions as well,
>> right?
>> >> So I don't think this is a new issue. IMHO I'd think central
>> config
>> >> settings should trump local settings for something like this.
>> >>
>> >> On Wed, Jul 6, 2022 at 2:40 PM Seth G <sethg at geographika.co.uk
>> <mailto:sethg at geographika.co.uk>
>> >> <mailto:sethg at geographika.co.uk
>> <mailto:sethg at geographika.co.uk>>> wrote:
>> >>
>> >> Hi all,
>> >>
>> >> Using MapServer 8.0 beta and FastCGI (on Windows) I'm
>> running into
>> >> an issue where the PROJ_LIB setting is sometimes set by the
>> value in
>> >> the CONFIG file and sometimes by the setting in the Mapfile:
>> >>
>> >> CONFIG
>> >> ENV
>> >> MS_MAP_PATTERN "."
>> >> PROJ_LIB "C:/MapServer/bin/proj7/share" #proj7
>> >> END
>> >> END
>> >>
>> >> Then in a Mapfile:
>> >>
>> >> CONFIG "PROJ_LIB" "C:/MapServer/bin/proj/SHARE" # uses proj6
>> >>
>> >> Requests will use one PROJ setting then switch to another
>> seemingly
>> >> at random.
>> >> Should one always take precedence over the other?
>> >>
>> >> Seth
>> >>
>> >> --
>> >> web:https://geographika.net <https://geographika.net>
>> <https://geographika.net <https://geographika.net>>
>> >> twitter: @geographika
>> >
>>
> _______________________________________________
> MapServer-dev mailing list
> MapServer-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/mapserver-dev
--
Jeff McKenna
GatewayGeo: Developers of MS4W, MapServer Consulting and Training
co-founder of FOSS4G
http://gatewaygeo.com/
More information about the MapServer-dev
mailing list