Last active
April 8, 2017 09:33
-
-
Save 1d10t/02ebbfebb3a8e45065601ec63a232474 to your computer and use it in GitHub Desktop.
list cadastre ids in region
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function getXmlHttp(){ | |
var xmlhttp; | |
try { | |
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); | |
} catch (e) { | |
try { | |
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); | |
} catch (E) { | |
xmlhttp = false; | |
} | |
} | |
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { | |
xmlhttp = new XMLHttpRequest(); | |
} | |
return xmlhttp; | |
} | |
function getPkkList(url){ | |
var xmlhttp = getXmlHttp(); | |
xmlhttp.open('GET', url, false); | |
xmlhttp.send(null); | |
if(xmlhttp.status == 200) { | |
var data = JSON.parse(xmlhttp.responseText); | |
if(!data || !data.status || data.status != 200){ | |
console.log('FAIL DATA', url, data); | |
return; | |
} | |
if(url.indexOf('&skip=0') > -1){ | |
genListUrls(url, data.total); | |
} | |
var is_reg_url = /\?text=\d+:\d+:\*/.test(url); | |
return data.features.map(function(f){ | |
if(f.center && !id_cn[ f.attrs.id ]){ | |
id_cn[ f.attrs.id ] = f.attrs.cn; | |
console.log('good feature', f.attrs.id); | |
}else{ | |
bad_id_cn[ f.attrs.id ] = f.attrs.cn; | |
console.log('bad feature', f.attrs.id); | |
} | |
if(is_reg_url){ | |
var kv_list_url = url.replace( | |
/\?text=\d+:\d+:\*/, | |
'?text=' + f.attrs.id.replace(/\d+$/, '*') | |
).replace(/&skip=\d+/, '&skip=0'); | |
if(list_urls.indexOf(kv_list_url) < 0) list_urls.push(kv_list_url); | |
} | |
return f; | |
}); | |
} | |
console.log('FAIL XHR', url, xmlhttp); | |
} | |
function genListUrls(start_url, total){ | |
for(var limit=10, skip=limit, max_skip=Math.min(total,10000); skip<max_skip; skip+=limit){ | |
var url = start_url.replace('&skip=0','&skip='+skip); | |
if(list_urls.indexOf(url) < 0) list_urls.push(url); | |
} | |
} | |
var | |
list_urls = [ | |
'http://pkk5.rosreestr.ru/api/features/1?text=50:31:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:25:*&limit=10&skip=0' | |
/* | |
// московская область | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:0:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:1:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:2:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:3:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:4:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:5:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:6:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:7:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:8:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:9:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:10:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:11:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:12:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:13:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:14:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:15:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:16:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:17:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:18:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:19:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:20:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:21:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:22:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:23:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:24:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:25:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:26:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:27:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:28:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:29:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:30:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:31:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:32:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:33:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:34:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:35:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:36:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:37:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:38:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:39:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:40:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:41:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:42:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:43:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:44:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:45:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:46:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:47:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:48:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:49:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:50:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:51:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:52:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:53:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:54:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:55:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:56:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:57:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:58:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:59:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:60:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:61:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:62:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:63:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:64:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=50:65:*&limit=10&skip=0' | |
*/ | |
/* | |
// москва | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:0:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:1:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:2:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:3:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:4:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:5:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:6:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:7:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:8:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:9:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:10:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:11:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:12:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:13:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:14:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:15:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:16:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:17:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:18:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:19:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:20:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:21:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=77:22:*&limit=10&skip=0' | |
*/ | |
/* | |
// побережье черного моря | |
,'http://pkk5.rosreestr.ru/api/features/1?text=61:26:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=61:58:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=61:1:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:36:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:8:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:42:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:11:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:25:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:27:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:30:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:37:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:47:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:40:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:33:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:51:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=23:49:*&limit=10&skip=0' | |
*/ | |
/* | |
// крым | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:7:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:19:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:24:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:23:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:15:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:25:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:1:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:2:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:3:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:4:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:12:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:11:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:21:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:18:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:14:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:10:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:6:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:20:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:16:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:8:*&limit=10&skip=0' | |
,'http://pkk5.rosreestr.ru/api/features/1?text=90:13:*&limit=10&skip=0' | |
*/ | |
], | |
id_cn = {}, | |
bad_id_cn = {} | |
; | |
var list_urls_cursor = 0, list_urls_skip_iterations = 0; | |
var list_urls_interval = setInterval(function(){ | |
if(list_urls_skip_iterations){ list_urls_skip_iterations--; return; } | |
if(!list_urls[list_urls_cursor]){ | |
clearInterval(list_urls_interval); | |
console.log('eof list'); | |
//console.log('id_cn =',JSON.stringify(Object.keys(id_cn))); | |
//console.log('bad_id_cn =',JSON.stringify(Object.keys(bad_id_cn))); | |
window.open().document.write(JSON.stringify({good:Object.keys(id_cn),bad:Object.keys(bad_id_cn)})); | |
return; | |
} | |
var url = list_urls[ list_urls_cursor ]; | |
var features = getPkkList(url); | |
if(features) list_urls_cursor++; | |
else list_urls_skip_iterations = 150; | |
}, 1000); | |
// save state | |
// window.open().document.write('list_urls_cursor =',JSON.stringify(list_urls_cursor),'; list_urls =',JSON.stringify(list_urls),'; id_cn =',JSON.stringify(id_cn),'; bad_id_cn =',JSON.stringify(bad_id_cn)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment