image thumbnail

interpshapefile

version 1.1.0.1 (119 KB) by Kelly Kearney
Determine value at a given location or locations based on data in an ESRI shapefile

2.3K Downloads

Updated23 Sep 2021

From GitHub

View license on GitHub

interpshapefile。m文档

Author: Kelly KearneyView interpshapefile on File Exchange

This repository includes the code for theexample.mMatlab 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 fromGithubor theMatlabCentral 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一个ddpath,pathtool, etc.):

interpshapefile-pkg/interpshapefile

Syntax

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

Description

value = interpshapefile(S, lat, lon, attribute)determines thevaluecorresponding to location(s) with latitudelat一个nd longitudelonbased on the一个ttributefield associated with polygons in the geographic data structureS(as returned by a call toshaperead). At minimum,Smust include fields of 'Lat', 'Lon', and the specified attribute, and contain one or more elements with 'Polygon' Geometry. The returnedvaluewill 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('芋螺');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 onlylon=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一个n issueon GitHub and include:

  • your operating system
  • your version of Matlab and all relevant toolboxes (typever一个t 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

Cite As

Kelly Kearney (2022).interpshapefile(https://github.com/kakearney/interpshapefile-pkg), GitHub. Retrieved.

MATLAB Release Compatibility
Created with R14SP3
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired:geotiffinterp

Community Treasure Hunt

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

Start Hunting!

inpolygons

interpshapefile

问题在这个视图或报告GitHub插件,visit theGitHub Repository.
问题在这个视图或报告GitHub插件,visit theGitHub Repository.