[mapserver-dev] Beginning Mapserver & sql server 2008

Wesley wesmota at gmail.com
Wed Jul 1 11:11:58 EDT 2009


Hi Brent,

I've done this and my conclusions are:
 . I can't use the geography type with mapserver. When I use this
geometric type, i got an error:
   [Microsoft][ODBC SQL Server Driver][SQL Server]Operand type clash:
sys.geometry is    incompatible with sys.geography.

 . When i use the geometry type, if I put the srid= 4326, the map
doesn't show. Even when I put the project section on the map file.

. When i use the geometry type, without the srid (srid=0) it works.

Maybe there is a limitation in the code. For just to show the sql
server geometry on a map is fine, but I'll do some more test with it.

Thanks a lot for your help!


2009/7/1, Brent Fraser <bfraser at geoanalytic.com>:
> Wesley,
>
>    I'm not familiar with the spatial extensions to Sql Server, but the query
> looks reasonable.  Perhaps you could try a few modifications to the query to
> see
> if you can narrow down the cause of getting no results.  Something like:
>
> SELECT count(*) from poligonogeom;
>
> or
>
> SELECT geom.STAsText() from poligonogeom;
>
> or
>
> SELECT geom.STAsBinary() from poligonogeom
> WHERE geom.STIntersects( Geometry::STGeomFromText('POLYGON(-66 -25, -44 -25,
> -44
> -8, -66 -8, -66 -25)',0) ) = 1;
>
> or
>
> SELECT geom.STAsBinary() from poligonogeom
> WHERE geom.STIntersects( Geometry::STGeomFromText('POLYGON(-66 -25, -44 -25,
> -44
> -8, -66 -8, -66 -25)',4326) ) = 1;
>
> If this last one works, you may need to add
>      PROJECTION
>         "init=epsg:4326"
>      END
> to the MAP portion of your map file.
>
> Best Regards,
> Brent Fraser
>
>
>
> Wesley wrote:
>> Hi Brent,
>>
>> I've run the code and I've got the following answer:
>>
>> msLoadMap(): 0.016s
>> msMSSQL2008LayerOpen called datastatement: geom from poligonogeom
>> MSMSSQL2008LayerOpen -- shared connection not available.
>> msConnPoolRegister(Camada1,server=luzon2\sqlexpress;uid=sa;pwd=senha1234;database=TESTE;Integrated
>> Security=false,020111
>> 50)
>> msMSSQL2008LayerRetrievePK: query = SELECT     convert(varchar(50),
>> sys.columns.name) AS ColumnName, sys.indexes.name FR
>> OM         sys.columns INNER JOIN                      sys.indexes
>> INNER JOIN                      sys.tables ON sys.ind
>> exes.object_id = sys.tables.object_id INNER JOIN
>> sys.index_columns ON sys.indexes.object_id = sys.i
>> ndex_columns.object_id AND sys.indexes.index_id =
>> sys.index_columns.index_id ON                      sys.columns.object_
>> id = sys.index_columns.object_id AND sys.columns.column_id =
>> sys.index_columns.column_id WHERE     (sys.indexes.is_prima
>> ry_key = 1) AND (sys.tables.name = N'poligonogeom')
>> msMSSQL2008LayerParseData: unique column = geoid, srid='0',
>> geom_column_name = geom, table_name=poligonogeom
>> msMSSQL2008LayerFreeItemInfo called
>> msMSSQL2008LayerWhichShapes called
>> query_string_temp:SELECT geom.STAsBinary(),convert(varchar(20), geoid)
>> from poligonogeom WHERE geom.STIntersects(Geometr
>> y::STGeomFromText('POLYGON((-66 -25.2431077694236,-44
>> -25.2431077694236,-44 -8.75689223057644,-66 -8.75689223057644,-66
>> -25.2431077694236))',0)) = 1
>> msMSSQL2008LayerFreeItemInfo called
>> msMSSQL2008LayerClose datastatement: geom from poligonogeom
>> msConnPoolRelease(Camada1,server=luzon2\sqlexpress;uid=sa;pwd=senha1234;database=TESTE;Integrated
>> Security=false,0201115
>> 0)
>> msConnPoolClose(server=luzon2\sqlexpress;uid=sa;pwd=senha1234;database=TESTE;Integrated
>> Security=false,02011150)
>> msDrawMap(): Layer 0 (Camada1), 0.171s
>> msDrawMap(): Drawing Label Cache, 0.000s
>> msDrawMap() total time: 0.171s
>> msSaveImage() total time: 0.000s
>> msFreeMap(): freeing map at 0187A510.
>> msMSSQL2008LayerClose datastatement: geom from poligonogeom
>> msMSSQL2008LayerClose -- layerinfo is  NULL
>> freeLayer(): freeing layer at 01F74160.
>> shp2img total time: 0.203s
>>
>>
>> When I run the query_string_temp:
>>
>> query_string_temp:SELECT geom.STAsBinary(),convert(varchar(20), geoid)
>> from poligonogeom WHERE geom.STIntersects(Geometr
>> y::STGeomFromText('POLYGON((-66 -25.2431077694236,-44
>> -25.2431077694236,-44 -8.75689223057644,-66 -8.75689223057644,-66
>> -25.2431077694236))',0)) = 1
>>
>> I got no results.
>>
>>
>>
>> 2009/6/30, Brent Fraser <bfraser at geoanalytic.com>:
>>> Wesley,
>>>
>>>    Try setting:
>>>
>>>     IMAGEURL "/ms_tmp/"
>>>
>>>
>>> And to test the rest of your map file, you may want to try Mapserver's
>>> command-line companion tool shp2img (ms4w puts it in
>>> \ms4w\Apache\cgi-bin):
>>>
>>>       shp2img -all_debug 5 -m mymapfile.map -o test.gif
>>>
>>> Best Regards,
>>> Brent Fraser
>>>
>>>
>>> Wesley wrote:
>>>> Hi all,
>>>>
>>>> It's my first time with mapserver, and I'm trying to use a map file
>>>> connected with sql server 2008. Mapserver is generating a blank image.
>>>> I think there is something wrong with my map file below.
>>>> Do you have any examples or tutorial about it?
>>>>
>>>> Thanks,
>>>> __________________________________________________________
>>>>
>>>>
>>>> MAP
>>>>  NAME "sample"
>>>>  STATUS ON
>>>>  SIZE 400 300
>>>>  IMAGETYPE gif
>>>>  EXTENT -66.00 -22.00 -44.00 -9.00
>>>>  UNITS DD
>>>>
>>>> #
>>>> # Start of web interface definition
>>>> #
>>>>  WEB
>>>>     TEMPLATE "D:\ms4w\Apache\htdocs\testesql.html"
>>>>     IMAGEPATH "D:\ms4w\tmp\ms_tmp\"
>>>>     IMAGEURL "/tmp/"
>>>>  END
>>>>
>>>>  LAYER
>>>>
>>>>   NAME "Camada1"
>>>>
>>>>   CONNECTIONTYPE PLUGIN
>>>>   PLUGIN "D:\ms4w\plugins\msplugin_mssql2008.dll"
>>>>
>>>>   CONNECTION
>>>> "server=luzon2\sqlexpress;uid=sa;pwd=senha1234;database=TESTE;Integrated
>>>> Security=false"
>>>>
>>>>   DATA "geom from lixo"
>>>>   TYPE POLYGON
>>>>
>>>>   STATUS ON
>>>>
>>>>    PROJECTION
>>>>       "init=epsg:4326"
>>>>    END
>>>>
>>>>    CLASS
>>>>      STYLE
>>>>        COLOR 0 0 255
>>>>        WIDTH 8
>>>>      END
>>>>    END
>>>>
>>>>  END
>>>>
>>>> END
>>>> _______________________________________________
>>>> mapserver-dev mailing list
>>>> mapserver-dev at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>>>>
>>
>


More information about the mapserver-dev mailing list