• 大小: 166KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: WMS  服务器  

资源简介

自己实现的一个WMS服务器(web map service),实现了getmap和getcapability两个功能,程序运行之前用1.xml内容替换掉另一个xml的内容,运行后有两个按钮,一个是添加shapefile数据的按钮(添加数据后,图层名为shapefile名),一个是开启服务的按钮,端口是808。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace webSevice
{
    class DrawMap
    {
        public static void SetPoiClor(Bitmap MapToBeDrawed Point PT Color ColorForMap)
        {
            try
            {
                MapToBeDrawed.SetPixel(PT.X PT.Y ColorForMap);
            }
            catch (Exception ex)
            {
                throw new Exception(“像素设置颜色出错“ ex);
            }
        }
        public static void SetBack(Bitmap bmp)
        {
            Bitmap temp = new Bitmap(bmp);
            for (int i = 0; i < temp.Width; i++)
            {
                for (int j = 0; j < temp.Height; j++)
                {
                    bmp.SetPixel(i temp.Height - 1 - j temp.GetPixel(i j));
                }
            }
        }
        public static void DrawLine(Bitmap MapToBeDrawed Point ptStart Point ptEnd Color ColorForMap)
        {
            int deltX deltY;
            Point tempPt = new Point();//临时的点,用于划线算法中表示当前需要涂黑的点
            if (ptStart.X < ptEnd.X)
            {
                tempPt = new Point(ptStart.X ptStart.Y);
                deltX = ptEnd.X - ptStart.X;
                deltY = ptEnd.Y - ptStart.Y;
            }
            else
            {
                tempPt = new Point(ptEnd.X ptEnd.Y);
                deltX = -(ptEnd.X - ptStart.X);
                deltY = -(ptEnd.Y - ptStart.Y);
            }

            if (Math.Abs(deltX) >= Math.Abs(deltY))//x的步长比Y的长
            {
                int flagNum = Math.Abs(deltY) * 2 - deltX;//初始化判断符号
                for (int i = Math.Min(ptEnd.X ptStart.X) + 1; i <= Math.Max(ptEnd.X ptStart.X); i++)//通过循环实现算法的主要部分
                {
                    if (flagNum > 0)//交点的Y需要增加1
                    {
                        flagNum -= 2 * deltX;
                        if (deltY < 0)
                            tempPt.Y += -1;
                        else
                            tempPt.Y += 1;
                    }
                    flagNum += 2 * Math.Abs(deltY);
                    tempPt.X += 1;
                    SetPoiClor(MapToBeDrawed tempPt ColorForMap);
                    //this.DisGra.Refresh();
                }

            }
            else//Y的步长大于或等于X的步长
            {
                if (ptStart.Y < ptEnd.Y)
                {
                    tempPt = new Point(ptStart.X ptStart.Y);
                    deltX = ptEnd.X - ptStart.X;
                    deltY = ptEnd.Y - ptStart.Y;
                }
                else
                {
                    tempPt = new Point(ptEnd.X ptEnd.Y);
                    deltX = -(ptEnd.X - ptStart.X);
                    deltY = -(ptEnd.Y - ptStart.Y);
                }
                int flagNum = Math.Abs(deltX) * 2 - deltY;//初始化判断符号
                for (int i = Math.Min(ptEnd.Y ptStart.Y) + 1; i <= Math.Max(pt

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-11-27 21:56  webSevice\
     目录           0  2013-12-01 20:12  webSevice\webSevice\
     文件       16536  2013-12-01 21:38  webSevice\webSevice\DrawMap.cs
     文件        3367  2013-11-30 12:30  webSevice\webSevice\Form1.Designer.cs
     文件        7701  2013-12-02 10:49  webSevice\webSevice\Form1.cs
     文件        5817  2013-11-30 12:30  webSevice\webSevice\Form1.resx
     文件        1169  2013-11-27 20:15  webSevice\webSevice\Form2.Designer.cs
     文件         359  2013-11-27 20:15  webSevice\webSevice\Form2.cs
     文件        5817  2013-11-27 20:16  webSevice\webSevice\Form2.resx
     文件        2779  2013-12-01 20:31  webSevice\webSevice\GISservice.cs
     文件         490  2013-11-25 18:44  webSevice\webSevice\Program.cs
     文件        2888  2013-11-30 14:00  webSevice\webSevice\Projection.cs
     目录           0  2013-11-25 18:44  webSevice\webSevice\Properties\
     文件        1368  2013-11-25 18:44  webSevice\webSevice\Properties\AssemblyInfo.cs
     文件        2870  2013-11-25 18:44  webSevice\webSevice\Properties\Resources.Designer.cs
     文件        5612  2013-11-25 18:44  webSevice\webSevice\Properties\Resources.resx
     文件        1096  2013-11-25 18:44  webSevice\webSevice\Properties\Settings.Designer.cs
     文件         249  2013-11-25 18:44  webSevice\webSevice\Properties\Settings.settings
     目录           0  2013-11-25 18:44  webSevice\webSevice\bin\
     目录           0  2013-12-02 10:48  webSevice\webSevice\bin\Debug\
     文件     2087000  2013-11-29 17:48  webSevice\webSevice\bin\Debug\1.gif
     文件        3440  2013-11-16 16:14  webSevice\webSevice\bin\Debug\1.png
     文件        2638  2013-12-01 22:02  webSevice\webSevice\bin\Debug\1.xml
     文件        3543  2013-12-02 10:49  webSevice\webSevice\bin\Debug\initialxml.xml
     文件        1034  2013-12-01 21:30  webSevice\webSevice\bin\Debug\initialxml.zip
     文件        1032  2013-12-01 20:59  webSevice\webSevice\bin\Debug\initialxml1.zip
     文件       30208  2013-12-02 10:49  webSevice\webSevice\bin\Debug\webSevice.exe
     文件       85504  2013-12-02 10:49  webSevice\webSevice\bin\Debug\webSevice.pdb
     文件       11600  2013-12-02 11:05  webSevice\webSevice\bin\Debug\webSevice.vshost.exe
     文件         490  2012-06-06 02:06  webSevice\webSevice\bin\Debug\webSevice.vshost.exe.manifest
     文件        3100  2013-12-01 20:37  webSevice\webSevice\layerMaster.cs
............此处省略20个文件信息

评论

共有 条评论