supermap iobjects java 地理編碼實現(二)

1,實現思路:

此方法沒有建立索引,只能指定一個字段進行查詢,不能同時匹配多個字段。

2,實現代碼:

        Workspace workspace = new Workspace();
        // 定義數據源連接信息,假設以下所有數據源設置都存在
        DatasourceConnectionInfo datasourceconnection = new
                DatasourceConnectionInfo("D:/dic-data/hp.udb", "hp", "");
        Datasource datasource = workspace.getDatasources().open(datasourceconnection);
        DatasetVector dataset = (DatasetVector) datasource.getDatasets().get(0);

        AddressMatchSetting addressMatchSetting = new AddressMatchSetting();
        addressMatchSetting.addSearchData(dataset, "name");

        addressMatchSetting.setDictionaryFile("D:/dic-data/addressMatchDictionary.dct");

        AddressMatch addressMatch = new AddressMatch();
        addressMatch.setSetting(addressMatchSetting);
        addressMatch.load();

        AddressMatchParameter addressMatchParameter = new AddressMatchParameter();
        addressMatchParameter.setResultCount(10);
        addressMatchParameter.setSearchAddress("小張食品店");
        addressMatchParameter.setLocationReturn(true);

        AddressMatchResults addressMatchResults = addressMatch.match(addressMatchParameter);

        int count = addressMatchResults.getCount();
        System.out.println("總共:" + count);

        for(int i = 0; i < count; i++){
            System.out.println(addressMatchResults.get(i).getLocation());
            System.out.println(addressMatchResults.get(i).getAddress());
            System.out.println(addressMatchResults.get(i).getScore());
            if(i == 0)
                break;
        }

返回結果:

總共:10
{X=121.488500174773,Y=31.2112327037134}
小張食品店
100.0

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章