Must-read for Java developers: How to obtain administrative district boundary data for Administrative Division query on AutoNavi Map
In the development of geographic information systems (GIS), obtaining administrative division data is a common requirement. When using Amap as a geographical information data source, we can obtain the boundary data of specific administrative regions through the administrative division query interface of Amap. This article will introduce to Java developers how to use the administrative division query interface of Amap to obtain administrative district boundary data.
Before we start, we need to apply for an AutoNavi developer account and obtain an API Key. For how to obtain the API Key, please refer to the tutorials in the official Amap documentation.
1. Introduction of Amap Java SDK
First, we need to introduce the Java SDK of Amap. Add the following dependencies in the pom.xml
file of the Java project:
<dependency> <groupId>com.amap.api</groupId> <artifactId>amap-java-sdk</artifactId> <version>1.4.13</version> </dependency>
2. Obtain administrative district boundary data
Next, we call the administrative division of Amap Query interface to obtain data on administrative district boundaries. The following is a sample code method:
import com.amap.api.district.AMapDistrictSearch; import com.amap.api.district.DistrictResult; import com.amap.api.district.query.DistrictSearchQuery; import com.amap.api.district.query.DistrictSearchQueryExtensions; public class DistrictBoundaryUtil { public static String getBoundary(String adcode) { AMapDistrictSearch districtSearch = new AMapDistrictSearch(); DistrictSearchQuery query = new DistrictSearchQuery(); query.setKeywords(adcode); // 设置查询关键字为行政区的adcode query.setExtensions(DistrictSearchQueryExtensions.BASE); // 查询行政区边界数据 districtSearch.setQuery(query); DistrictResult districtResult = districtSearch.searchDistrict(); if (districtResult != null && districtResult.getDistrict() != null) { return districtResult.getDistrict().get(0).getPolyline(); // 返回行政区的边界数据 } else { return null; } } }
In the above sample code, we first create a AMapDistrictSearch
object, then create a DistrictSearchQuery
object, and set the query The conditions include the adcode
of the administrative area and the extension items to be queried. Here we have selected the basic administrative area boundary data. Then set the query conditions to the AMapDistrictSearch
object and call the searchDistrict
method to query. The query result will return a DistrictResult
object. We can obtain the boundary data of the administrative district by calling the getPolyline
method.
3. Usage Example
Now, we can use the DistrictBoundaryUtil
class to obtain the boundary data of the administrative district. The following is a sample code:
public class Main { public static void main(String[] args) { String adcode = "110101"; // 北京市东城区的adcode String boundary = DistrictBoundaryUtil.getBoundary(adcode); if (boundary != null) { System.out.println(boundary); } else { System.out.println("获取行政区边界数据失败"); } } }
In the above sample code, we obtain the administrative district boundary data of Dongcheng District, Beijing by calling the getBoundary
method of the DistrictBoundaryUtil
class, and print to the console.
Summary:
Through the above steps, we can easily use the administrative division query interface of Amap to obtain the data of administrative district boundaries. In practical applications, by obtaining data on administrative district boundaries, we can perform operations such as geographical location boundary judgment and regional analysis. I hope this article will be helpful to Java developers when using the administrative division query interface of Amap.
The above is the detailed content of A must-read for Java developers: How to obtain administrative district boundary data for administrative division query on Amap. For more information, please follow other related articles on the PHP Chinese website!