前提条件是安装了Mapserver for Windows ms4w 软件包中已经包含
1. 设置环境变量
set GDAL_DATA=\ms4w\gdaldata
path=%path%;\ms4w\tools\gdal-ogr;\ms4w\Apache\cgi-bin
设置坐标系,EPSG:90013
在Dos下执行这个命令:
echo ^<900913^> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs ^<^> >> \ms4w\proj\nad\epsg
2. 转换Arcgis 的 SHP 文件(用ogr2ogr实现)
G:\>ogr2ogr
Usage: ogr2ogr [--help-general] [-skipfailures] [-append] [-update]
[-select field_list] [-where restricted_where]
[-sql <sql statement>]
[-spat xmin ymin xmax ymax] [-preserve_fid] [-fid FID]
[-a_srs srs_def] [-t_srs srs_def] [-s_srs srs_def]
[-f format_name] [-overwrite] [[-dsco NAME=VALUE] ...]
dst_datasource_name src_datasource_name
[-lco NAME=VALUE] [-nln name] [-nlt type] [layer [layer ...]]
可以用ogrinfo 查看shp 信息
F:\ms4w\apps\webgis\data2>ogrinfo -summary . rivers_region
INFO: Open of `.'
using driver `ESRI Shapefile' successful.
Layer name: rivers_region
Geometry: Polygon
Feature Count: 8370
Extent: (112.980256, 22.538197) - (114.054200, 23.923092)
Layer SRS WKT:
GEOGCS["Lat Long WGS84",
DATUM["WGS84",
SPHEROID["World_Geodetic_System_of_1984",6378137,298.257223563]],
PRIMEM["Greenwich",0],
UNIT["Degree",0.017453292519943295]]
序号: String (10.0)
编号: String (10.0)
名称: String (30.0)
类型: String (15.0)
LAT_HI: Real (10.6)
LONG_HI: Real (11.6)
LAT_LOW: Real (10.6)
LONG_LOW: Real (11.6)
现在是LonLat的坐标系,下面我们来转换:
命令格式:
ogr2ogr -t_srs EPSG:900913 <to_file.shp> <from_shape_file.shp>
>ogr2ogr -t_srs EPSG:900913 out_river.shp rivers_region.shp
执行后得到的结果是:
F:\ms4w\apps\webgis\data2>ogrinfo -summary . out_river
INFO: Open of `.'
using driver `ESRI Shapefile' successful.
Layer name: out_river
Geometry: Polygon
Feature Count: 8370
Extent: (12576904.567614, 2576266.091130) - (12696455.466834, 2744039.331212)
Layer SRS WKT:
PROJCS["Google Maps Global Mercator",
GEOGCS["GCS_WGS_1984",
DATUM["WGS_1984",
SPHEROID["WGS_1984",6378137,298.257223563]],
PRIMEM["Greenwich",0],
UNIT["Degree",0.017453292519943295]],
PROJECTION["Mercator_2SP"],
PARAMETER["standard_parallel_1",0],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",0],
PARAMETER["false_easting",0],
PARAMETER["false_northing",0],
UNIT["Meter",1],
EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0
x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"]]
序号: String (10.0)
编号: String (10.0)
名称: String (30.0)
类型: String (15.0)
LAT_HI: Real (10.6)
LONG_HI: Real (11.6)
LAT_LOW: Real (10.6)
LONG_LOW: Real (11.6)
3.Raster 文件的转换方式。
Raster 文件通过是用GeoTiff的格式,中间包含了地理信息。
命令格式:
gdalwarp -s_srs EPSG:4326 -t_srs EPSG:900913 <from_file.tif> <to_file.tif>
先查看一下图片信息:
F:\ms4w\apps\webgis\data2>gdalinfo fg-900.TIF
Warning 1: TIFFFetchNormalTag:ASCII value for tag "Software" does not end in nul
l byte
Driver: GTiff/GeoTIFF
Files: fg-900.TIF
Size is 2058, 1756
Coordinate System is `'
Origin = (113.204516152319740,23.234743614544065)
Pixel Size = (0.000121859844067,-0.000121859844067)
Metadata:
TIFFTAG_SOFTWARE=
TIFFTAG_XRESOLUTION=300
TIFFTAG_YRESOLUTION=300
TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
Image Structure Metadata:
INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 113.2045162, 23.2347436)
Lower Left ( 113.2045162, 23.0207577)
Upper Right ( 113.4553037, 23.2347436)
Lower Right ( 113.4553037, 23.0207577)
Center ( 113.3299099, 23.1277507)
Band 1 Block=2058x3 Type=Byte, ColorInterp=Palette
Color Table (RGB with 256 entries)
0: 0,0,0,255
1: 128,0,0,255
2: 0,128,0,255
3: 128,128,0,255
4: 0,0,128,255
5: 128,0,128,255
6: 0,128,128,255
执行转换命令:
F:\ms4w\apps\webgis\data2>gdalwarp -s_srs EPSG:4326 -t_srs EPSG:900913 fg-900.TI
F fg-900-n.TIF
Warning 1: TIFFFetchNormalTag:ASCII value for tag "Software" does not end in nul
l byte
Copying color table from fg-900.TIF to new file.
Creating output file that is 1983P x 1840L.
Warning 1: TIFFFetchNormalTag:ASCII value for tag "Software" does not end in nul
l byte
Processing input file fg-900.TIF.
0...10...20...30...40...50...60...70...80...90...100 - done.
执行完成后,我们再检查一下:
F:\ms4w\apps\webgis\data2>gdalinfo fg-900-n.TIF
Driver: GTiff/GeoTIFF
Files: fg-900-n.TIF
Size is 1983, 1840
Coordinate System is:
PROJCS["Google Maps Global Mercator",
GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.2572235630016,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]],
PROJECTION["Mercator_1SP"],
PARAMETER["central_meridian",0],
PARAMETER["scale_factor",1],
PARAMETER["false_easting",0],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]]]
Origin = (12601869.093575137000000,2660431.700036020900000)
Pixel Size = (14.077025171240757,-14.077025171240757)
Metadata:
AREA_OR_POINT=Area
Image Structure Metadata:
INTERLEAVE=BAND
Corner Coordinates:
Upper Left (12601869.094, 2660431.700) (113d12'16.26"E, 23d22'28.38"N)
Lower Left (12601869.094, 2634529.974) (113d12'16.26"E, 23d 9'34.49"N)
Upper Right (12629783.834, 2660431.700) (113d27'19.00"E, 23d22'28.38"N)
Lower Right (12629783.834, 2634529.974) (113d27'19.00"E, 23d 9'34.49"N)
Center (12615826.464, 2647480.837) (113d19'47.63"E, 23d16'1.59"N)
Band 1 Block=1983x4 Type=Byte, ColorInterp=Palette
Color Table (RGB with 256 entries)
0: 0,0,0,255
1: 128,0,0,255
2: 0,128,0,255
3: 128,128,0,255
4: 0,0,128,255
5: 128,0,128,255
END.
分享到:
相关推荐
我是为了将EPSG:4326坐标转换成EPSG:900913坐标,找到的工具,然后添加了两者之间的转换方式! 使用方式: private static Projection proj = ProjectionFactory .getNamedPROJ4CoordinateSystem("epsg:900913");...
在使用 Proj4js 实现客户端坐标转换时,我们需要了解 EPSG:900913 投影坐标系的详细参数,以便正确地进行坐标转换。同时,我们也需要了解 WGS84 坐标系的详细参数,以便正确地将 WGS84 坐标系下的坐标转换为 EPSG:...
2. EPSG:4326:这是WGS84坐标系的一种表示方式,它定义了经度和纬度的顺序和单位,通常用于地理信息系统(GIS)中。 3. Web Mercator(Web墨卡托):这是一种投影坐标系,常用于Web地图服务,如Google Maps和Bing ...
GPS设备通常采用WGS84坐标系统,而谷歌地图则使用自己的Web Mercator投影(也称为EPSG:900913或EPSG:3857),这是一种横轴墨卡托投影。由于两者之间存在差异,如果不进行转换,GPS数据在谷歌地图上显示的位置将会...
坐标系转换需要的资源
与EPSG编码系统紧密关联,负责将地理位置从一个坐标系转换到另一个。 4. `zlib.dll`:ZLIB是一个广泛使用的数据压缩库,GDAL使用它来处理数据的压缩和解压缩,以减少存储需求和提高传输效率。 5. `srsdata`:这个...
地理2epsg描述提供来自地理坐标的有效 EPSG 代码。 目前仅支持 WGS 84和 UTM。安装 npm install geo2epsg 设置 var Geo2EPSG = require ( 'geo2espg' ) ;var geo2espg = new Geo2EPSG ( ) ;用法十进制度度 分 秒学分...
接下来,我们创建了一个`extent`对象,表示EPSG:27700投影的地理范围,将其从EPSG:4326转换为EPSG:3857。这有助于限制地图的可视范围,确保只显示与所选投影相关的地理区域。 在创建OpenLayers的`map`实例时,我们...
- **实例化与方法** - 实例化投影对象:`var projection = new OpenLayers.Projection('EPSG:4326', {});` - 方法: - `getCode`: 获取投影code。 - `getUnits`: 获取投影单位,可能是“度”或“米”。 - `...
每个EPSG编号代表一种特定的坐标系或投影方法,比如常见的WGS84(EPSG:4326)和UTM(例如EPSG:32611)。这些编码使得不同系统间的数据交换变得标准化,避免了混淆和不一致。 文件中的“坐标系对应EPSG代号”部分,...
例如,当你从在线地图服务下载数据时,它们通常以Web Mercator(WKID 102113或3857)格式提供,而如果你需要与GPS设备或其他地理信息系统进行数据交换,可能需要转换成WGS 84(WKID 4326)。 在提供的资料《WKID....
2. `displayProjection`:这个属性定义了用户界面显示的坐标系,通常用于将地图上的坐标转换为人类可读的形式,这里仍然是“EPSG:4326”。 3. `units`:定义地图的单位,此处设置为“km”,意味着地图上的距离将以...
EPSG 编号是一个四位或五位的数字,比如常见的 WGS84 坐标系对应的 EPSG 编号是 4326,UTM 坐标系则有多个 EPSG 编号,如 UTM 区域 35N 的 EPSG 编号为 32635。每个 EPSG 编号代表一个特定的投影方式、参考椭球、...
source_epsg = 4326 # 源EPSG代码,例如WGS84 target_epsg = 3857 # 目标EPSG代码,例如Web Mercator source_srs = osr.SpatialReference() source_srs.ImportFromEPSG(source_epsg) target_srs = osr....
- **球形墨卡托投影**:许多在线地图服务(如Google Maps)使用球形墨卡托投影(EPSG:900913),这是因为这种投影方式适合全球范围的地图显示。然而,在局部区域放大时,可能会出现一定的失真。 - **多源数据融合**...
var transformedProjection = ee.Projection('EPSG:4326').transform([100, 0, 0, 0, -100, 0]); print(transformedProjection); ``` ##### 3.3 调整投影的平移 (Adjusting Translation) **方法:** ```...
这里可以进行投影转换然后在这里面勾选选择一下切片方案,即切片多少级,一般选择min到maxGridset可以这样新建一个,EPSG:900913其实就是3857投影,EPSG:900913与EPSG:3857等效的。 5. 获取服务地址,这个比较坑...
注意,切割的文件必须是GeoTiff格式,包含经纬度和投影坐标,且可添加坐标系转换参数,如 `-s_srs EPSG:4326`。 **二、部署在GeoServer上** 1. **安装GeoServer** 安装GeoServer,并将金字塔插件(gt-image...
var coordinates3857 = ol.proj.transform(coordinates4326, 'EPSG:4326', 'EPSG:3857'); ``` 反之,将3857坐标转换为4326: ```javascript var coordinates3857 = ...; // 3857 坐标 var coordinates4326 = ...
与同类软件相比,本软件支持多平台,图形数据采集、编辑更简洁,更符合常规操作习惯。 欢迎关注EZSurveyQQ群:523636554 EZSurvey_1_Alpha目前为测试版。请大家测试并反馈测试问题和建议,谢谢! 欢迎加入群:...