给SHP文件定义投影

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import urllib.request
import os

def get_epsg_code(epsg):
"""
Get the ESRI formatted .prj definition
usage get_epsg_code(4326)

We use the http://spatialreference.org/ref/epsg/4326/esriwkt/
"""

f=urllib.request.urlopen("http://spatialreference.org/ref/epsg/{0}/esriwkt/".format(epsg))
return (f.read())

# Shapefile filename must equal the new .prj filename
shp_filename = "UTM_Zone_Boundaries"

# path to where Shapefile with no .prj is located
os.chdir("../geodata/")

# Here we write out a new .prj file with the same name
# as our Shapefile named "schools" in this example

with open("%s.prj" % shp_filename, "wb") as prj:
epsg_code = get_epsg_code(4326)
print(epsg_code)
prj.write(epsg_code)
print("done writing projection definition " + prj.name + "to EPSG:" + str(epsg_code))

# now change abck to our code directory
os.chdir("../code/")

时间: 2024-07-31 14:30:28

给SHP文件定义投影的相关文章

读取SHP的投影信息

from osgeo import ogrshp_driver = ogr.GetDriverByName('ESRI Shapefile')shp_dataset = shp_driver.Open(r'../geodata/schools.shp')shp_layer = shp_dataset.GetLayer()shp_srs = shp_layer.GetSpatialRef()print(shp_srs)

如何在AutoCAD中将卫星底图变为有坐标参考信息的

这篇博文首先没有图,主要是博主太懒了,不想再截图,我把过程说清楚也可以的.特此说明. (1)将下载好的瓦片拼接好大的地图 (2)将其导入到ArcGIS中,定义其地理坐标,如WGS84:然后将其其投影为投影坐标,如WGS1984_3Degree_GK_CM_120E. (3)用绘图软件,将在影像上绘制出参考的边框(如为矩形),这种绘制是直接以像素的形式绘制在遥感底图上的,和底图是一体的,绘制的线条为修改底图的RGB值的方式. (4)用ArcMAP将该边框矩形描成多边形表示的SHP数据.并将该SHP

ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100)

原文:ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100) 对于非地理专业的开发人员,对与这些生涩的概念,我们不一定都要了解,但是我们要理解,凡是以经纬度为单位的都是地理坐标系,因为它归根结底是一个椭球体,只不过各个国家为了反映该国家所在区域地球的真实形状,而采用不同的数学模型对本不是椭球体的地球进行椭球体化.而投影坐标系,是对地理坐标系按照某种方式投影到平面上的,所以可以认为它是一个平面坐标系,单位自然是米或千米. 我们在做开发的时候,尤其

GDAL1.11版本对SHP文件索引加速测试

GDAL库中对于矢量数据的读取中可以设置一些过滤器来对矢量图形进行筛选,对于Shapefile格式来说,如果数据量太大,设置这个过滤器时间慢的简直无法忍受.好在GDAL1.10版本开始支持读取Shapefile文件的空间索引文件(.sbn / .sbx)来进行加速.下面就同样的数据同样的代码来对GDAL1.9.0和GDAL1.11.0两个版本进行测试时间,比较下速度(看到结果你肯定会张大嘴巴的--). 首先是测试代码,功能很简单,两个shp文件,一个点文件,一个面文件.面文件很大,需要根据点文件

MeteoInfoLab脚本示例:MODIS Sinusoidal投影HDF数据

MODIS卫星很多陆面数据都是Sinusoidal投影,数据被分为一个个10*10度(赤道地区)的瓦片(http://modis-land.gsfc.nasa.gov/MODLAND_grid.html),数据格式通常是HDF-EOS格式,作为EOS格式MeteoInfo可以自动读出数据的坐标信息(包括投影等). 脚本程序: f = addfile('D:/Temp/Hdf/MOD10A1.A2010365.h27v05.005.2011002103013.hdf') vname = 'snow

C#中GDAL读写shp图层

采用GDAL17的C#库进行shp图层属性表读取和修改操作,C#DLL库解压后包含文件如下: 添加引用主要是带csharp的gdal.ogr.osr三个DLL,程序代码如下: using OSGeo.OGR; using OSGeo.OSR; using OSGeo.GDAL; 1.    读取shp图层操作 public void Reforming(string shpFilePath) { Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8",

-05 08:57 ARCGIS地统计学计算文件后缀名为.shp文件制作

2011-07-05 08:57 ARCGIS地统计学计算文件后缀名为.shp文件制作 ARCAMP软件要进行地统计计算的文件后格式后缀名必须为.shp的文件,网上介绍的方法复杂难懂,那么制作.shp的文件怎么制作呢? 1.打开ArcMAP软件,点菜单栏“工具”下拉菜单中的“添加XY数据”,出现“添加XY数据”对话框,添加电子表格数据 “.dbf3”格式文件(参考“用ArcGIS9.3中标出地图中GPS点方法”第3点),点确定,GPS采集点出来了. 2.右单击图层栏刚才“添加XY数据”进来的文件

简析服务端通过GT导入SHP至PG的方法

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在浏览器端直接上传SHP后服务端进行数据的自动入PG库以及发布至geoserver.本方法是以geotools为开发工具实现入库,以geoserver manager来实现服务的自动发布.这里着重描述geotools编写SHP入库的方法. 2.Geotools介绍 2.1总体介绍 Geotools是Java语言编写的开源GIS工具包,其功能涵盖了地理

MeteoInfoLab脚本示例:AMSR-E卫星数据投影

AMSR-E(http://nsidc.org/data/amsre/index.html)数据中的Land3数据是HDF-EOS4格式,投影是Cylindrical_Equal_Area.这里示例读取数据并投影至等经纬度投影. 脚本程序: #Add data file fn = 'AMSR_E_L3_DailyLand_V06_20091231.hdf' f = addfile(os.path.join('D:/Temp/hdf', fn)) #vname = 'D_Soil_Moisture