interpshapefile

版本 1.1.0.1 (119.0 KB) 作者: Kelly Kearney
Determine value at a given location or locations based on data in an ESRI shapefile
2.4K 次下载
更新时间 2021/9/23

interpshapefile.m documentation

Author: Kelly Kearney View interpshapefile on File Exchange

This repository includes the code for the example.m Matlab function, along with all dependent functions required to run it.

Paragraph description for this function or suite of functions.

Contents

  • Getting started
  • Syntax
  • Description
  • Examples
  • Contributions

Getting started

Prerequisites

This function requires Matlab R14 or later.

Downloading and installation

This code can be downloaded from Github or the MatlabCentral File Exchange. The File Exchange entry is updated daily from the GitHub repository.

Matlab Search Path

The following folders need to be added to your Matlab Search path (via addpath, pathtool, etc.):

interpshapefile-pkg/interpshapefile

Syntax

value = interpshapefile(S, lat, lon, attribute)

Description

value = interpshapefile(S, lat, lon, attribute) determines the value corresponding to location(s) with latitude lat and longitude lon based on the attribute field associated with polygons in the geographic data structure S (as returned by a call to shaperead). At minimum, S must include fields of 'Lat', 'Lon', and the specified attribute, and contain one or more elements with 'Polygon' Geometry. The returned value will either be a numeric or cell array, depending on the class of the attribute field; points outside of the polygons will receive a NaN or empty array as applicable.

Examples

We'll use the usastatlo.shp shapefile for our example; this file is included with the Mapping Toolbox:

States = shaperead('usastatelo', 'UseGeoCoords', true);

usamap('conus');
geoshow('usastatelo.shp', 'facecolor', ones(1,3)*0.8, ...
        'edgecolor', ones(1,3)*0.7);

Scatter some random points.

latlim = getm(gca, 'maplatlimit');
lonlim = getm(gca, 'maplonlimit');

rng(1); % for reproducability only
lon = rand(40,1) * diff(lonlim) + lonlim(1);
lat = rand(40,1) * diff(latlim) + latlim(1);

plotm(lat, lon, 'b.');

Determine which state each point is in.

sname = interpshapefile(States, lat, lon, 'Name');
textm(lat, lon, sname, 'fontsize', 8);

Contributions

Community contributions to this package are welcome!

To report bugs, please submit an issue on GitHub and include:

  • your operating system
  • your version of Matlab and all relevant toolboxes (type ver at the Matlab command line to get this info)
  • code/data to reproduce the error or buggy behavior, and the full text of any error messages received

Please also feel free to submit enhancement requests, or to send pull requests (via GitHub) for bug fixes or new features.

I do monitor the MatlabCentral FileExchange entry for any issues raised in the comments, but would prefer to track issues on GitHub.

Published with MATLAB R2019a

引用格式

Kelly Kearney (2024). interpshapefile (https://github.com/kakearney/interpshapefile-pkg), GitHub. 检索来源 .

MATLAB 版本兼容性
创建方式 R14SP3
兼容任何版本
平台兼容性
Windows macOS Linux
致谢

启发作品: geotiffinterp

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

inpolygons

interpshapefile

无法下载基于 GitHub 默认分支的版本

版本 已发布 发行说明
1.1.0.1

linked GitHub readme

1.1.0.0

Linked to GitHub repository

1.0.0.0

要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库