Я столкнулся с аналогичной проблемой и наткнулся на это обсуждение списка matplotlib .
В принципе, можно отбросить прорисовку и вызвать основные функции напрямую, а не супер удобный, но возможно. Решение также не является точным пикселем, так как в базовом коде есть, вероятно, некоторая интерполяция.
import matplotlib.pyplot as plt
import matplotlib._cntr as cntr
import scipy as sp
data = sp.zeros((6,6))
data[2:4,2:4] = 1
plt.imshow(data,interpolation='none')
level=0.5
X,Y = sp.meshgrid(sp.arange(data.shape[0]),sp.arange(data.shape[1]))
c = cntr.Cntr(X, Y, data.T)
nlist = c.trace(level, level, 0)
segs = nlist[:len(nlist)//2]
for seg in segs:
plt.plot(seg[:,0],seg[:,1],color='white')
plt.show()
Принятие Вас хочет сделать это самих и не положиться на других поставщиков, , IP2Nation обеспечивает базу данных MySQL отображений, которые обновляются, поскольку региональные реестры меняют вещи.
<забастовка> я сделаю тот же ответ, который я сделал здесь как сервис, доступна для PHP также:
мне нравится свободное Город GeoLite от Maxmind, который работает на большинство приложений и от которого можно обновить до версии оплаты, если это не достаточно точно. Существует PHP API, включенный, а также для других языков. И если Вы выполняете Lighttpd как веб-сервер, можно даже использовать модуль для получения информации в Серверной переменной для каждого посетителя, если это - то, в чем Вы нуждаетесь.
я должен добавить, что существует также свободное Геооблегченная Страна (который был бы быстрее, если Вы не должны точно определять город, IP от), и Геооблегченный ASN (если Вы хотите знать, кто владеет IP), и что наконец все, они загружаемы на Вашем собственном сервере, обновляются каждый месяц и довольно быстры к поиску с обеспеченными API, поскольку они заявляют "тысячи поисков в секунду".
Посмотрите на API от hostip.info - это предоставляет большую информацию.
Пример в PHP:
$data = file_get_contents("http://api.hostip.info/country.php?ip=12.215.42.19");
//$data contains: "US"
$data = file_get_contents("http://api.hostip.info/?ip=12.215.42.19");
//$data contains: XML with country, lat, long, city, etc...
при доверии hostip.info это, кажется, очень полезный API.
Необходимо использовать внешний сервис... такой как http://www.hostip.info/ при гуглении поиска "геоIP", можно получить больше результатов.
API IP хоста является HTTP, базирующийся, таким образом, можно использовать его или в PHP или в JavaScript в зависимости от потребностей.