How to find points inside a country border
5 次查看(过去 30 天)
显示 更早的评论
Hi everyone, I have a 2 dimension matrix containing lat, lon of multiple points. I would like to ask whether there is any way in Matlab to define which points are inside the border of a specified country. Any suggestion would be greatly appreciated!
0 个评论
采纳的回答
Akira Agata
2019-1-15
How abou the following?
(In this script, I have used shape file provided in http://thematicmapping.org/downloads/world_borders.php)
% Load shape file of country border
S = shaperead('TM_WORLD_BORDERS_SIMPL-0.3.shp');
S = struct2table(S);
% Target lat and lon (e.g Tokyo)
lat = 35.7;
lon = 139.7;
% Find which country contains (lat,lon)
idx = cellfun(@(X,Y) inpolygon(lon,lat,X,Y),S.X, S.Y);
% Show the result
disp(S.NAME(idx))
>> disp(S.NAME(idx))
'Japan'
3 个评论
FRANCO CERVERA
2022-7-5
Hello,
I am trying to select coordinates points from a specified countries and your script would help me very much but i have problems by running it. Could you please help me to understand what to do with this error message from the script above ?
thank you !
Error using tabular/dotParenReference
Unrecognized table variable name 'NAME'.
Error in test_shapefile (line 12)
disp(S.NAME(idx))
Adam
2024-2-27
Thank you @Akira Agata! Your code above works beautifly. However, when I tried the coordinates for a coastal city, the display returned no results. Upon closer inspection, I found the polygons contained in your shapefile were too coarse. I updated to the World Bank Official Boundaries shapefile (download), updated the table header from "NAME" to "FORMAL_EN" and everything is working well.
更多回答(2 个)
FRANCO CERVERA
2022-7-5
Hello,
I am trying to select coordinates points from a specified countries and your script would help me very much but i have problems by running it. Could you please help me to understand what to do with this error message from the script above ?
thank you !
Error using tabular/dotParenReference
Unrecognized table variable name 'NAME'.
Error in test_shapefile (line 12)
disp(S.NAME(idx))
1 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Coastal Engineering 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!